Unikernels: Difference between revisions
Rcpavlicek (talk | contribs) No edit summary |
Rcpavlicek (talk | contribs) |
||
Line 16: | Line 16: | ||
[[Category:Beginners]] |
[[Category:Beginners]] |
||
[[Category:Cloud]] |
[[Category:Cloud]] |
||
[[Category:Mirage]] |
|||
[[Category:OCaml]] |
[[Category:OCaml]] |
Revision as of 02:37, 29 May 2014
Xen Project has been at the forefront of the birth of Cloud Operating Systems: specialized lightweight operating systems which are only intended to be used within a Virtual Machine. These Cloud Operating Systems may become the core of a new form of cloud, where a single hypervisor instance can support hundreds or even thousands of VMs.
What is a Cloud Operating System?
Normally, a hypervisor loads a Virtual Machine with a fully functional operating system, like some flavor of Linux, Windows, or one of the BSDs. These operating systems were designed to be run on hardware, so they have all the complexity needed for a variety of hardware drivers from an assortment of vendors with different design concepts. These operating systems are also intended to be multi-user, multi-process, and multi-purpose. They are designed to be everything for everyone, so they are necessarily complex and large.
A Cloud Operating System, on the other hand, is single-purpose. It is not designed to run on hardware, and so lacks the bloat and complexity of drivers. It is not meant to be multi-user or multi-process, so it can focus on creating a single thread of code which runs one application, and one application only. It is not multi-purpose, as the target is to create a single payload that a particular instance will execute. Thanks to this single-minded design, the Cloud Operating System is small, lightweight, and quick.
Cloud Operating System List
The following Cloud Operating Systems are currently of interest to the Xen Project (though the list is not exhaustive):
- MirageOS, an official incubator effort of Xen Project, employs an OCaml-based kernel. See the Presentation.
- LING (formerly Erlang on Xen) creates an Erlang runtime environment. See the Presentation.
- HaLVM, the Haskell Lightweight Virtual Machine from Galois, allows you to run Haskell programs. See the Presentation.
- OSv from Cloudius Systems produces a Java environment. See the Presentation.