Pre-Virtualization: Soft Layering for Virtual Machines

Total Page:16

File Type:pdf, Size:1020Kb

Pre-Virtualization: Soft Layering for Virtual Machines Pre-virtualization: soft layering for virtual machines Joshua LeVasseur† Volkmar Uhlig§ Matthew Chapman‡¶ Peter Chubb‡¶ Ben Leslie‡¶ Gernot Heiser‡¶ †University of Karlsruhe, Germany §IBM T. J. Watson Research Center, NY ‡National ICT Australia ¶University of New South Wales, Australia Abstract 1 Introduction Para-virtualization ties a guest operating system and a Although many hypervisor implementers strive to build hypervisor together, which restricts the system architec- high-performance virtual machine (VM) environments, ture; e.g., when Linux uses the Xen API, Linux is un- the constraints for supporting commodity operating sys- able to run on alternative hypervisors such as VMware, tems are enormous and force costly optimizations (e.g., Linux itself, or a security kernel such as EROS. Further- VMware’s runtime binary translation). Many have pro- more, the lock-in obstructs evolution of its own para- posed to modify the operating system (OS) for co- virtualization interface — virtual machines provide the design with the hypervisor, i.e., para-virtualization [35], vital ability to run obsoleted operating systems along- to improve performance and correctness; the possibili- side new operating systems, but para-virtualization of- ties seem unlimited, but the cost has been the emergence ten lacks this feature, requiring all concurrent instances of many para-virtualization projects with incompatible to be the hypervisor’s supported version. Even general and unreconcilable architectures, yet overlapping main- purpose operating systems have weaker restrictions for tenance efforts for modifications to the guest OSes, and their applications. This lock-in discards the modularity customer lock-in. By using specialized interfaces rather of virtualization; modularity is an intrinsic feature of tra- than the neutral machine interface, para-virtualization ditional virtualization, helping to add layered enhance- discards the modularity of traditional virtual machines. ments to operating systems, especially when enhanced Modularity via the neutral machine interface is a key in- by people outside the operating system’s development gredient of virtualization’s benefits. It enables a guest OS community (e.g., Linux server consolidation provided by to run on hypervisors with substantially different archi- VMware). tectures, such as Xen [2] vs. Linux-as-hypervisor [10,19] Virtualization and its modularity solve many sys- vs. hardware-accelerated para-virtualization — most tems problems; combined with the performance of para- para-virtualization interfaces hard code assumptions that virtualization it becomes even more compelling. We prevent adaptation to these different scenarios. Modu- show how to achieve both together. We offer a set of de- larity permits runtime hypervisor upgrades (via check- sign principles, which we call soft layering, that govern pointing or migration [6, 31] of the guest OS); in con- the modifications made to the operating system. Addi- trast, XenoLinux 2.6.9 is tied to Xen 2.0.2, and is un- tionally, our approach is highly automated, thus reduc- able to even run on the newer Xen 3 series – high-level ing the implementation and maintenance burden of para- source code modifications lock-in a particular hypervi- virtualization, which is especially useful for enabling ob- sor, obstructing the vital capability of VMs to run ob- soleted operating systems. We demonstrate soft layer- soleted OSes alongside modern OSes. Modularity per- ing on x86 and Itanium: we can load a single Linux mits OS enhancements written outside the OS’s kernel binary on a variety of hypervisors (and thus substitute community to be added in layers [6], remaining inde- virtual machine environments and their enhancements), pendent of fast-paced changes of kernel internals, even while achieving essentially the same performance as if those features are unwelcome by the kernel developers para-virtualization with less effort. themselves (as most are); in contrast, the Linux kernel team can veto the ideas of the Xen team in the current merge of XenoLinux into the mainstream Linux source. Modularity supports proliferation of hypervisors; prolif- Technical report 2006-15, July 2006 1 Fakultat¨ fur¨ Informatik, Universitat¨ Karlsruhe (TH) eration is unavoidable if the proliferation of operating for example, the upper layer may have the impression systems is an indicator, whether for licensing reasons that a resource is infinite, when the opposite is the case; (proprietary [34] vs. open source [2]), or products from or the upper layer may have an algorithm that maps well competing vendors (e.g., VMware, Microsoft, and Paral- to a feature of the machine but which is hidden by the lels), or products that focus on different feature sets (e.g., abstractions of the lower layer. Virtual machines have a desktop [32] vs. server [2, 34, 35]). Modularity addition- problem with transparency, particularly since the guest ally supports stackable enhancements via recursive vir- OSes try to use the mechanisms of the hardware, but tual machine construction [8, 13, 17]. must instead use abstractions that result from the hyper- We show how to add modularity to para-virtualization, visor multiplexing the hardware mechanisms. Many vir- achieving high performance and many of the features tualization projects have addressed this issue by increas- of traditional virtualization. Our solution relies on con- ing the transparency between the guest OS and the virtual straining para-virtualization’s modifications according to machine, by modifying the guest OS to interact with the several principles, which we call soft layering. As orig- internals of the layers below. These modifications intro- inally proposed for layered network protocols [7], soft duce a dependency between the guest OS and its lower layering embraces co-design of neighboring software layer, often ruining the modularity of virtualization: the layers, but with some conditions: guest OS may no longer execute on raw hardware, within other virtual machine environments, or permit VM recur- 1. it must be possible to degrade to a neutral interface, sion (a layer to be inserted between the guest OS and the by ignoring the co-design enhancements (thus per- virtual machine below it). mitting execution on raw hardware and hypervisors that lack support for the soft layering); 1.2 Soft layering 2. the interface must flexibly adapt to the algo- rithms that competitors may provide (thus sup- It is the power of the platform’s primitive interface [12] porting arbitrary hypervisor interfaces without pre- that enables the rich solutions of traditional virtualiza- arrangement). tion, and its neutrality that enables uncoordinated devel- opment [6], and we focus on this interface in our solu- Additionally, we use tools to apply the soft layer to a tion. The solution is simple: mostly honor strict layering, guest kernel (with substantial automation) to easily sup- but move the hypervisor’s virtualization routines into the port obsoleted kernels. protection domain of the guest kernel, thus enabling low- cost virtualization (see Figure 1). This is similar to the 1.1 Strict layering technique used by VMware, but we additionally prepare the guest kernel to help achieve the performance of para- A traditional virtual machine enforces strict layering, in virtualization. the manner of Djikstra’s “THE” [9], with the hypervi- The soft describes the scope and type of modifications sor (lower) layer hiding resource multiplexing from the that we apply to the source code of the guest OS: the guest OS (upper) layer; the upper layer then focuses on modifications remain close to the original structure of its problems rather than those of the lower layers. This the guest OS (i.e., the guest kernel’s use of the privi- information hiding provides modularity: it permits the leged instructions and its internal design philosophies), upper layer to use simpler abstractions (in regards to the it uses the neutral platform interface as the default in- information hidden in the lower layer) via its pre-existing terface (i.e., the OS will execute directly on raw hard- use of the platform interface; and to remain independent ware while the enhancements require activation), and the of the lower-level’s implementation, which permits sub- OS includes annotations that help the hypervisor opti- stitution of a new lower layer without disturbing the up- mize performance. Soft layering forbids changes to the per layer. The virtual machine must provide the strict guest OS that would interfere with correct execution on layering because its guest operating systems are oblivi- the neutral platform interface, it discourages hypervisor- ous to any resource multiplexing handled by the lower specific changes, and it discourages changes that sub- layers; an OS was written to perform the resource mul- stantially penalize the performance of the neutral plat- tiplexing, but not to participate in collaborative resource form interface. multiplexing with other OSes. The decision to activate a specialized hypervisor inter- Design by layering involves choosing appropriate ab- face happens at runtime when the hypervisor and guest stractions and cut points for the layer interfaces. Layer- kernel are joined together. The guest OS adds to its bi- ing’s abstractions provide benefits, but as explained by nary a description of its soft layer, and the hypervisor Parnas, the abstractions easily introduce inefficiencies inspects the descriptor to determine whether they agree due to the lack of transparency into the
Recommended publications
  • Improving the Reliability of Commodity Operating Systems
    Improving the Reliability of Commodity Operating Systems MICHAEL M. SWIFT, BRIAN N. BERSHAD, and HENRY M. LEVY University of Washington Despite decades of research in extensible operating system technology, extensions such as device drivers remain a significant cause of system failures. In Windows XP, for example, drivers account for 85% of recently reported failures. This paper describes Nooks, a reliability subsystem that seeks to greatly enhance OS reliability by isolating the OS from driver failures. The Nooks approach is practical: rather than guaranteeing complete fault tolerance through a new (and incompatible) OS or driver architecture, our goal is to prevent the vast majority of driver-caused crashes with little or no change to existing driver and system code. Nooks isolates drivers within lightweight protection domains inside the kernel address space, where hardware and software prevent them from corrupting the kernel. Nooks also tracks a driver’s use of kernel resources to facilitate automatic clean-up during recovery. To prove the viability of our approach, we implemented Nooks in the Linux operating system and used it to fault-isolate several device drivers. Our results show that Nooks offers a substantial increase in the reliability of operating systems, catching and quickly recovering from many faults that would otherwise crash the system. Under a wide range and number of fault conditions, we show that Nooks recovers automatically from 99% of the faults that otherwise cause Linux to crash. While Nooks was designed for drivers, our techniques generalize to other kernel extensions. We demonstrate this by isolating a kernel-mode file system and an in-kernel Internet service.
    [Show full text]
  • Legacy Reuse
    Faculty of Computer Science Institute for System Architecture, Operating Systems Group LEGACY REUSE CARSTEN WEINHOLD THIS LECTURE ... ■ So far ... ■ Basic microkernel concepts ■ Drivers, resource management ■ Today: ■ How to provide legacy OS personalities ■ How to reuse existing infrastructure ■ How to make applications happy TU Dresden Legacy Reuse 2 VIRTUALIZATION ■ Virtualization: ■ Reuse legacy OS + applications ■ Run applications in natural environment ■ Problem: Applications trapped in VMs ■ Different resource pools, namespaces ■ Cooperation is cumbersome (network, ...) ■ Full legacy OS in VM adds overhead ■ Multiple desktops? Bad user experience TU Dresden Legacy Reuse 3 MAKING THE CUT ■ Hardware level: Next week ■ Virtualize legacy OS on top of new OS ■ Operating System Personality: ■ Legacy OS interfaces reimplemented on top of – or ported to – new OS ■ Hybrid operating systems: Today ■ Run legacy OS virtualized … ■ … but tightly integrated with new OS TU Dresden Legacy Reuse 4 OPERATING SYSTEM PERSONALITIES TU Dresden Legacy Reuse 5 OS PERSONALITY ■ Idea: Adapt OS / application boundary ■ (Re-)Implement legacy APIs, not whole OS ■ May need to recompile application ■ Benefits: ■ Get desired application, established APIs ■ Good integration (namespaces, files, ...) ■ Smaller overhead than virtualization ■ Flexible, configurable, but more effort? TU Dresden Legacy Reuse 6 MONOLITHIC KERNELS App App Monolithic Kernel System Call Entry Ext2 VFAT IP Stack Disk Driver NIC Driver TU Dresden Legacy Reuse 7 DECOMPOSITION App App App App Monolithic
    [Show full text]
  • Kernel Architectures
    A short history of kernels n Early kernel: a library of device drivers, support for threads (QNX) Operating System Kernels n Monolithic kernels: Unix, VMS, OS 360… n Unstructured but fast… n Over time, became very large Ken Birman n Eventually, DLLs helped on size n Pure microkernels: Mach, Amoeba, Chorus… (borrowing some content from n OS as a kind of application Peter Sirokman) n Impure microkernels: Modern Windows OS n Microkernel optimized to support a single OS n VMM support for Unix on Windows and vice versa The great m-kernel debate Summary of First Paper n How big does it need to be? n The Performance of µ-Kernel-Based Systems (Hartig et al. 16th SOSP, Oct 1997) n With a m-kernel protection-boundary crossing forces us to n Evaluates the L4 microkernel as a basis for a full operating system n Change memory -map n Ports Linux to run on top of L4 and compares n Flush TLB (unless tagged) performance to native Linux and Linux running on n With a macro-kernel we lose structural the Mach microkernel protection benefits and fault-containment n Explores the extensibility of the L4 microkernel n Debate raged during early 1980’s Summary of Second Paper In perspective? n The Flux OSKit: A Substrate for Kernel and n L4 seeks to validate idea that a m-kernel Language Research (Ford et al. 16th SOSP, can support a full OS without terrible 1997) cost penalty n Describes a set of OS components designed to be used to build custom operating systems n Opened the door to architectures like the n Includes existing code simply using “glue code” Windows
    [Show full text]
  • The Nizza Secure-System Architecture
    Appears in the proceedings of CollaborateCom 2005, San Jose, CA, USA The Nizza Secure-System Architecture Hermann Härtig Michael Hohmuth Norman Feske Christian Helmuth Adam Lackorzynski Frank Mehnert Michael Peter Technische Universität Dresden Institute for System Architecture D-01062 Dresden, Germany [email protected] Abstract rely on a standard OS (including the kernel) to assure their security properties. The trusted computing bases (TCBs) of applications run- To address the conflicting requirements of complete ning on today’s commodity operating systems have become functionality and the protection of security-sensitive data, extremely large. This paper presents an architecture that researchers have devised system architectures that reduce allows to build applications with a much smaller TCB. It the system’s TCB by running kernels in untrusted mode is based on a kernelized architecture and on the reuse of in a secure compartment on top of a small security kernel; legacy software using trusted wrappers. We discuss the de- security-sensitive services run alongside the OS in isolated sign principles, the architecture and some components, and compartments of their own. This architecture is widely re- a number of usage examples. ferred to as kernelized standard OS or kernelized system. In this paper, we describe Nizza, a new kernelized- system architecture. In the design of Nizza, we set out to answer the question of how small the TCB can be made. 1 Introduction We have argued in previous work that the (hardware and software) technologies needed to build small secure-system Desktop and hand-held computers are used for many platforms have become much more mature since earlier at- functions, often in parallel, some of which are security tempts [8].
    [Show full text]
  • Separating Protection and Management in Cloud Infrastructures
    SEPARATING PROTECTION AND MANAGEMENT IN CLOUD INFRASTRUCTURES A Dissertation Presented to the Faculty of the Graduate School of Cornell University in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy by Zhiming Shen December 2017 c 2017 Zhiming Shen ALL RIGHTS RESERVED SEPARATING PROTECTION AND MANAGEMENT IN CLOUD INFRASTRUCTURES Zhiming Shen, Ph.D. Cornell University 2017 Cloud computing infrastructures serving mutually untrusted users provide se- curity isolation to protect user computation and resources. Additionally, clouds should also support flexibility and efficiency, so that users can customize re- source management policies and optimize performance and resource utiliza- tion. However, flexibility and efficiency are typically limited due to security requirements. This dissertation investigates the question of how to offer flexi- bility and efficiency as well as strong security in cloud infrastructures. Specifically, this dissertation addresses two important platforms in cloud in- frastructures: the containers and the Infrastructure as a Service (IaaS) platforms. The containers platform supports efficient container provisioning and execut- ing, but does not provide sufficient security and flexibility. Different containers share an operating system kernel which has a large attack surface, and kernel customization is generally not allowed. The IaaS platform supports secure shar- ing of cloud resources among mutually untrusted users, but does not provide sufficient flexibility and efficiency. Many powerful management primitives en- abled by the underlying virtualization platform are hidden from users, such as live virtual machine migration and consolidation. The main contribution of this dissertation is the proposal of an approach in- spired by the exokernel architecture that can be generalized to any multi-tenant system to improve security, flexibility, and efficiency.
    [Show full text]
  • Research on Virtualisation Technlogy for Real-Time Reconfigurable Systems Tian Xia
    Research on virtualisation technlogy for real-time reconfigurable systems Tian Xia To cite this version: Tian Xia. Research on virtualisation technlogy for real-time reconfigurable systems. Electronics. INSA de Rennes, 2016. English. NNT : 2016ISAR0009. tel-01418453 HAL Id: tel-01418453 https://tel.archives-ouvertes.fr/tel-01418453 Submitted on 16 Dec 2016 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. THESE INSA Rennes présentée par sous le sceau de l’Université Bretagne Loire pour obtenir le titre de Tian Xia DOCTEUR DE L’INSA RENNES ECOLE DOCTORALE : MATISSE Spécialité : Electronique et Télécommunications LABORATOIRE : IETR Thèse soutenue le 05.07.2016 Research on devant le jury composé de : Virtualization Technology François Verdier Professeur, Université de Nice, Nice / Président for Real-time Emmanuel Grolleau Professeur, ISAE-ENSMA, Chasseneuil-Futuroscope / Rapporteur Reconfigurable Systems Guy Gogniat Professeur, Université de Bretagne-Sud, Lorient / Rapporteur Jean-Luc Bechennec Chargé de Recherche, Ecole Centrale de Nantes, Nantes / Examinateur Jean-Christophe Prévotet Maître de Conférence, INSA, Rennes / Co-encadrant de thèse Fabienne Nouvel Maître de Conférence HDR, INSA, Rennes / Directrice de thèse Research on Virtualization Technology for Real-time Reconfigurable Systems Tian Xia Résumé de la Thèse Aujourd’hui, les systèmes embarqués jouent un rôle prépondérant dans la vie quo- tidienne des utilisateurs.
    [Show full text]
  • 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.
    [Show full text]
  • Context Related Policies on Data Isolation for Organizational Data Using Profiles
    © 2015 IJEDR | NC3N 2015 | ISSN: 2321-9939 Context Related Policies on Data Isolation for Organizational Data using Profiles 1Vignesh M, 2Aishwarya K 1M.E Student, 2Assistant Professor, 1, 2 Department of Computer Science and Engineering, Arulmigu Meenakshi Amman College of Engineering, vadamavandal-604410 Kancheepuram, Tamilnadu, India ______________________________________________________________________________________________________ Abstract — General studies have shown that allowing access to enterprise services with smartphones increases employee productivity. Despite this positive scenario, users can install third-party applications on their smartphones, which may provide some malicious applications to access their company confidential information. This poses serious security concerns to sensitive corporate data. One possible solution to this problem is isolation, by keeping applications and data related to work separated from recreational applications. MOSES a solution for separating modes of use in smartphones. MOSES implements soft virtualization through controlled software. Profiles can be easily and dynamically specified by end users. MOSES provides a GUI for this purpose. Profiles can be fine-grained to the level of single object (e.g., file, SMS) and single application. Isolation Using MOSES creating profiles for securing confidential data but that the applications that have root access to the system can bypass MOSES protection. A Novel Attribute Based Access Control Enabled MOSES method proposed to overcome the problem of these root application bypassing the security profile protections. Keywords — MOSES, ABAC, GUI, SP, BYOD, Context ________________________________________________________________________________________________________ I. INTRODUCTION Smartphones allow end users to perform several tasks while being on the move [7]. As a consequence, end users require their personal smartphones to be connected to their work in IT infrastructure [9]. More of the companies nowadays provide mobile versions of their desktop applications [27].
    [Show full text]
  • Paravirtualizing Linux in a Real-Time Hypervisor
    Paravirtualizing Linux in a real-time hypervisor Vincent Legout and Matthieu Lemerre CEA, LIST, Embedded Real Time Systems Laboratory Point courrier 172, F-91191 Gif-sur-Yvette, FRANCE {vincent.legout,matthieu.lemerre}@cea.fr ABSTRACT applications written for a fully-featured operating system This paper describes a new hypervisor built to run Linux in a such as Linux. The Anaxagoros design prevent non real- virtual machine. This hypervisor is built inside Anaxagoros, time tasks to interfere with real-time tasks, thus providing a real-time microkernel designed to execute safely hard real- the security foundation to build a hypervisor to run existing time and non real-time tasks. This allows the execution of non real-time applications. This allows current applications hard real-time tasks in parallel with Linux virtual machines to run on Anaxagoros systems without any porting effort, without interfering with the execution of the real-time tasks. opening the access to a wide range of applications. We implemented this hypervisor and compared perfor- Furthermore, modern computers are powerful enough to mances with other virtualization techniques. Our hypervisor use virtualization, even embedded processors. Virtualiza- does not yet provide high performance but gives correct re- tion has become a trendy topic of computer science, with sults and we believe the design is solid enough to guarantee its advantages like scalability or security. Thus we believe solid performances with its future implementation. that building a real-time system with guaranteed real-time performances and dense non real-time tasks is an important topic for the future of real-time systems.
    [Show full text]
  • Paravirtualized Applications on Top of an L4/Fiasco Microkernel
    TECHNOLOGICAL EDUCATIONAL INSTITUTE OF CRETE Paravirtualized applications on top of an L4/Fiasco Microkernel by Emmanouil Fragkiskos Ragkousis A thesis submitted in partial fulfillment for the degree of Bachelor of Science in the Technological Educational Institute of Crete Department of Informatics Engineering March 31, 2019 TECHNOLOGICAL EDUCATIONAL INSTITUTE OF CRETE Σύνοψη Technological Educational Institute of Crete Department of Informatics Engineering Bachelor of Science by Emmanouil Fragkiskos Ragkousis In this thesis we added Zedboard support to L4/Fiasco, which allowed us to use it as a hypervisor. In this way we can achieve a better use of resources by sharing them between multiple operating systems and/or bare metal programs. It also allows us to achieve better security by controlling access to parts of the hardware. Thesis Supervisor: Kornaros Georgios Title: Assistant Professor at Department of Informatics Engineering, TEI of Crete TECHNOLOGICAL EDUCATIONAL INSTITUTE OF CRETE Σύνοψη Technological Educational Institute of Crete Department of Informatics Engineering Bachelor of Science by Emmanouil Fragkiskos Ragkousis Se αυτή thn πτυχιακή, prosjèsame υποστήριξη gia to Zedboard sto L4/Fiasco, me σκοπό na to χρησιμοποιήσουμε san hypervisor. Me αυτόn ton τρόπο μπορούμε na επιτύχουμε καλύτερη χρήση twn πόρων tou συστήματος, μοιράζοντας ton metaxύ diaforetik¸n leitourgik¸n συστημάτων kai efarmog¸n. EpÐshc mac epitrèpei na επιτύχουμε καλύτερη ασφάλεια elègqontac to thn πρόσβαση sto hardware. Epiblèpwn Πτυχιακής: Ge¸rgioc Κορνάρος TÐtloc: EpÐkouroc Καθηγητής tou τμήματoc Mhqanik¸n Πληροφορικής, TEI Κρήτης Acknowledgements This bachelor thesis is my first academic milestone and looking back I would like to thank all the people, that are not listed below, for their support and encouragement until today.
    [Show full text]
  • Kernel-Based Systems
    The Performance of µ-Kernel-Based Systems Liedtke et al. presented by: Ryan O’Connor <[email protected]> October 7th, 2009 Liedtke et al.presented by: Ryan O’Connor <[email protected]> The Performance of µ-Kernel-Based Systems Motivation By this time (1997) the OS research community had virtually abandoned research on pure µ-kernels. due primarily to the poor performance of first-generation µ-kernels Many researchers believe that µ-kernel abstraction layer is either too low or too high too low: research should focus on extensible-kernels, allowing users to safely add new functionality to a monolithic kernel too high: kernels should export an interface resembling a hardware architecture Claim: pure µ-kernels are not fundamentally flawed, they just haven’t been done right yet Liedtke et al.presented by: Ryan O’Connor <[email protected]> The Performance of µ-Kernel-Based Systems Contributions L4 and L4Linux the penalty for using a pure µ-kernel can be kept between 5% and 10% µ-kernel abstractions are efficient enough to motivate their use in user applications Liedtke et al.presented by: Ryan O’Connor <[email protected]> The Performance of µ-Kernel-Based Systems L4 L4 exports a pure µ-kernel interface (threads, address spaces, and IPC). In addition it supports: user-level paging, and recursive construction of address spaces translation of hardware interrupts to IPC messages fast context switches on small address-spaces using Pentium segmentation trick Liedtke et al.presented by: Ryan O’Connor <[email protected]> The Performance of µ-Kernel-Based Systems L4Linux L4Linux is a Linux Single Server, an L4 process that provides a unix ’personality’ for user applications.
    [Show full text]
  • Taming Hosted Hypervisors with (Mostly) Deprivileged Execution
    Taming Hosted Hypervisors with (Mostly) Deprivileged Execution Chiachih Wu †, Zhi Wang ∗, Xuxian Jiang † †Department of Computer Science ∗Department of Computer Science North Carolina State University Florida State University [email protected], [email protected] [email protected] Abstract systems (OSs) and greatly facilitate the adoption of virtual- ization. For example, KVM [22] is implemented as a load- Recent years have witnessed increased adoption of able kernel module that can be conveniently installed and hosted hypervisors in virtualized computer systems. By launched on a commodity host system without re-installing non-intrusively extending commodity OSs, hosted hypervi- the host system. Moreover, hosted hypervisors can read- sors can effectively take advantage of a variety of mature ily benefit from a variety of functionalities as well as latest and stable features as well as the existing broad user base of hardware support implemented in commodity OSs. As a re- commodity OSs. However, virtualizing a computer system sult, hosted hypervisors have been increasingly adopted in is still a rather complex task. As a result, existing hosted today’s virtualization-based computer systems [32]. hypervisors typically have a large code base (e.g., 33.6K Unfortunately, virtualizing a computer system with a SLOC for KVM), which inevitably introduces exploitable hosted hypervisor is still a complex and daunting task. De- software bugs. Unfortunately, any compromised hosted hy- spite the advances from hardware virtualization and the pervisor can immediately jeopardize the host system and leverage of various functionality in host OS kernels, a subsequently affect all running guests in the same physical hosted hypervisor remains a privileged driver that has a machine.
    [Show full text]