2011 Brazilian Symposium on Computing System Engineering Minix over Linux: A User-space Multiserver Operating System Pablo Pessolani, Oscar Jara Departamento de Ingeniería en Sistemas de Información Facultad Regional Santa Fe, UTN Santa Fe, Argentina 100062324 王璽鈞 100062330 孫士媛 101062702 翁景華 1 Agenda Introduction1 – Server Virtualization II. Introduction2 – Minix III. Minix over Linux: A User-space Multiserver Operating System I. I. Prerequisite II. III. Mol Architecture and Components Conclusions and Future Works 100062324王璽鈞 100062330孫士媛 10162702翁景華 2 Agenda Introduction1 – Server Virtualization II. Introduction2 – Minix III. Minix over Linux: A User-space Multiserver Operating System I. I. Prerequisite II. III. Mol Architecture and Components Conclusions and Future Works 100062324王璽鈞 100062330孫士媛 10162702翁景華 3 Server Virtualization 101062702翁景華 4 What is virtualization Convert one physical server into multiple virtual machines 100062324王璽鈞 100062330孫士媛 10162702翁景華 5 Why Virtualize? • Consolidation - Make good use of physical machine’s resources - Decrease the use of physical space • Isolation - Running software without worrying about affecting other applications or OSes • High Availability - If a sever fail, another serve can take its place • Easy Deployment - move a virtual server from one physical machine in a network to another 100062324王璽鈞 100062330孫士媛 10162702翁景華 6 Terminology • Host -physical server, e.g. a real computer • Guest - - virtual server, e.g. a virtual machine • Hypervisor (or Virtual Machine Monitor) - A piece of software - Presents the guest OSes with a virtual platform and manages the execution of the guest OSes 100062324王璽鈞 100062330孫士媛 10162702翁景華 7 Types of Server Virtualization • Full virtualization - Simulates complete hardware environment - Guest OS is unmodified to run - OS is not aware that it is not running on real hardware - Hypervisor is required - • Limitation - Low efficiency • Examples: - Virtual Box - Virtual PC - VMware - QEMU 100062324王璽鈞 100062330孫士媛 10162702翁景華 8 Types of Server Virtualization • Para-virtualization - Not fully emulate a complete hardware environment - Guest OS is modified to run on the hypervisor - Guest OS is aware of being virtualized itself - More efficient than full virtualization - • Limitation - Need OS modification - compatibility and portability • Examples: - XEN - KVM - Win4Lin 9x 100062324王璽鈞 100062330孫士媛 10162702翁景華 9 Types of Server Virtualization • Operating System-level virtualization - Host OS has the ability to do shared kernel virtualization • performs all the functions of a fully virtualized hypervisor - Based on the creation of isolated containers - The most efficient than the other two • Containers Limitation - Guest OS should be similar to host • Examples - Linux-VServer - OpenVZ - FreeBSD Jails - Chroot 100062324王璽鈞 100062330孫士媛 10162702翁景華 10 Comparison Full virtualization Para-virtualization OS-level virtualization Performance scalability - Versatility (Share OS and drivers) Virtual HW x Hypervisor Thin hypervisor Container 100062324王璽鈞 100062330孫士媛 10162702翁景華 11 Agenda Introduction1 – Server Virtualization II. Introduction2 – Minix III. Minix over Linux: A User-space Multiserver Operating System I. I. Prerequisite II. III. Mol Architecture and Components Conclusions and Future Works 100062324王璽鈞 100062330孫士媛 10162702翁景華 12 Minix 100062324王璽鈞 13 Minix--mini UNIX • Andrew Tanenbaum • Assembly language/C • Copyright of UNIX 7 • Unix Like • Tape • For education 100062324王璽鈞 100062330孫士媛 10162702翁景華 14 Overview of Processes in MINIX 100062324王璽鈞 100062330孫士媛 10162702翁景華 15 Interprocess Communication in MINIX 100062324王璽鈞 100062330孫士媛 10162702翁景華 16 MINIX Scheduling • Each time a process is interrupted from a I/O device or from the clock. • Within the task and sever levels processes run until they block, never preempted by the clock, • but user processes are scheduled using round robin. 100062324王璽鈞 100062330孫士媛 10162702翁景華 17 Microkernel • Modular kernel • Basic service: for process、storage、I/O • Others EX Internet • Scalability/ useful Application 100062324王璽鈞 100062330孫士媛 10162702翁景華 18 Difference • Linux、Unix use / Minix use 100062324王璽鈞 100062330孫士媛 10162702翁景華 19 100062330孫士媛 20 Agenda Introduction1 – Server Virtualization II. Introduction2 –Minix III. Minix over Linux: A User-space Multiserver Operating System I. I. Prerequisite II. III. Mol Architecture and Components Conclusions and Future Works 100062324王璽鈞 100062330孫士媛 10162702翁景華 21 What is MoL? 1. 2. 3. Minix on Linux A User-space Multiserver Operating System “A reliable OS running as a message oriented middleware” 100062324王璽鈞 100062330孫士媛 10162702翁景華 22 Why Minix? 1. 2. 3. 4. 5. Microkernel based Multilayer system Client/Server model Message Transfer Interprocess Communications (IPC) Interrupt hiding 100062324王璽鈞 100062330孫士媛 10162702翁景華 23 Agenda Introduction1 – Server Virtualization II. Introduction2 – Minix III. Minix over Linux: A User-space Multiserver Operating System I. I. Prerequisite II. III. Mol Architecture and Components Conclusions and Future Works 100062324王璽鈞 100062330孫士媛 10162702翁景華 24 Two design goals 1. 2. To be as independent of the host’s architecture as possible to facilitate the migration to different platforms other than Linux. To use a minimum of the host’s resources in order to facilitate live process migration on a cluster of machines. 100062324王璽鈞 100062330孫士媛 10162702翁景華 25 Architecture 100062324王璽鈞 100062330孫士媛 10162702翁景華 26 Architecture 100062324王璽鈞 100062330孫士媛 10162702翁景華 27 Architecture 100062324王璽鈞 100062330孫士媛 10162702翁景華 28 Agenda Introduction1 – Server Virtualization II. Introduction2 – Minix III. Minix over Linux: A User-space Multiserver Operating System I. I. Prerequisite II. III. Mol Architecture and Components Conclusions and Future Works 100062324王璽鈞 100062330孫士媛 10162702翁景華 29 Works Ahead Stable production-mode version 2. Security features 3. Virtualization of more devices 4. Performance optimizations 5. Binary compatibility 6. Process and status monitoring .etc 1. 100062324王璽鈞 100062330孫士媛 10162702翁景華 30 Main Target Distributed processing II. SSI-DOS = Single System Image DOS I. 100062324王璽鈞 100062330孫士媛 10162702翁景華 31