* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Microkernels
Survey
Document related concepts
Library (computing) wikipedia , lookup
Berkeley Software Distribution wikipedia , lookup
Criticism of Windows Vista wikipedia , lookup
Copland (operating system) wikipedia , lookup
Unix security wikipedia , lookup
Mobile operating system wikipedia , lookup
Security-focused operating system wikipedia , lookup
Spring (operating system) wikipedia , lookup
Transcript
Microkernels CS-502, Operating Systems Fall 2009 (EMC) (Slides include materials from Modern Operating Systems, 3rd ed., by Andrew Tanenbaum and from Operating System Concepts, 7th ed., by Silbershatz, Galvin, & Gagne) CS-502 (EMC) Fall 2009 Microkernels 1 Problem • Operating systems are large • They continue to evolve and grow • … and are worked on by many people • (Like all other programs) they contain bugs • How to organize them so that bugs do not • … bring down systems • … impede normal operation • … etc. CS-502 (EMC) Fall 2009 Microkernels 2 Operating System Structures Tanenbaum, §1.7 • Monolithic systems • Formerly called “the big mess” • Layered systems • Microkernel based systems An epithet leveled at any big system by a speaker who does not understand & and made by someone s/he does not trust! • Client-server model • Virtual Machines • Exokernels CS-502 (EMC) Fall 2009 Microkernels 3 Operating System Structures • Monolithic systems • Formerly called “the big mess” A faulty driver or component can corrupt any data in kernel • Layered systems • Microkernel based systems • Client-server model • Arbitrary damage • Stop system anywhere • … etc. • Virtual Machines • Exokernels CS-502 (EMC) Fall 2009 Microkernels 4 Layered Systems Figure 1-25. Structure of the THE operating system. CS-502 (EMC) Fall 2009 Microkernels 5 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 Layered Systems Simple Elegant Incredibly naïve Figure 1-25. Structure of the THE operating system. CS-502 (EMC) Fall 2009 Microkernels 6 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 Microkernel — An Organizing Principle • Partition OS kernel into lots of small, independent pieces • Put pieces in separate “processes” • Isolated from each other except for message passing • Keep kernel mode code to a minimum • Concept emerged in 1970s • MACH at CMU (Rick Rashid) • NEXT computer • Apple Mac-OS CS-502 (EMC) Fall 2009 Microkernels 7 Microkernel Example Figure 1-26. Structure of the MINIX 3 system. CS-502 (EMC) Fall 2009 Microkernels 8 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 Microkernel Example Works great on a PDP-11 • MemoryFigure addressable device registers of the MINIX 3 system. 1-26. Structure • Minimal interrupt handling, scheduling, CS-502 (EMC) Fall 2009 Microkernels IPC, etc • No virtual memory management 9 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 Microkernel Issues • Virtual memory management • Needs to interact directly with scheduler On every context switch! • Page faults, etc. • Kernel support for user-space threads • Fast I/O devices • Quick, responsive interrupts Cannot afford context switches • Top- and bottom-halves for interrupt handlers • Interprocess communication Remember Project #4 • … CS-502 (EMC) Fall 2009 Microkernels 10 Microkernel Meets the Real World • Windows NT • Started life as a microkernel • No longer “micro” • No longer a kernel! CS-502 (EMC) Fall 2009 Microkernels 11 One View of Windows Vista Figure 11-6. The programming layers in Windows. CS-502 (EMC) Fall 2009 Microkernels 12 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 Another View of Windows Vista Figure 11-7. The components used to build NT subsystems. CS-502 (EMC) Fall 2009 Microkernels 13 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 A Third View of Windows Vista Figure 11-13. Windows kernel-mode organization. CS-502 (EMC) Fall 2009 Microkernels 14 Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 Lesson — Windows Vista • There are a lot of layers of abstraction • Many of the pieces are operate in separate address spaces • An other isolation • Most of Vista operates outside kernel mode CS-502 (EMC) Fall 2009 Microkernels 15 Microkernels • A good idea in the 1970s and 80s • Not up to demands of modern processors • Virtual memory • Heavy caching • Not up to demand of modern operating systems CS-502 (EMC) Fall 2009 Microkernels 16 Microkernel Resurrection • Mobile phones, PDAs, handheld devices • Fixed or limited functionality • No general purpose files • No dynamic virtual memory • • Simple context switches • All code already in memory • Easy IPC CS-502 (EMC) Fall 2009 Microkernels 17 Questions or Discussion? CS-502 (EMC) Fall 2009 Microkernels 18