L4 – Virtualization and Beyond

L4 – Virtualization and Beyond

L4 – Virtualization and Beyond Hermann Härtig!," Michael Roitzsch! Adam Lackorzynski" Björn Döbel" Alexander Böttcher! #!Department of Computer Science# "GWT-TUD GmbH # Technische Universität Dresden# 01187 Dresden, Germany # 01062 Dresden, Germany {haertig,mroi,adam,doebel,boettcher}@os.inf.tu-dresden.de Abstract Mac OS X environment, using full hardware After being introduced by IBM in the 1960s, acceleration by the GPU. Virtual machines are virtualization has experienced a renaissance in used to test potentially malicious software recent years. It has become a major industry trend without risking the host environment and they in the server context and is also popular on help developers in debugging crashes with back- consumer desktops. In addition to the well-known in-time execution. benefits of server consolidation and legacy In the server world, virtual machines are used to preservation, virtualization is now considered in consolidate multiple services previously located embedded systems. In this paper, we want to look on dedicated machines. Running them within beyond the term to evaluate advantages and virtual machines on one physical server eases downsides of various virtualization approaches. management and helps saving power by We show how virtualization can be increasing utilization. In server farms, migration complemented or even superseded by modern of virtual machines between servers is used to operating system paradigms. Using L4 as the balance load with the potential of shutting down basis for virtualization and as an advanced completely unloaded servers or adding more to microkernel provides a best-of-both-worlds increase capacity. Lastly, virtual machines also combination. Microkernels can contribute proven isolate different customers who can purchase real-time capabilities and small trusted computing virtual shares of a physical server in a data center. bases for security-sensitive applications. We We will revisit those use cases in Section 2, discuss L4Linux and Symbian on L4 as discussing their relationship to virtualization virtualization examples and present several case technology in more detail. They demonstrate that studies where microkernels provide added value. virtualization is a systems technology that is now 1. Introduction widely adopted and has become a major industry force. Once a research topic, virtualization is a Another interesting systems technology that has technology now easily available to end users. not yet gained so much public attention is Thanks to industry efforts in product microkernels. Kernels of today's desktop development, users can run Windows applications operating systems are typically monolithic. on their Linux desktop with seamlessly integrated Operating system services ranging from file window management. Others play DirectX-based systems to networking and from user Windows games within the OpenGL-based management to paging are running in the CPU privileged mode. This includes device drivers, resources. The differentiation now stems from the which are a major source of operating system various levels of abstraction and the resource bugs. The monolithic design makes it hard to being abstracted. assure global system properties like real-time The well-known term of a virtual machine (VM) capability, security policies or robustness describes a self-contained execution environment properties, because every component of the large implemented by software rather than physical code base running in privileged mode can circuitry. Other resources like networks or file interfere with these properties. Microkernels offer systems can be virtualized with the VPN or VPFS a way out of this dilemma by minimizing the [27] technologies. Traversing the abstraction code running in privileged mode and providing levels, we can single out different virtualization mechanisms for a well-structured user land flavors also subsumed under the common name. particularly suited to the task at hand. Consequently, microkernels have been used 2.1 Flavors successfully to implement security-sensitive and To discuss advantages and shortcomings of the real-time systems. First generation microkernels virtualization variants, we need criteria to judge were considered slow, but with the L4 family of them. The most common qualitative benchmark is microkernels, this drawback has been overcome. provided by Popek and Goldberg's classical However, with the Hurd [7] still unfinished, requirements for virtualization [22], which we microkernels miss a widely adopted native briefly summarize in the following: execution environment for general purpose applications. This lack can be mitigated by Efficiency requires the majority of operations to virtualization. Section 3 gives some background be performed on actual resources rather than on microkernels, including a historical overview being intercepted by the virtualization layer. and their scientific achievements. Resource Control requires the virtualization In Section 4, we will explore, how microkernel layer to be in complete control of the virtualized and virtualization technologies can be combined resources. There should be no uncontrolled way for mutual benefit. Virtualization can provide the to bypass the virtualization. required application support on top of a Equivalence requires the program running on microkernel system, while the microkernel can virtual resources to exhibit behavior identical to contribute its unique system design, enabling the running on actual resources. This only includes construction of platforms with properties beyond temporal behavior to the degree demanded by today's systems. efficiency. Section 5 concludes the paper and provides an Language Runtime Virtualization outlook. Language runtimes provide an execution 2. Virtualization container including a virtual CPU and memory and also allows access to the file system and other The term virtualization is being used inflationary peripherals. One of the most widely known such to describe various different technologies. In its virtual machines is the JVM, the Java Virtual most general meaning, virtualization stands for an Machine. The VM executes Java byte code which abstraction of resources that provides a logical is either interpreted or compiled just-in-time rather than an actual physical incarnation of those (JIT). This sandboxes the execution completely, resources. It typically involves a change in so the JVM can exercise full resource control, numbers and functionality, so actual resources are with JNI as a controlled way out of the sandbox. either multiplexed or aggregated to virtual However, no byte code instructions can be environment are still available, with no controlled executed directly on actual hardware, with the way for the virtualization layer to intercept them. uncommon exception of Java processors. This However, other than for language runtime VMs, gap between byte code and actual machine the virtualization is Goldberg-efficient, because instructions enables the portability of binary Java all computation is executed on the actual CPU. programs, but also violates Goldberg's efficiency Operating System Virtualization criterion. The syscall interface of an operating system Other runtime-level VMs include those of abstracts from the physical machine, so it can be scripting languages like Python, that ship with considered a virtualization level by itself. Some library frameworks and a tightly integrated class OSes multiplex their syscall API to implement hierarchy. A similar runtime-level VM technology compartments. These compartments allow that is decoupled from a specific development multiple, isolated instances of the user environment is LLVM [16]. This type of VM is environment for improved security of services or typically implemented as a user mode application machine partitioning. Two representatives in the with marginal impact on kernel design. A notable UNIX world are FreeBSD jails and OpenVZ for exception is Singularity [13]. We will however Linux. not pursue this type of virtualization any further in this paper. They are often limited to execution OS virtualization is efficient, because similar to of programs written in specific languages – the regular syscalls, most instructions run directly on JVM only executes Java programs – and do not the physical CPU. Only the instructions to enter enable generic legacy support. the kernel have side effects. Isolation between different compartments is guaranteed. This API and ABI Emulation technology is appealing because it satisfies all While only considered virtualization in a wider three of the Goldberg criteria. sense, it is clearly a related technology. Paravirtualization Implementations of one operating system personality on top of another is a prominent The virtualization layer performing example. This can be performed on an API level paravirtualization provides a machine interface, as in Cygwin, a UNIX personality for Windows. that is abstract, but very close to real hardware Because it requires recompilation of applications, and that can be implemented efficiently. this technique violates Goldberg's equivalence Paravirtualization is used to run entire operating requirement. This disadvantage can be mitigated systems with their respective user mode with ABI level emulation as in Wine, which applications inside virtual machines. As the implements a Windows personality on top of virtual platform is not identical to a physically UNIX. However, even ABI level emulation does existing one, the operating system has to be not

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    15 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us