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

Recommend


More recommend