OPERATING SYSTEMS DESIGN AND IMPLEMENTATION Third Edition ANDREW S OPERATING SYSTEMS DESIGN AND IMPLEMENTATION Third Edition ANDREW S. TANENBAUM ALBERT S. WOODHULL Yan hao (Wilson) Wu wwu@uwc.ac.za University of the Western Cape Computer Science Department
Minix Structure From: Free Software Bazaar '06 2 Jorrit N. Herder Printer are solid But the driver ? Why is the entire network stack in the kernel? Would you run my nifty kernel module? MMU Process try to access an other process a mmu exception going arise. From: Free Software Bazaar '06 2 Jorrit N. Herder
THE MINIX 3 USERMODE SERVERS AND DRIVERS All code runs at highest privilege level (breaches POLA) – No proper fault isolation (any bug can be fatal) – Huge amount of code in kernel (616 bugs per 1000 LoC) – Untrusted, 3rd party code in kernel (70% driver code) – Entangled code increases complexity (hard to maintain) ● Crashed user processes can be restarted ATA (Advanced Technology Attachment) is the official name for what the computer industry calls computer industry calls Integrated Drive Electronics (IDE).
Monolithic Kernel vs. Microkernel Feature/Kernel type Monolithic Kernel Microkernel Modularity Flexibility Maintainability Security Compatibility Performance Virus Kernel mode;
Characteristics of Minix ● Minimal kernel to support user-mode OS – Stable kernel (~4000 LoC) reduces number of fatal bugs ● User-mode modules are physically isolated by MMU – Memory access must be explicitly granted by other party ● Privileges of each components are strongly restricted – Policies for IPC, kernel calls, I/O, memory, scheduling
Minix Future ● Reliability and security become more important! – E.g., think of banking on embedded devices ● Starting to become useful operating system – E.g., recently the X Window System was ported ● Open source project (under BSD license) – You can inspect, modify, contribute, etc. practical
Resources for Minix www.minix3.org Towards a True Microkernel Operating System, Master's Thesis, Vrije Universiteit, Amsterdam, The Netherlands, Feb. 2005.