Exokernel: an operating system architecture for application-level resource management
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Extensibility safety and performance in the SPIN operating system
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
Making paths explicit in the Scout operating system
OSDI '96 Proceedings of the second USENIX symposium on Operating systems design and implementation
The Flux OSKit: a substrate for kernel and language research
Proceedings of the sixteenth ACM symposium on Operating systems principles
Application performance and flexibility on exokernel systems
Proceedings of the sixteenth ACM symposium on Operating systems principles
Self-paging in the Nemesis operating system
OSDI '99 Proceedings of the third symposium on Operating systems design and implementation
CCured: type-safe retrofitting of legacy code
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
CIL: Intermediate Language and Tools for Analysis and Transformation of C Programs
CC '02 Proceedings of the 11th International Conference on Compiler Construction
Xen and the art of virtualization
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
On the effectiveness of address-space randomization
Proceedings of the 11th ACM conference on Computer and communications security
A principled approach to operating system construction in Haskell
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Formal certification of a compiler back-end or: programming a compiler with a proof assistant
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Singularity: rethinking the software stack
ACM SIGOPS Operating Systems Review - Systems work at Microsoft Research
Facilitating the development of soft devices
ATEC '05 Proceedings of the annual conference on USENIX Annual Technical Conference
MapReduce: simplified data processing on large clusters
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
Preventing privilege escalation
SSYM'03 Proceedings of the 12th conference on USENIX Security Symposium - Volume 12
Libra: a library operating system for a jvm in a virtualized execution environment
Proceedings of the 3rd international conference on Virtual execution environments
UBC: an efficient unified I/O and memory caching subsystem for NetBSD
ATEC '00 Proceedings of the annual conference on USENIX Annual Technical Conference
Dryad: distributed data-parallel programs from sequential building blocks
Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007
Melange: creating a "functional" internet
Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007
Sealing OS processes to improve dependability and safety
Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007
Cryptol: specification, implementation and verification of high-grade cryptographic applications
Proceedings of the 2007 ACM workshop on Formal methods in security engineering
Improving Xen security through disaggregation
Proceedings of the fourth ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
NOX: towards an operating system for networks
ACM SIGCOMM Computer Communication Review
Lwt: a cooperative thread library
Proceedings of the 2008 ACM SIGPLAN workshop on ML
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
The multikernel: a new OS architecture for scalable multicore systems
Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles
seL4: formal verification of an OS kernel
Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles
Observational equivalence and program extraction in the Coq proof assistant
TLCA'03 Proceedings of the 6th international conference on Typed lambda calculi and applications
Turning down the LAMP: software specialisation for the cloud
HotCloud'10 Proceedings of the 2nd USENIX conference on Hot topics in cloud computing
Using functional programming within an industrial product group: perspectives and perceptions
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Build your own cloud with Eucalyptus
Linux Journal
Rethinking the library OS from the top down
Proceedings of the sixteenth international conference on Architectural support for programming languages and operating systems
Nixos: A purely functional linux distribution
Journal of Functional Programming
Breaking up is hard to do: security and functionality in a commodity hypervisor
SOSP '11 Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles
Formal network packet processing with minimal fuss: invertible syntax descriptions at work
PLPV '12 Proceedings of the sixth workshop on Programming languages meets program verification
OFLOPS: an open framework for openflow switch evaluation
PAM'12 Proceedings of the 13th international conference on Passive and Active Measurement
The design and implementation of an operating system to support distributed multimedia applications
IEEE Journal on Selected Areas in Communications
The most dangerous code in the world: validating SSL certificates in non-browser software
Proceedings of the 2012 ACM conference on Computer and communications security
Machine-verified network controllers
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
Enabling fast, dynamic network processing with clickOS
Proceedings of the second ACM SIGCOMM workshop on Hot topics in software defined networking
The nonkernel: a kernel designed for the cloud
Proceedings of the 4th Asia-Pacific Workshop on Systems
Network stack specialization for performance
Proceedings of the Twelfth ACM Workshop on Hot Topics in Networks
Trevi: watering down storage hotspots with cool fountain codes
Proceedings of the Twelfth ACM Workshop on Hot Topics in Networks
EsseOS: Haskell-based tailored services for the cloud
Proceedings of the 12th International Workshop on Adaptive and Reflective Middleware
Unikernels: the rise of the virtual library operating system
Communications of the ACM
K2: a mobile operating system for heterogeneous coherence domains
Proceedings of the 19th international conference on Architectural support for programming languages and operating systems
Unikernels: Rise of the Virtual Library Operating System
Queue - Distributed Computing
ClickOS and the art of network function virtualization
NSDI'14 Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation
Hi-index | 0.02 |
We present unikernels, a new approach to deploying cloud services via applications written in high-level source code. Unikernels are single-purpose appliances that are compile-time specialised into standalone kernels, and sealed against modification when deployed to a cloud platform. In return they offer significant reduction in image sizes, improved efficiency and security, and should reduce operational costs. Our Mirage prototype compiles OCaml code into unikernels that run on commodity clouds and offer an order of magnitude reduction in code size without significant performance penalty. The architecture combines static type-safety with a single address-space layout that can be made immutable via a hypervisor extension. Mirage contributes a suite of type-safe protocol libraries, and our results demonstrate that the hypervisor is a platform that overcomes the hardware compatibility issues that have made past library operating systems impractical to deploy in the real-world.