A Practical Look at Micro-Kernels and Virtual Machine Monitors
Total Page:16
File Type:pdf, Size:1020Kb
A Practical Look at Micro-Kernels and Virtual Machine Monitors François Armand, Michel Gien, Member, IEEE of the main drivers is the need to run new or feature-rich open Abstract — In this paper, we look at two different approaches system software while maintaining existing legacy software used to provide embedded system support for virtualization and that has been already tested and validated in their own virtual machine monitors for consumer electronics and mobile operating environment. Such open software commonly devices. We compare the micro-kernel approach, which has been includes Linux and more established operating systems such a popular choice for building embedded operating systems with the Virtual Machine Monitor (VMM) or hypervisor approach as Windows or Symbian where developers want to run the widely deployed in general purpose computing environments operating system unchanged while also extending their device such as desktops and data center servers. Comparison criteria security and manageability at all levels. are based on virtualization use cases that are typical of Consumer Co-existence of several operating environments on the same Electronics (CE) systems such as mobile devices and IPTV. These hardware platform is one of the main purposes of hardware approaches are further evaluated based on performance and on virtualization software, made possible by the provision of a their ability to allow re-use of existing (often real-time) software as well as modern open operating systems such as Linux while virtual image of the hardware to each operating system, which remaining as transparently as possible. Such transparency can believes it is running alone on the underlying hardware. come through different paths, including: leveraging of hardware Mobile phone platform products that are now been deployed virtualization support, minimal modifications to the original with such virtualized operating environments include the NXP operating system internals (kernel, device drivers, etc.), and the 7210 platform used in the Purple Magic single core Linux ability to use existing operating system applications as-is and reference phone design [1], [2]. without the need to port them to a new environment. An analysis of the fundamental principles behind each approach is presented Hardware virtualization is not a new concept. It has been with a discussion of their impact on existing operating used in data centers for years. However, its introduction in environments, together with practical performance results based embedded systems, in particular mobile devices is relatively on existing micro-kernels and real-time hypervisor benchmarks. new. Several approaches are being used to provide hardware We conclude that mapping the VMM (hypervisor) approach used virtualization in embedded devices. One extends the data in data centers to the needs of embedded systems is a better center Virtual Machine Monitor (VMM) or hypervisor option for the support of complete operating systems (as guests) than extending micro-kernels for such functionality. approach to fit the constraints of embedded systems. Another approach extends micro-kernels that have traditionally been Keywords—Virtual machine monitors for CE systems such used in embedded systems so they can support full operating as mobile devices and IPTV, Virtualization for security system kernels in addition to their own embedded and fault-isolation on CE systems, Embedded operating applications. system support for virtualization, Virtualization This paper examines foundation concepts of each approach architecture for real-time applications and discusses their implications on the expected benefits of virtualization in embedded devices. A parallel can be made Index Terms—Embedded system, hypervisor, micro-kernel, with the arguments exchanged in two papers issued by Operating System (OS), virtualization, Virtual Machine Monitor stakeholders from each “camp”, ie, Xen [3] and L4 [4]. (VMM). Finally actual measurements and performance benchmarks of the L4 microkernel and the VirtualLogix VLX hypervisor I. INTRODUCTION illustrate the implications of the two approaches in real-world FTER several years of availability in the enterprise and scenario. Aserver space, virtualization is becoming a hot topic in embedded systems, particularly for consumer electronics II. VIRTUAL MACHINE MONITORS AND HYPERVISORS systems such as mobile devices and IPTV set-top boxes. One A. Virtualization in the Data Center The common term, virtual machine monitor (VMM), refers Manuscript received October 10, 2008. to software that controls and virtualizes the system "physical" François Armand is with VirtualLogix, 6 avenue Gustave Eiffel, 78180 – Montigny-le-Bretonneux, France (phone: +33 1 39 44 74 00; fax: +33 1 30 57 hardware and reflects that this software generates and 00 66; (e-mail: [email protected]). monitors "virtual machines" in which operating systems (OS) Michel Gien is with VirtualLogix, 6 avenue Gustave Eiffel, 78180 – are executed. An operating system that executes in the context Montigny-le-Bretonneux, France (phone: +33 1 39 44 74 22; fax: +33 1 30 57 00 66; e-mail: [email protected]). of a virtual machine is often referred to as a "guest OS," as 978-1-4244-2309-5/09/$25.00 ©2009 IEEE 1 Authorized licensed use limited to: UNSW Library. Downloaded on November 9, 2009 at 02:19 from IEEE Xplore. Restrictions apply. opposed to a "native OS" that has full control over the increased processing power and operating system support hardware resources (i.e. the "real machine"). The VMM may allows virtualization technology to be applied to mobile sometimes be called a "hypervisor" by analogy to the term handsets and provide them with a software architecture that "supervisor" used to designate the function of the inner part of allows them to consolidate different operating environments an OS called the OS kernel, which supervises the execution of on the same hardware platform. applications and their access to hardware resources Running along side of a feature-rich open operating system, (computing, memory, storage, network, etc.). In the case of a real-time operating system (RTOS) is used in mobile "virtualization technology," the hypervisor provides access to handsets to support deterministic tasks, such as running the hardware resources for the operating systems via fully or wireless protocol stacks and core phone services. Aside from partially virtualized interfaces. This adds one layer of the operating system choices, mobile handsets present a hardware management which multiplexes usage of the “real” further challenge to virtualization solutions in their support for hardware to several operating systems or several instances of real-time operating systems and for many peripherals such as the same operating system, which can thus share that same screen, touchpad, keyboard, audio I/O, camera, flash memory, hardware. disk, Bluetooth, USB, WiFi as well as wireless telecom The first hypervisor, called Control Program 67 (CP-67) network protocols. [5], was introduced in the summer of 1966 by IBM in its Emerging from these market and technical requirements is a famous System/360 family of mainframe computers, the new generation of hypervisors, sometimes referred to as using 360/67. It then became VM/370 on the S/370 and was used to "real-time virtualization" technology targeting embedded run various operating systems such as "single user" (e.g. devices by allowing a guest OS of the hypervisor to be a real- CMS) or "batch" operating systems (e.g. OS 360) time operating system (RTOS) without compromising its simultaneously and securely on the same computer. native real-time characteristics and behavior. VirtualLogix Essentially VM/370 and hardware cooperate so multiple VLX is an example of such a “real-time virtualization” instances of any operating system, each with protected access hypervisor [10]. to the full instruction set, can peacefully and concurrently Like other hypervisors in the traditional computing space, coexist. This is one of the more successful hypervisors and real-time hypervisors ensure strict isolation and secure still sees wide use in IBM mainframes today. communication between multiple virtualized execution Since then, hypervisors have gained increasing popularity in environments. In addition, real-time hypervisors support the the computing space with many commercial and public ARM processor family powering the vast majority of mobile options now available. The most widely used hypervisor on phones and when it is made available by the silicon x86-based computers is VMware [6], which is offered by a manufacturer, these hypervisors are able to leverage hardware subsidiary of the EMC Corporation. The University of support for virtualization, on Intel VT-based architectures for Cambridge Computer Laboratory has developed a competing example. open source project called Xen [7] that is supported by various "Real-time virtualization" can be used to securely computer manufacturers including IBM, Sun Microsystems consolidate a RTOS and a rich operating system – which and HP to run several instances of Linux and other operating would otherwise run on independent processors – on a single systems primarily on x86-based servers. Microsoft recently CPU lowering the cost of smart phones and bringing more announced its own hypervisor software named Hyper-V [8]. functionality into the high-volume mass market. It can also be Hypervisors provide "hardware virtual machines" and used to support