Performance Analysis of Microkernel Based Virtualization Techniques on Embedded Systems

Total Page:16

File Type:pdf, Size:1020Kb

Performance Analysis of Microkernel Based Virtualization Techniques on Embedded Systems Copyright © 2019 American Scientific Publishers Journal of All rights reserved Low Power Electronics Printed in the United States of America Vol. 15, 273–281, 2019 Performance Analysis of Microkernel Based Virtualization Techniques on Embedded Systems Deepa Mathew1,BijoyA.Jose1 ∗, and Priyadarsan Patra2 1Department of Electronics, Cochin University of Science and Technology, Kochi 682022, Kerala, India 2Dean of the School of Computer Science and Engineering, Xavier University, Bhubaneswar 751013, India (Received: 31 March 2019; Accepted: 17 April 2019) Exploiting the benefits of Virtualization in the world of Embedded technology has opened up new avenues for effective resource utilization, increased scalability, security and cost savings. With the above in perspective, the performance benchmarking of virtualized embedded systems is important. In this paper, we have assessed the performance of various types of virtualization techniques such as paravirtualization and hardware-assisted virtualization in a desktop environment. Microkernel based virtualization techniques are more suitable for embedded system environment, due to its low memory footprint and security advantages as only a small amount of trusted code is running at a high privileged level. We have used this implementation to analyze the performance of an OS on a microkernel based virtual environment and compared its performance with an OS in a nonvirtual environment on the same board. In addition to this, we have analyzed the performance of different types of virtualization techniques possible with a microkernel on a low power arm based embedded system with a benchmarking tool. Keywords: Virtualization,IP: 192.168.39.151 Microkernel, Embedded On: Thu, Systems,30 Sep 2021 Virtual 04:06:00 Machines. Copyright: American Scientific Publishers Delivered by Ingenta 1. INTRODUCTION Virtualization allows simultaneous execution of real time The term Virtualization refers to the creation of a virtual OS and a general purpose OS on the same hardware, which version of any device. A Virtual Machine would be an improves the performance and security of the systems. independent working environment which provides isola- In today’s world, the embedded system board has pro- tion and the experience of working with physical hard- cessing capability equal to that of desktop computers, ware. Virtualization allows more than one virtual machine which has facilitated enhanced capabilities in its appli- (VM) on the same physical hardware.1 This way the cation areas like robotics, automotive and mobile sys- resources can be shared between different VMs based on tems. The functionalities expected from a mobile phone is demand or pre-decided schemes. In the enterprise sector, increasing and software is becoming more complex and it this also gives additional advantages in configuring differ- may need to run multiple OS on the same phone. Most ent Operating Systems (OS) on the same physical machine of the recent ARM boards come equipped with multicore and operating them in parallel. Each OS runs on a vir- architectures, which facilitates extension of the advantages tual machine and each of them is unaware of other virtual of virtualization to the embedded system applications. As machines accessing the system. Alternatively, this facility the technology advances further and boards become more also provides the basis for having multiple sessions for economical, virtualization allows us to replace functional- different users and many other extensions. ities provided by two or three microcontrollers to a sin- A VM is an environment created by the virtualization gle multicore board. Hence, this enables to capitalize on layer, which is also known as a hypervisor.2 VMs are envi- advantages of cost savings and optimized resource utiliza- sioned to provide isolation and protection of resources. tion. Each microcontroller functionality resides on each Virtualization began when IBM first introduced virtualiza- virtual machine and these virtual machines are independent tion for servers. From then on, it has evolved over the of each other. Failure of a virtual machine does not affect years and now it finds its application in embedded systems. the other. This finds application in automotive and control industries. Some of the advantages of using virtualization ∗Author to whom correspondence should be addressed. are effective resource utilization, increased scalability, reli- Email: [email protected] ability, cost savings in terms of energy and space. J. Low Power Electron. 2019, Vol. 15, No. 2 1546-1998/2019/15/273/009 doi:10.1166/jolpe.2019.1602 273 Performance Analysis of Microkernel Based Virtualization Techniques on Embedded Systems Mathew et al. There are different approaches by which virtualization is Interprocess communications. All the other required func- possible in embedded systems such as Xen, KVM, QEMU, tionalities are added as user level services and these and different microkernel based OKL4, SEL4, Fiasco.OC. services run in different address space or threads. In a The microkernel based virtualization is apt for the embed- microkernel based operating system, the Microkernel runs ded system due to its low memory footprint. The micro- at a higher privileged mode, known as Kernel mode. kernel selected for the work is Fiasco.OC, which is a third All other functionalities like File system management, generation microkernel from L4 microkernel family and Network management, Memory management, and Device is developed at TU Dresden University. Fiasco.OC sup- drivers run at lower privilege level, i.e., as user level ports both paravirtualization and hardware-assisted virtu- threads on top of this Microkernel as shown in Figure 2. alization. L4linux, which is paravirtualized Linux, runs So the amount of code running at higher privilege level on top of Fiasco.OC. Benchmarking tools Coremark and is lesser compared to a Monolithic kernel. This helps to LMbench have been used to analyze the performance. build a robust trustworthy base for the system, which in turn improves the overall system security. These features of microkernel match to the requirements of a hypervisor.5 2. BACKGROUND AND RELATED WORK A microkernel based system allows easier management of 2.1. Virtualization code as only the required functionality needs to be added Virtualization allows multiple VMs to run parallelly on to the system as user level service. a single hardware. A software layer called Hypervisor or Virtual Machine Monitor (VMM) provides the abstraction 2.2.1. L4 Family 3 of the underlying hardware to the virtual machine (VM)s. The work of first generation microkernels started in the The VMM provides isolation for each VM. The hypervi- 1980s and was not successful because of its poor design sor is also known as a control program as it controls and and performance.6 e.g.: Mach, Chorus. In the 1990s the manages the virtual machines running on top of it. The second generation microkernel L4 is created by Jochen VMM is classified into two types2 depending upon the Liedtke mainly to overcome the performance limitations layer at which VMM comes as shown in Figure 1. When of first generation microkernels. Developed at the con- the hypervisor runs directly on top of hardware it is called cept of a minimal kernel, accordingly a concept is toler- Type 1 VMM or a bare metal hypervisor. In Type 1 VMM, ated inside the kernel only if it cannot be moved out of the hypervisor runs at highest privilegeIP: 192.168.39.151 mode. Example On: of Thu,the 30 kernel. Sep 72021The 04:06:00 main reimplementation work of L4 hap- Type 1 hypervisors is Xen hypervisor.Copyright: In Type 2 American VMM, Scientificpened at threePublishers universities and are shown in the Figure 3 the hypervisor runs on top of the host operating systemDelivered and byalong Ingenta with the main implementation names.8 At the Uni- hence it is called hosted hypervisor. Examples of Type 2 versity of Karlsruhe, they developed a highly portable hypervisors are VMware Workstation, VMware Player and microkernel named L4ka:Pistachio. At the University of VirtualBox. Type 2 hypervisor can make use of the ser- South Wales, they named the original version of L4 as vices provided by the host operating system but has higher L4/x86 and developed L4/MIPS and L4/Alpha, these ver- overhead as it can access the hardware only through the sions were unportable and later they were interested in host OS. Different virtualization approaches are available the portability of L4ka:Pistachio and which led to the for an embedded system4 from among them we chose new version NICTA::L4-embedded. NICTA ported it to a microkernel based virtualization due to its low memory number of architectures including ARM and optimized it footprint and small trusted computing base. for use in resource constrained embedded systems. Qual- comm’s association with NICTA created the commer- 2.2. Microkernel as Hypervisor cial OKL4. The third generation microkernel at NICTA A microkernel provides only the basic functionality is SeL4. At the Dresden University of Technology, they required for the functioning of the operating system such as Address space management, Thread management and Fig. 1. (a) Type 1 hypervisor (b) type 2 hypervisor. Fig. 2. Microkernel based system. 274 J. Low Power Electron. 15, 273–281, 2019 Mathew et al. Performance Analysis of Microkernel Based Virtualization Techniques on Embedded Systems Fig. 3. Major reimplementations of L4. developed C++ implementation of L4 kernel interface, the object. The services running on Fiasco and L4Re are called L4/Fiasco. Fiasco is a preemptible real time ker- called servers and there are many standard servers namely nel and is used in Dresden Real Time Operating Sys- sigma0, Ned, moe. Sigma0 is the initial resource manager tems Project (DROPS).9 The third generation microkernel and is responsible for handling the page faults of the root of fiasco is called Fiasco.OC.10 We selected Fiasco.OC task. Moe is the first task or the root task of L4Re started for our analysis of virtualization on embedded boards and by the Microkernel.
Recommended publications
  • Effective Virtual CPU Configuration with QEMU and Libvirt
    Effective Virtual CPU Configuration with QEMU and libvirt Kashyap Chamarthy <[email protected]> Open Source Summit Edinburgh, 2018 1 / 38 Timeline of recent CPU flaws, 2018 (a) Jan 03 • Spectre v1: Bounds Check Bypass Jan 03 • Spectre v2: Branch Target Injection Jan 03 • Meltdown: Rogue Data Cache Load May 21 • Spectre-NG: Speculative Store Bypass Jun 21 • TLBleed: Side-channel attack over shared TLBs 2 / 38 Timeline of recent CPU flaws, 2018 (b) Jun 29 • NetSpectre: Side-channel attack over local network Jul 10 • Spectre-NG: Bounds Check Bypass Store Aug 14 • L1TF: "L1 Terminal Fault" ... • ? 3 / 38 Related talks in the ‘References’ section Out of scope: Internals of various side-channel attacks How to exploit Meltdown & Spectre variants Details of performance implications What this talk is not about 4 / 38 Related talks in the ‘References’ section What this talk is not about Out of scope: Internals of various side-channel attacks How to exploit Meltdown & Spectre variants Details of performance implications 4 / 38 What this talk is not about Out of scope: Internals of various side-channel attacks How to exploit Meltdown & Spectre variants Details of performance implications Related talks in the ‘References’ section 4 / 38 OpenStack, et al. libguestfs Virt Driver (guestfish) libvirtd QMP QMP QEMU QEMU VM1 VM2 Custom Disk1 Disk2 Appliance ioctl() KVM-based virtualization components Linux with KVM 5 / 38 OpenStack, et al. libguestfs Virt Driver (guestfish) libvirtd QMP QMP Custom Appliance KVM-based virtualization components QEMU QEMU VM1 VM2 Disk1 Disk2 ioctl() Linux with KVM 5 / 38 OpenStack, et al. libguestfs Virt Driver (guestfish) Custom Appliance KVM-based virtualization components libvirtd QMP QMP QEMU QEMU VM1 VM2 Disk1 Disk2 ioctl() Linux with KVM 5 / 38 libguestfs (guestfish) Custom Appliance KVM-based virtualization components OpenStack, et al.
    [Show full text]
  • Industrial Control Via Application Containers: Migrating from Bare-Metal to IAAS
    Industrial Control via Application Containers: Migrating from Bare-Metal to IAAS Florian Hofer, Student Member, IEEE Martin A. Sehr Antonio Iannopollo, Member, IEEE Faculty of Computer Science Corporate Technology EECS Department Free University of Bolzano-Bozen Siemens Corporation University of California Bolzano, Italy Berkeley, CA 94704, USA Berkeley, CA 94720, USA fl[email protected] [email protected] [email protected] Ines Ugalde Alberto Sangiovanni-Vincentelli, Fellow, IEEE Barbara Russo Corporate Technology EECS Department Faculty of Computer Science Siemens Corporation University of California Free University of Bolzano-Bozen Berkeley, CA 94704, USA Berkeley, CA 94720, USA Bolzano, Italy [email protected] [email protected] [email protected] Abstract—We explore the challenges and opportunities of control design full authority over the environment in which shifting industrial control software from dedicated hardware to its software will run, it is not straightforward to determine bare-metal servers or cloud computing platforms using off the under what conditions the software can be executed on cloud shelf technologies. In particular, we demonstrate that executing time-critical applications on cloud platforms is viable based on computing platforms due to resource virtualization. Yet, we a series of dedicated latency tests targeting relevant real-time believe that the principles of Industry 4.0 present a unique configurations. opportunity to explore complementing traditional automation Index Terms—Industrial Control Systems, Real-Time, IAAS, components with a novel control architecture [3]. Containers, Determinism We believe that modern virtualization techniques such as application containerization [3]–[5] are essential for adequate I. INTRODUCTION utilization of cloud computing resources in industrial con- Emerging technologies such as the Internet of Things and trol systems.
    [Show full text]
  • Understanding Full Virtualization, Paravirtualization, and Hardware Assist
    VMware Understanding Full Virtualization, Paravirtualization, and Hardware Assist Contents Introduction .................................................................................................................1 Overview of x86 Virtualization..................................................................................2 CPU Virtualization .......................................................................................................3 The Challenges of x86 Hardware Virtualization ...........................................................................................................3 Technique 1 - Full Virtualization using Binary Translation......................................................................................4 Technique 2 - OS Assisted Virtualization or Paravirtualization.............................................................................5 Technique 3 - Hardware Assisted Virtualization ..........................................................................................................6 Memory Virtualization................................................................................................6 Device and I/O Virtualization.....................................................................................7 Summarizing the Current State of x86 Virtualization Techniques......................8 Full Virtualization with Binary Translation is the Most Established Technology Today..........................8 Hardware Assist is the Future of Virtualization, but the Real Gains Have
    [Show full text]
  • Introduction to Virtualization
    z Systems Introduction to Virtualization SHARE Orlando Linux and VM Program Romney White, IBM [email protected] z Systems Architecture and Technology © 2015 IBM Corporation Agenda ° Introduction to Virtualization – Concept – Server Virtualization Approaches – Hypervisor Implementation Methods – Why Virtualization Matters ° Virtualization on z Systems – Logical Partitions – Virtual Machines 2 z Systems Virtualization Technology © 2015 IBM Corporation Virtualization Concept Virtual Resources Proxies for real resources: same interfaces/functions, different attributes May be part of a physical resource or multiple physical resources Virtualization Creates virtual resources and "maps" them to real resources Primarily accomplished with software or firmware Resources Components with architecturally-defined interfaces/functions May be centralized or distributed - usually physical Examples: memory, disk drives, networks, servers Separates presentation of resources to users from actual resources Aggregates pools of resources for allocation to users as virtual resources 3 z Systems Virtualization Technology © 2015 IBM Corporation Server Virtualization Approaches Hardware Partitioning Bare-metal Hypervisor Hosted Hypervisor Apps ... Apps Apps ... Apps Apps ... Apps OS OS OS OS OS OS Adjustable partitions Hypervisor Hypervisor Partition Controller Host OS SMP Server SMP Server SMP Server Server is subdivided into fractions Hypervisor provides fine-grained Hypervisor uses OS services to each of which can run an OS timesharing of all resources
    [Show full text]
  • 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]
  • KVM Based Virtualization and Remote Management Srinath Reddy Pasunuru St
    St. Cloud State University theRepository at St. Cloud State Culminating Projects in Information Assurance Department of Information Systems 5-2018 KVM Based Virtualization and Remote Management Srinath Reddy Pasunuru St. Cloud State University, [email protected] Follow this and additional works at: https://repository.stcloudstate.edu/msia_etds Recommended Citation Pasunuru, Srinath Reddy, "KVM Based Virtualization and Remote Management" (2018). Culminating Projects in Information Assurance. 53. https://repository.stcloudstate.edu/msia_etds/53 This Starred Paper is brought to you for free and open access by the Department of Information Systems at theRepository at St. Cloud State. It has been accepted for inclusion in Culminating Projects in Information Assurance by an authorized administrator of theRepository at St. Cloud State. For more information, please contact [email protected]. 1 KVM Based Virtualization and Remote Management by Srinath Reddy Pasunuru A Starred Paper Submitted to the Graduate Faculty of St. Cloud State University in Partial Fulfillment of the Requirements for the Degree Master of Science in Information Assurance May, 2018 Starred Paper Committee Susantha Herath, Chairperson Ezzat Kirmani Sneh Kalia 2 Abstract In the recent past, cloud computing is the most significant shifts and Kernel Virtual Machine (KVM) is the most commonly deployed hypervisor which are used in the IaaS layer of the cloud computing systems. The Hypervisor is the one which provides the complete virtualization environment which will intend to virtualize as much as hardware and systems which will include the CPUs, Memory, network interfaces and so on. Because of the virtualization technologies such as the KVM and others such as ESXi, there has been a significant decrease in the usage if the resources and decrease in the costs involved.
    [Show full text]
  • Hypervisors Vs. Lightweight Virtualization: a Performance Comparison
    2015 IEEE International Conference on Cloud Engineering Hypervisors vs. Lightweight Virtualization: a Performance Comparison Roberto Morabito, Jimmy Kjällman, and Miika Komu Ericsson Research, NomadicLab Jorvas, Finland [email protected], [email protected], [email protected] Abstract — Virtualization of operating systems provides a container and alternative solutions. The idea is to quantify the common way to run different services in the cloud. Recently, the level of overhead introduced by these platforms and the lightweight virtualization technologies claim to offer superior existing gap compared to a non-virtualized environment. performance. In this paper, we present a detailed performance The remainder of this paper is structured as follows: in comparison of traditional hypervisor based virtualization and Section II, literature review and a brief description of all the new lightweight solutions. In our measurements, we use several technologies and platforms evaluated is provided. The benchmarks tools in order to understand the strengths, methodology used to realize our performance comparison is weaknesses, and anomalies introduced by these different platforms in terms of processing, storage, memory and network. introduced in Section III. The benchmark results are presented Our results show that containers achieve generally better in Section IV. Finally, some concluding remarks and future performance when compared with traditional virtual machines work are provided in Section V. and other recent solutions. Albeit containers offer clearly more dense deployment of virtual machines, the performance II. BACKGROUND AND RELATED WORK difference with other technologies is in many cases relatively small. In this section, we provide an overview of the different technologies included in the performance comparison.
    [Show full text]
  • The Operating System Process in Virtualization for Cloud Computing 1J
    INFOKARA RESEARCH ISSN NO: 1021-9056 THE OPERATING SYSTEM PROCESS IN VIRTUALIZATION FOR CLOUD COMPUTING 1J. Saravanan, 2Saravanan .P 1M.Phil. Research Scholar, D.B.Jain College (Autonomous), Thoraipakkam, Chennai, India. E-mail: [email protected] 2Assistant Professor, D.B.Jain College (Autonomous), Thoraipakkam, Chennai, India. E-mail: [email protected] ABSTRACT: OS-level virtualization is an era that walls the working system to create a couple of remoted Virtual Machines (VM). An OS-level VM is a digital execution environment that may be forked right away from the baserunning environment. OS-level virtualization has been extensively used to improve safety, manageability, and availability of today’s complicated software program surroundings, with small runtime and resource overhead, and with minimal modifications to the existing computing infrastructure. Keywords: Operating System Virtualization, Virtual Machines, Virtual Environment Cloud Computing, Virtual Private System. 1. INTRODUCTION: Operating System Virtualization (OS Virtualization) is the last form of Virtualization in Cloud Computing. Operating system virtualization is a part of virtualization technology and is a form of server virtualization. In this OS Virtualization tutorial, we are going to cowl makes use of, working, types, kinds of disks, blessings of Operating System Virtualization. Operating System virtualizations consists of a modified shape than a normal operating system so that exceptional customers can perform its give up-use unique applications. This entire process shall perform on a unmarried laptop at a time. In OS virtualizations, the virtual eyes surroundings accept the command from any of the users working it and performs the different duties on the identical gadget by using running specific packages.
    [Show full text]
  • What's New in the Z/VM 6.3 Hypervisor Session 17515
    What's New in the z/VM 6.3 Hypervisor Session 17515 John Franciscovich IBM: z/VM Development Endicott, NY Insert Custom Presented by Bill Bitner Session QR if [email protected] Desired Trademarks The following are trademarks of the International Business Machines Corporation in the United States and/or other countries. BladeCenter* FICON* OMEGAMON* RACF* System z9* zSecure DB2* GDPS* Performance Toolkit for VM Storwize* System z10* z/VM* DS6000* HiperSockets Power* System Storage* Tivoli* z Systems* DS8000* HyperSwap PowerVM System x* zEnterprise* ECKD IBM z13* PR/SM System z* z/OS* * Registered trademarks of IBM Corporation The following are trademarks or registered trademarks of other companies. Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States, and/or other countries. Cell Broadband Engine is a trademark of Sony Computer Entertainment, Inc. in the United States, other countries, or both and is used under license therefrom. Intel, Intel logo, Intel Inside, Intel Inside logo, Intel Centrino, Intel Centrino logo, Celeron, Intel Xeon, Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. IT Infrastructure Library is a registered trademark of the Central Computer and Telecommunications Agency which is now part of the Office of Government Commerce. ITIL is a registered trademark, and a registered community trademark of the Office of Government Commerce, and is registered in the U.S. Patent and Trademark Office. Java and all Java based trademarks and logos are trademarks or registered trademarks of Oracle and/or its affiliates.
    [Show full text]
  • Xen on X86, 15 Years Later
    Xen on x86, 15 years later Recent development, future direction QEMU Deprivileging PVShim Panopticon Large guests (288 vcpus) NVDIMM PVH Guests PVCalls VM Introspection / Memaccess PV IOMMU ACPI Memory Hotplug PVH dom0 Posted Interrupts KConfig Sub-page protection Hypervisor Multiplexing Talk approach • Highlight some key features • Recently finished • In progress • Cool Idea: Should be possible, nobody committed to working on it yet • Highlight how these work together to create interesting theme • PVH (with PVH dom0) • KConfig • … to disable PV • PVshim • Windows in PVH PVH: Finally here • Full PVH DomU support in Xen 4.10, Linux 4.15 • First backwards-compatibility hack • Experimental PVH Dom0 support in Xen 4.11 PVH: What is it? • Next-generation paravirtualization mode • Takes advantage of hardware virtualization support • No need for emulated BIOS or emulated devices • Lower performance overhead than PV • Lower memory overhead than HVM • More secure than either PV or HVM mode • PVH (with PVH dom0) • KConfig • … to disable PV • PVshim • Windows in PVH KConfig • KConfig for Xen allows… • Users to produce smaller / more secure binaries • Makes it easier to merge experimental functionality • KConfig option to disable PV entirely • PVH • KConfig • … to disable PV • PVshim • Windows in PVH PVShim • Some older kernels can only run in PV mode • Expect to run in ring 1, ask a hypervisor PV-only kernel (ring 1) to perform privileged actions “Shim” Hypervisor (ring 0) • “Shim”: A build of Xen designed to allow an unmodified PV guest to run in PVH mode
    [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]