Microkernel Construction

Total Page:16

File Type:pdf, Size:1020Kb

Microkernel Construction Microkernel Construction Introduction Hermann Härtig SS2013 Benjamin Engel TU Dresden Operating Systems Group Microkernel Construction ClassClass GoalsGoals Provide deeper understanding of OS mechanisms Introduce L4 principles and concepts Make you become enthusiastic L4 hackers Propaganda for OS research at TU Dresden Hermann Härtig Benjamin Engel TU Dresden Operating Systems Group 2 Microkernel Construction AdministrationAdministration Thursday, 4th DS, 2 SWS Slides: http://www.tudos.org → Teaching → Microkernel Construction Subscribe to our mailing list: http://www.tudos.org/mailman/listinfo/mkc2013 In winter term: – Construction of Microkernel-based Systems (2 SWS) – Various Labs Hermann Härtig Benjamin Engel TU Dresden Operating Systems Group 3 Microkernel Construction „„Monolithic“Monolithic“ KernelKernel SystemSystem DesignDesign Application ApplicationApplication Application Unprivileged Mode Privileged File Network Mode Systems Subsystem Memory Process Drivers Management Management Monolithic Kernel Hermann Härtig Benjamin Hardware Engel TU Dresden Operating Systems Group 4 Microkernel Construction MonolithicMonolithic KernelKernel OSOS (Propaganda)(Propaganda) System components run in privileged mode ➔ No protection between system components – Faulty driver can crash the whole system – More than 2/3 of today's OS code are drivers ➔ No need for good system design – Direct access to data structures – Undocumented and frequently changing interfaces ➔ Big and inflexible – Difficult to replace system components Why something different? Hermann Härtig More and more difficult to manage increasing OS Benjamin Engel complexity TU Dresden Operating Systems Group 5 Microkernel Construction MicrokernelMicrokernel SystemSystem DesignDesign Application Application Application File Network Systems Stacks Memory Process Management Management Drivers Unprivileged System Services Mode Privileged Tasks Threads IPC Scheduling Mode Hermann Härtig Microkernel Benjamin Engel Hardware TU Dresden Operating Systems Group 6 Microkernel Construction ExampleExample –– IBMIBM WorkplaceWorkplace OSOS // MachMach OS/2 DOS OS/400 AIX Windows Application Application Application Application Application OS/2 DOS OS/400 Windows AIX Personality Personality Personality Personality Personality File Server Network Service Security Power Management Default Pager Device Support Bootstrap Name Service Hermann Mach Microkernel Härtig Benjamin Engel ARM PowerPC IA32 MIPS Alpha TU Dresden Operating Systems Group 7 Microkernel Construction ExampleExample –– QNXQNX // NeutrinoNeutrino . Embedded systems Message passing system (IPC) Network transparency Application Application Application Filesystem Device Process Network Manager Manager Manager Manager Unprivileged Mode Privileged Interrupt Network IPC Scheduler Mode Redirector Driver Hermann Härtig Neutrino - Microkernel Benjamin Engel Hardware TU Dresden Operating Systems Group 8 Microkernel Construction ExampleExample –– Fiasco.OCFiasco.OC Native Linux Native Linux L4Re Application Application Application X11 L4Linux Dope VPFS L4Re Hermann Fiasco.OC Microkernel Härtig Benjamin Engel Hardware TU Dresden Operating Systems Group 9 Microkernel Construction VisionsVisions vs.vs. RealityReality Flexibility and Customizable – Monolithic kernels are modular Maintainability and complexity – Monolithic kernel have layered architecture ✔ Robustness – Microkernels are superior due to isolated system components – Trusted code size (i386) • Fiasco kernel: about 15.000 loc • Linux kernel: about 300.000 loc (without drivers) Performance Hermann ✗ Härtig Benjamin – Application performance degraded Engel – Communication overhead (see next slides) TU Dresden Operating Systems Group 10 Microkernel Construction RobustnessRobustness vs.vs. PerformancePerformance (1)(1) System calls – Monolithic kernel: 2 kernel entries/exits – Microkernel: 4 kernel entries/exits + 2 context switches Application Application 1 4 Driver Driver 2 3 Microkernel Monolithic kernel Hermann Härtig Benjamin Engel HardwareHardware Hardware TU Dresden Operating Systems Group 11 Microkernel Construction RobustnessRobustness vs.vs. PerformancePerformance (2)(2) Calls between system services – Monolithic kernel: 1 function call – Microkernel: 4 kernel entries/exits + 2 context switches Network Network Driver Driver Subsystem Subsystem 1 4 2 3 Microkernel Monolithic kernel Hermann Härtig Benjamin Hardware Hardware Engel TU Dresden Operating Systems Group 12 Microkernel Construction ChallengesChallenges Build functional powerful and fast microkernels – Provide abstractions and mechanisms – Fast communication primitive (IPC) – Fast context switches and kernel entries/exits ➔ Subject of this lecture Build efficient OS services – Memory Management – Synchronization – Device Drivers – File Systems Hermann – Communication Interfaces Härtig Benjamin ➔ Engel Subject of lecture “Construction of Microkernel-based systems” (in winter term) TU Dresden Operating Systems Group 13 Microkernel Construction L4L4 MicrokernelMicrokernel FamilyFamily Originally developed by Jochen Liedtke (GMD / IBM Research) Current development: – Uni Karlsruhe: Pistachio – UNSW/NICTA/OKLABS: OKL4, SEL4, L4Verified – TU Dresden: Fiasco.OC, Nova Support for hardware architectures: – X86, ARM, ... Hermann Härtig Benjamin Engel TU Dresden Operating Systems Group 14 Microkernel Construction MoreMore MicrokernelsMicrokernels (Incomplete(Incomplete list)list) Commercial kernels – Singularity @ Microsoft Research – K42 @ IBM Research – velOSity/INTEGRITY @ Green Hills Software – Chorus/ChorusOS @ Sun Microsystems – PikeOS @ SYSGO AG – OKL4 Research kernels – EROS/CoyotOS @ John Hopkins University – Minix @ FU Amsterdam – Amoeba @ FU Amsterdam Hermann Härtig – Pebble @ Bell Labs Benjamin Engel – Grasshopper @ University of Sterling – Flux/Fluke @ University of Utah TU Dresden Operating Systems Group 15 Microkernel Construction L4L4 -- ConceptsConcepts Jochen Liedtke: “A microkernel does no real work” – Kernel provides only inevitable mechanisms – No policies implemented in the kernel Abstractions – Tasks with address spaces – Threads executing programs/code Mechanisms – Resource access control – Scheduling – Communication (IPC) Hermann Härtig Benjamin Engel TU Dresden Operating Systems Group 16 Microkernel Construction ThreadsThreads andand TasksTasks Task A Task B User User Code Code Thread2 User User User Stack Stack Stack Kernel Code Thread1 Thread3 Hermann Kernel Kernel Kernel Härtig Benjamin Stack Stack Stack Engel Microkernel TU Dresden Operating Systems Group 17 Microkernel Construction ThreadsThreads Represent unit of execution – Execute user code (application) – Execute kernel code (system calls, page faults, interrupts, exceptions) Subject to scheduling – Quasi-parallel execution on one CPU – Parallel execution on multiple CPUs – Voluntarily switch to another thread possible – Preemptive scheduling by the kernel according to certain parameters Associated with an address space Hermann – Executes code in one task at one point in time Härtig Benjamin • Migration allows threads move to another task Engel – Several threads can execute in one task TU Dresden Operating Systems Group 18 Microkernel Construction TasksTasks Represent domain of protection and isolation Container for code, data and resources Address space: capabilities + memory pages Three management operations: – Map: share page with other address space – Grant: give page to other address space – Unmap: revoke previously mapped page X X X grant unmap Hermann map Härtig Benjamin Engel X X X TU Dresden Operating Systems Group 19 Microkernel Construction RecursiveRecursive AddressAddress SpacesSpaces Application 1 Application 2 Pager 3 Pager 1 Pager 2 Initial Pager Hermann Härtig Benjamin Engel Physical Memory TU Dresden Operating Systems Group 20 Microkernel Construction Messages:Messages: CopyCopy DataData Direct and indirect data copy UTCB message (special area) Special case: register-only message Pagefaults during user-level memory access possible Task A Task B receive(msg, …) send(msg,…) copy data area data area Hermann data word 1 data word 1 Härtig msg data word 2 msg data word 2 Benjamin send string receive string Engel TU Dresden Operating Systems Group 21 Microkernel Construction Message:Message: MapMap ReferencesReferences Used to transfer memory pages and capabilities Kernel manipulates page tables Used to implement the map/grant operations Task A Task B send(msg,…) receive(msg, …) flexpage map flexpage Hermann send flexpage received flexpage Härtig msg msg Benjamin receive window Engel TU Dresden memory page Operating Systems Group 22 Microkernel Construction CommunicationCommunication andand ResourceResource ControlControl Need to control who can send data to whom – Security and isolation – Access to resources Approaches – IPC-redirection/introspection – Central vs. Distributed policy and mechanism – ACL-based vs. capability-based Task A Task B Thread IPC? Thread Hermann Härtig Resource Access? Benjamin Engel Hardware TU Dresden Resources Operating Systems Group 23 Microkernel Construction CapabilitiesCapabilities Task A Task B Capability Handles Capability Handles 3 1 2 1 2 2 Capability Table Capability Table C1 C3 C5C5 C1 C2 C4 Hermann Kernel Kernel Kernel Kernel Kernel Härtig Benjamin Object1 Object2 Object3 Object4 Object5 Engel TU Dresden Operating Systems Group 24 Microkernel Construction CapabilitiesCapabilities -- DetailsDetails Kernel objects represent resources and communication
Recommended publications
  • A Microkernel API for Fine-Grained Decomposition
    A Microkernel API for Fine-Grained Decomposition Sebastian Reichelt Jan Stoess Frank Bellosa System Architecture Group, University of Karlsruhe, Germany freichelt,stoess,[email protected] ABSTRACT from the microkernel APIs in existence. The need, for in- Microkernel-based operating systems typically require spe- stance, to explicitly pass messages between servers, or the cial attention to issues that otherwise arise only in dis- need to set up threads and address spaces in every server for tributed systems. The resulting extra code degrades per- parallelism or protection require OS developers to adopt the formance and increases development effort, severely limiting mindset of a distributed-system programmer rather than to decomposition granularity. take advantage of their knowledge on traditional OS design. We present a new microkernel design that enables OS devel- Distributed-system paradigms, though well-understood and opers to decompose systems into very fine-grained servers. suited for physically (and, thus, coarsely) partitioned sys- We avoid the typical obstacles by defining servers as light- tems, present obstacles to the fine-grained decomposition weight, passive objects. We replace complex IPC mecha- required to exploit the benefits of microkernels: First, a nisms by a simple function-call approach, and our passive, lot of development effort must be spent into matching the module-like server model obviates the need to create threads OS structure to the architecture of the selected microkernel, in every server. Server code is compiled into small self- which also hinders porting existing code from monolithic sys- contained files, which can be loaded into the same address tems. Second, the more servers exist | a desired property space (for speed) or different address spaces (for safety).
    [Show full text]
  • Ebook - Informations About Operating Systems Version: August 15, 2006 | Download
    eBook - Informations about Operating Systems Version: August 15, 2006 | Download: www.operating-system.org AIX Internet: AIX AmigaOS Internet: AmigaOS AtheOS Internet: AtheOS BeIA Internet: BeIA BeOS Internet: BeOS BSDi Internet: BSDi CP/M Internet: CP/M Darwin Internet: Darwin EPOC Internet: EPOC FreeBSD Internet: FreeBSD HP-UX Internet: HP-UX Hurd Internet: Hurd Inferno Internet: Inferno IRIX Internet: IRIX JavaOS Internet: JavaOS LFS Internet: LFS Linspire Internet: Linspire Linux Internet: Linux MacOS Internet: MacOS Minix Internet: Minix MorphOS Internet: MorphOS MS-DOS Internet: MS-DOS MVS Internet: MVS NetBSD Internet: NetBSD NetWare Internet: NetWare Newdeal Internet: Newdeal NEXTSTEP Internet: NEXTSTEP OpenBSD Internet: OpenBSD OS/2 Internet: OS/2 Further operating systems Internet: Further operating systems PalmOS Internet: PalmOS Plan9 Internet: Plan9 QNX Internet: QNX RiscOS Internet: RiscOS Solaris Internet: Solaris SuSE Linux Internet: SuSE Linux Unicos Internet: Unicos Unix Internet: Unix Unixware Internet: Unixware Windows 2000 Internet: Windows 2000 Windows 3.11 Internet: Windows 3.11 Windows 95 Internet: Windows 95 Windows 98 Internet: Windows 98 Windows CE Internet: Windows CE Windows Family Internet: Windows Family Windows ME Internet: Windows ME Seite 1 von 138 eBook - Informations about Operating Systems Version: August 15, 2006 | Download: www.operating-system.org Windows NT 3.1 Internet: Windows NT 3.1 Windows NT 4.0 Internet: Windows NT 4.0 Windows Server 2003 Internet: Windows Server 2003 Windows Vista Internet: Windows Vista Windows XP Internet: Windows XP Apple - Company Internet: Apple - Company AT&T - Company Internet: AT&T - Company Be Inc. - Company Internet: Be Inc. - Company BSD Family Internet: BSD Family Cray Inc.
    [Show full text]
  • Occupational Health and Safety Risks in the Healthcare Sector
    Occupational health and safety risks in the healthcare sector Guide to prevention and good practice This publication is supported by the European Union Programme for Employment and Social Solidarity - PROGRESS (2007-2013). This programme is implemented by the European Commission. It was established to financially support the implementation of the objectives of the European Union in the employment, social affairs and equal oppor- tunities area, and thereby contribute to the achievement of the Europe 2020 Strategy goals in these fields. The seven-year Programme targets all stakeholders who can help shape the development of appropriate and effective employment and social legislation and policies, across the EU-27, EFTA-EEA and EU candidate and pre-candidate countries. For more information see: http://ec.europa.eu/progress Occupational health and safety risks in the healthcare sector European Commission Directorate-General for Employment, Social Affairs and Inclusion Unit B.3 Manuscript completed in December 2010 Neither the European Commission nor any person acting on behalf of the Commission may be held responsible for the use that may be made of the information contained in this publication. © Cover photos: iStock For any use or reproduction of photos which are not under European Union copyright, permission must be sought directly from the copyright holder(s). This guide has been produced by the Bundesanstalt für Arbeitsschutz und Arbeitsmedizin (BAuA), Berufsgenossenschaft für Gesundheitsdienst und Wohlfahrtspflege (BGW), contec Gesellschaft für Organisationsentwicklung mbH, Deutsches Netz Gesundheitsfördernder Krankenhäuser (DNGfK) and BAD/ Team Prevent GmbH. Europe Direct is a service to help you find answers to your questions about the European Union Freephone number (*): 00 800 6 7 8 9 10 11 (*) Certain mobile telephone operators do not allow access to 00 800 numbers or these calls may be billed.
    [Show full text]
  • Rights Reserved. Permission to Make Digital Or Hard Copies of All Or Part Of
    Copyright © 1994, by the author(s). All rights reserved. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission. MICROSOFT WINDOWS NT AND THE COMPETITION FOR DESKTOP COMPUTING by Brad Peters, William R. Bush, and A. Richard Newton Memorandum No. UCB/ERL M94/3 31 January 1994 MICROSOFT WINDOWS NT AND THE COMPETITION FOR DESKTOP COMPUTING by Brad Peters, William R. Bush, and A. Richard Newton Memorandum No. UCB/ERL M94/3 31 January 1994 MICROSOFT WINDOWS NT AND THE COMPETITION FOR DESKTOP COMPUTING by Brad Peters, William R. Bush, and A. Richard Newton Memorandum No. UCB/ERL M94/3 31 January 1994 ELECTRONICS RESEARCH LABORATORY College ofEngineering University ofCalifornia, Berkeley 94720 MICROSOFT WINDOWS NT AND THE COMPETITION FOR DESKTOP COMPUTING by Brad Peters, William R. Bush, and A. Richard Newton Memorandum No. UCB/ERL M94/3 31 January 1994 ELECTRONICS RESEARCH LABORATORY College ofEngineering University ofCalifornia, Berkeley 94720 Microsoft Windows NT And The Competition for Desktop Computing January 1994 Department ofElectrical Engineering and Computer Sciences University ofCalifornia Berkeley, California 94720 Abstract This report contains two papers, An Introduction to Microsoft Windows NT And Its Competitors, and The Status ofWindows NT and Its Competitors At The End of1993. The first paper, written in April 1993,presents an overview of the technology of Windows NT, and analyzes the competitors and competitive factors in the desktop operating system race.
    [Show full text]
  • Moving FLASK to BSD Systems
    MovingMoving FLASKFLASK toto BSDBSD SSystemsystems SELinux Symposium 2006 Chris Vance Information Systems Security Operation, SPARTA, Inc. Vance_20060301_01 Overview • Security Frameworks • A Brief History • SELinux Inspired… – Security Enhanced BSD – Security Enhanced Darwin Vance_20060301_02 Security Frameworks • Traditional UNIX security isn’t enough – OS hardening – Mandatory protection – Flexible, manageable, scalable protection • Support required in the operating system for new security services – Costs of locally maintaining security extensions are high – Framework offers extensibility so that policies may be enhanced without changing the base operating system • There does not appear to be one perfect security model or policy – Sites may have different security/performance trade-offs – Sites may have special local requirements – Vendors unlikely to adopt a single policy • Bottom Line: Frameworks for Linux, FreeBSD, Darwin Vance_20060301_03 How We Got Here… Vance_20060301_04 Focus and Reuse • Don’t “reinvent” security – Learn from the past – The research is often decades old – A good design is durable, doesn’t require constant change – FLASK hasn’t changed much recently, what’s that mean? • Leverage existing technology, focus on “new” issues – Focus on improving operating system security – Spend the time to get Frameworks correct – Work with vendor for acceptance – Develop rule sets that work – Develop effective tools to manage policy • Do innovate – Don’t stop thinking! – Don’t squash new ideas – Re-factor old ideas Vance_20060301_05
    [Show full text]
  • Run-Time Reconfigurable RTOS for Reconfigurable Systems-On-Chip
    Run-time Reconfigurable RTOS for Reconfigurable Systems-on-Chip Dissertation A thesis submited to the Faculty of Computer Science, Electrical Engineering and Mathematics of the University of Paderborn and to the Graduate Program in Electrical Engineering (PPGEE) of the Federal University of Rio Grande do Sul in partial fulfillment of the requirements for the degree of Dr. rer. nat. and Dr. in Electrical Engineering Marcelo G¨otz November, 2007 Supervisors: Prof. Dr. rer. nat. Franz J. Rammig, University of Paderborn, Germany Prof. Dr.-Ing. Carlos E. Pereira, Federal University of Rio Grande do Sul, Brazil Public examination in Paderborn, Germany Additional members of examination committee: Prof. Dr. Marco Platzner Prof. Dr. Urlich R¨uckert Dr. Mario Porrmann Date: April 23, 2007 Public examination in Porto Alegre, Brazil Additional members of examination committee: Prof. Dr. Fl´avioRech Wagner Prof. Dr. Luigi Carro Prof. Dr. Altamiro Amadeu Susin Prof. Dr. Leandro Buss Becker Prof. Dr. Fernando Gehm Moraes Date: October 11, 2007 Acknowledgements This PhD thesis was carried out, in his great majority, at the Department of Computer Science, Electrical Engineering and Mathematics of the University of Paderborn, during my time as a fellow of the working group of Prof. Dr. Franz J. Rammig. Due to a formal agreement between Federal University of Rio Grande do Sul (UFRGS) and University of Paderborn, I had the opportunity to receive a bi-national doctoral degree. Therefore, I had to accomplished, in addition, the PhD Graduate Program in Electrical Engineering of UFRGS. So, I hereby acknowledge, without mention everyone personally, all persons involved in making this agreement possible.
    [Show full text]
  • Introduction
    1 INTRODUCTION A modern computer consists of one or more processors, some main memory, disks, printers, a keyboard, a mouse, a display, network interfaces, and various other input/output devices. All in all, a complex system.oo If every application pro- grammer had to understand how all these things work in detail, no code would ever get written. Furthermore, managing all these components and using them optimally is an exceedingly challenging job. For this reason, computers are equipped with a layer of software called the operating system, whose job is to provide user pro- grams with a better, simpler, cleaner, model of the computer and to handle manag- ing all the resources just mentioned. Operating systems are the subject of this book. Most readers will have had some experience with an operating system such as Windows, Linux, FreeBSD, or OS X, but appearances can be deceiving. The pro- gram that users interact with, usually called the shell when it is text based and the GUI (Graphical User Interface)—which is pronounced ‘‘gooey’’—when it uses icons, is actually not part of the operating system, although it uses the operating system to get its work done. A simple overview of the main components under discussion here is given in Fig. 1-1. Here we see the hardware at the bottom. The hardware consists of chips, boards, disks, a keyboard, a monitor, and similar physical objects. On top of the hardware is the software. Most computers have two modes of operation: kernel mode and user mode. The operating system, the most fundamental piece of soft- ware, runs in kernel mode (also called supervisor mode).
    [Show full text]
  • Operating System Structure
    Operating System Structure Joey Echeverria [email protected] modified by: Matthew Brewer [email protected] Nov 15, 2006 Carnegie Mellon University: 15-410 Fall 2006 Overview • Motivations • Kernel Structures – Monolithic Kernels ∗ Kernel Extensions – Open Systems – Microkernels – Exokernels – More Microkernels • Final Thoughts Carnegie Mellon University: 15-410 Fall 2006 1 Motivations • Operating systems have a hard job. • Operating systems are: – Hardware Multiplexers – Abstraction layers – Protection boundaries – Complicated Carnegie Mellon University: 15-410 Fall 2006 2 Motivations • Hardware Multiplexer – Each process sees a “computer” as if it were alone – Requires allocation and multiplexing of: ∗ Memory ∗ Disk ∗ CPU ∗ IO in general (network, graphics, keyboard etc.) • If OS is multiplexing it must also allocate – Priorities, Classes? - HARD problems!!! Carnegie Mellon University: 15-410 Fall 2006 3 Motivations • Abstraction Layer – Presents “simple”, “uniform” interface to hardware – Applications see a well defined interface (system calls) ∗ Block Device (hard drive, flash card, network mount, USB drive) ∗ CD drive (SCSI, IDE) ∗ tty (teletype, serial terminal, virtual terminal) ∗ filesystem (ext2-4, reiserfs, UFS, FFS, NFS, AFS, JFFS2, CRAMFS) ∗ network stack (TCP/IP abstraction) Carnegie Mellon University: 15-410 Fall 2006 4 Motivations • Protection Boundaries – Protect processes from each other – Protect crucial services (like the kernel) from process – Note: Everyone trusts the kernel • Complicated – See Project 3 :) – Full
    [Show full text]
  • Integrated Report 2019
    Integrated Report 2019 JP TOWER, 2-7-2 Marunouchi, Chiyoda-ku, Tokyo 100-7015, Japan Phone: +81-3-6250-2111 https://konicaminolta.com CONTENTS On the Release of Integrated Report 2019 1 On the Release of Integrated Report 2019 2 CONTENTS Konica Minolta’s Strengths 03 Since fiscal 2015, Konica Minolta has released annual reports (the name of these reports was changed to the and Value Creation 3 Konica Minolta Philosophy integrated report in 2017) that provide a comprehensive look at the Company's activities and philosophies. 7 Value Creation Process The fifth report is now available. We made this integrated report to be a communication tool to better 9 Konica Minolta's Strengths 1. Customer base familiarize stakeholders, including shareholders and investors, with Konica Minolta by systematically 11 Konica Minolta’s Strengths 2. Technical expertise organizing both financial and non-financial information. 13 Konica Minolta’s Strengths 3. Business Model The 2018 integrated report was externally well-received, winning recognition and awards that included Growth Strategy 15 the Special Award in the Nikkei Annual Report Awards conducted by Nikkei Inc., and the Excellence in 15 Medium Term Business Plan Integrated Reporting Prize at the 6th WICI Japan Awards for Excellence in Integrated Reporting. 17 Message from the CEO Integrated Report 2019 clarifies the Konica Minolta Group's strengths and value creation processes 25 Message from the CFO 29 while explaining the Group's medium- to long-term business strategy and pathway to value creation with a Special Topics Building High Value-Added Businesses focus on SHINKA 2019, the new Medium Term Business Plan formulated in 2017.
    [Show full text]
  • Microkernel Construction Introduction
    Microkernel Construction Introduction Nils Asmussen 04/06/2017 1 / 28 Outline Introduction Goals Administration Monolithic vs. Microkernel Overview About L4/NOVA 2 / 28 Goals 1 Provide deeper understanding of OS mechanisms 2 Look at the implementation details of microkernels 3 Make you become enthusiastic microkernel hackers 4 Propaganda for OS research at TU Dresden 3 / 28 Administration Thursday, 4th DS, 2 SWS Slides: www.tudos.org ! Teaching ! Microkernel Construction Subscribe to our mailing list: www.tudos.org/mailman/listinfo/mkc2017 In winter term: Microkernel-based operating systems (MOS) Various labs 4 / 28 Outline Introduction Monolithic vs. Microkernel Kernel design comparison Examples for microkernel-based systems Vision vs. Reality Challenges Overview About L4/NOVA 5 / 28 Monolithic Kernel System Design u s Application Application Application e r k Kernel e r File Network n e Systems Stacks l m Memory Process o Drivers Management Management d e Hardware 6 / 28 Monolithic Kernel OS (Propaganda) System components run in privileged mode No protection between system components Faulty driver can crash the whole system Malicious app could exploit bug in faulty driver More than 2=3 of today's OS code are drivers No need for good system design Direct access to data structures Undocumented and frequently changing interfaces Big and inflexible Difficult to replace system components Difficult to understand and maintain Why something different? ! Increasingly difficult to manage growing OS complexity 7 / 28 Microkernel System Design Application
    [Show full text]
  • Chapter 2 Operating System Structures
    Operating Systems Associate Prof. Yongkun Li 中科大-计算机学院 副教授 http://staff.ustc.edu.cn/~ykli Chapter 2 Operating System Structures 1 Objectives • Operating System Services – User Operating System Interface – System Calls • Operating System Structure • Operating System Design and Implementation • MISC: Debugging, Generation & System Boot 2 Operating System Services Services Overview, User Interface 3 Operating System Services • Operating systems provide – an environment for execution of programs and – services to programs and users • Services may differ from one OS to another • What are the common classes? – Convenience of the user – Efficiency of the system 4 Overview of Operating System Services 5 OS Services for Helping Users • User interface - Almost all operating systems have a user interface (UI). – Three forms • Command-Line (CLI) – Shell command • Batch – Shell script • Graphics User Interface (GUI) – Windows system 6 OS Services for Helping Users • Program execution – Load a program into memory – Run the program – End execution • either normally or • abnormally (indicating error) 7 OS Services for Helping Users • I/O operations - A running program may require I/O, which may involve a file or an I/O device – Common I/Os: read, write, etc. – Special functions: recording CD/DVD • Notes: Users usually cannot control I/O devices directly, so OS provides a mean to do I/O – Mainly for efficiency and protection 8 OS Services for Helping Users • File-system manipulation - The file system is of particular interest – OS provides a variety of file systems • Major services – read and write files and directories – create and delete files and directories – search for a given file – list file Information – permission management: allow/deny access 9 OS Services for Helping Users • Communications: information exchange between processes – Processes on the same computer – Processes between computers over a network • Implementations – Shared memory • Two or more processes read/write to a shared section of mem.
    [Show full text]
  • Darwin: Mac OS X's Core OS
    ADC April 2001 3/8/01 1:57 PM Page 1 Apple Developer Connection Direct Darwin: Mac OS X’s Core OS eneath Mac OS X’s user-friendly and attractive user interface, Most of the reference documents can be Aqua, and the application frameworks (Classic, Carbon and found in the /Developer/Documentation/ BCocoa) is Darwin: Mac OS X’s core OS. Unseen by users, Kernel directory on any Mac OS X system Darwin provides a strong yet flexible foundation with features like with the Mac OS X Developer Tools package preemptive multitasking, protected memory and real-time support installed. that make Mac OS X a truly modern operating system. The focus of this article is to provide a brief overview of Components of Darwin Darwin and its components as well as give an introduction to Just like in the old Reese’s Peanut Butter developing kernel extensions—modules that extend Darwin’s Cups commercials (“You’ve got chocolate in functionality. For more in-depth information, you should read my peanut butter… No, you’ve got peanut butter on my choco- Inside Mac OS X: Kernel Environment which is available, along late!”), Darwin blends a mixture of mature industry standard com- with other documents referred to in this article, on the Apple ponents such as Mach and BSD with Apple-engineered components Developer Connection (ADC) web site in the Mac OS X to provide Mac OS X with a stable, reliable and extensible founda- Documentation section: tion. Darwin consists of five main components: Mach, I/O Kit, File http://developer.apple.com/techpubs/macosx/macosx.html System, Networking and BSD.
    [Show full text]