OSv follows the library OS design, an OS construct pioneered
by exokernels in the 1990s [5]. In OSv’s case, the
hypervisor takes on the role of the exokernel, and VMs
the role of the applications: Each VM is a single application
with its own copy of the library OS (OSv). Library
OS design attempts to address performance and functionality
limitations in applications that are caused by traditional
OS abstractions. It moves resource management
to the application level, exports hardware directly to the
application via safe APIs, and reduces abstraction and
protection layers.