microkernels
play

Microkernels John Criswell University of Rochester 1 Onwards to - PowerPoint PPT Presentation

CSC 256/456: Operating Systems Microkernels John Criswell University of Rochester 1 Onwards to user-space! 2 Microkernels 3 Monolithic Kernel (aka Everything and the Kitchen Sink) Application Application Libraries Commands


  1. CSC 256/456: Operating Systems Microkernels John Criswell University of Rochester 1

  2. Onwards to user-space! 2

  3. Microkernels 3

  4. Monolithic Kernel (aka Everything and the Kitchen Sink) Application Application … Libraries Commands Programs Programs OS System Call Interface Device Driver Driver Interface Monolithic Kernel Module Device Driver •Process Management •Memory Management … •File Management •Device Mgmt Infrastructure Device Driver 4

  5. Monolithic Kernel Limitations ❖ Poor security ❖ Buffer overflow gains access to everything! ❖ Poor reliability ❖ Bug in kernel can affect unrelated subsystems ❖ Difficult to restart faulty subsystem 5

  6. Processes Don’t Have This Problem ❖ Isolated memory Web Email MP3 ❖ Communication via Server Client Player ❖ Pipes ❖ Explicitly shared memory ❖ Self-contained programs ❖ No access to irrelevant data structures 6

  7. Could kernel components be processes? 7

  8. Microkernel ❖ Move kernel functionality into user-space processes ❖ File systems ❖ Networking subsystem ❖ Drivers ❖ Kernel provides ❖ Protection ❖ Communication mechanisms 8

  9. Microkernel Web Email MP3 Video Server Client Player Game File Process Page TCP/IP System Credentials Replacement Ethernet Terminal Disk Driver User Mode Driver Driver Address Interrupt IPC Kernel Mode Space Handler 9

  10. Advantages of Microkernels ❖ Faults are localized ❖ Bug in network code doesn’t corrupt disk data ❖ Easier to improve reliability ❖ Can monitor and restart processes (e.g., filesystem) ❖ Easier to apply security techniques ❖ Randomization and re-randomization (Guiffruida) ❖ Apply memory safety or type-safe language to critical processes 10

  11. Disadvantages of Microkernels ❖ Communication overhead ❖ Semantics of message passing affects performance ❖ What is placed in user-space affects performance ❖ User/Kernel boundary crossing overhead ❖ Context switching overhead ❖ Monolithic libraries are always available ❖ User-space service may not have CPU when needed ❖ TLB Flush when switching page table pages 11

  12. Microkernel Advantages are Not Magic ❖ Reliability must be designed and built ❖ File system process crash still catastrophic ❖ Restart of critical processes must be designed and built ❖ Security is still an issue ❖ Exploited file system process can access any file ❖ Exploited network process can read all packets 12

  13. Mach ❖ Developed at Carnegie Mellon University in the 80’s ❖ Memory management design influenced modern OS design ❖ Goal: separate policy from mechanism 13

  14. Example: Mach ❖ User-level memory management ❖ trusted/protected by the kernel ❖ kernel provides the basic protection mechanism ❖ user-level memory manager handles page loading; decides replacement policy 14

  15. Microkernel Failures ❖ Windows NT family ❖ Original Windows NT had microkernel design ❖ By Windows 2000, functionality moved into kernel ❖ Mac OS X ❖ Based on NextStep which is based on Mach + 4.4BSD ❖ BSD sub-systems moved into kernel; live alongside Mach ❖ Essentially two kernels living in the same space 15

  16. Microkernel Successes ❖ QNX (real-time operating system kernel) ❖ Symbian (mobile operating system) ❖ L4 ❖ Major work to reduce microkernel overheads ❖ Can run Linux with L4Linux ❖ seL4: Fully verified variant 16

  17. Hypervisors and Virtual Machines 17

  18. Virtual Machines ❖ Run multiple OS instances ❖ Migrate OS instances from one machine to another ❖ Software compatibility when hardware changes Windows Mac OS X Linux ??? Hardware 18

  19. Compiler Translation ❖ Translate binary code (Original VMWare) ❖ Translate virtual code (JVM, OS/360) Windows Mac OS X Linux Original VMWare Hardware 19

  20. Para-Virtualizaiton ❖ Modify OS to interface with lower-level hypervisor ❖ Efficient but requires OS changes Windows Mac OS X Linux Original Xen Hardware 20

  21. Hardware Virtualization ❖ Hardware provide new privilege layer under OS ❖ Efficient ❖ Compatible ❖ Requires new hardware Windows Mac OS X Linux Xen, Hyper-V Hardware 21

  22. Credits ❖ Some slides based on slides from previous year ❖ Slides only to be used for instruction at the University of Rochester 22

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend