Download presentation
Presentation is loading. Please wait.
Published byDina Beasley Modified over 8 years ago
1
MicrokernelsCS-502 (EMC) Fall 20091 Microkernels CS-502, Operating Systems Fall 2009 (EMC) (Slides include materials from Modern Operating Systems, 3 rd ed., by Andrew Tanenbaum and from Operating System Concepts, 7 th ed., by Silbershatz, Galvin, & Gagne)
2
MicrokernelsCS-502 (EMC) Fall 20092 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.
3
MicrokernelsCS-502 (EMC) Fall 20093 Operating System Structures Monolithic systems Formerly called “the big mess” Layered systems Microkernel based systems Client-server model Virtual Machines Exokernels Tanenbaum, §1.7 An epithet leveled at any big system by a speaker who does not understand & and made by someone s/he does not trust!
4
MicrokernelsCS-502 (EMC) Fall 20094 Operating System Structures Monolithic systems Formerly called “the big mess” Layered systems Microkernel based systems Client-server model Virtual Machines Exokernels A faulty driver or component can corrupt any data in kernel Arbitrary damage Stop system anywhere … etc.
5
MicrokernelsCS-502 (EMC) Fall 20095 Layered Systems Figure 1-25. Structure of the THE operating system. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
6
MicrokernelsCS-502 (EMC) Fall 20096 Layered Systems Figure 1-25. Structure of the THE operating system. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 Simple Elegant Incredibly naïve
7
MicrokernelsCS-502 (EMC) Fall 20097 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
8
MicrokernelsCS-502 (EMC) Fall 20098 Microkernel Example Figure 1-26. Structure of the MINIX 3 system. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639
9
MicrokernelsCS-502 (EMC) Fall 20099 Microkernel Example Figure 1-26. Structure of the MINIX 3 system. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 Works great on a PDP-11 Memory addressable device registers Minimal interrupt handling, scheduling, IPC, etc No virtual memory management
10
MicrokernelsCS-502 (EMC) Fall 200910 Microkernel Issues Virtual memory management Needs to interact directly with scheduler Page faults, etc. Kernel support for user-space threads Fast I/O devices Quick, responsive interrupts Top- and bottom-halves for interrupt handlers Interprocess communication … On every context switch! Cannot afford context switches Remember Project #4
11
MicrokernelsCS-502 (EMC) Fall 200911 Microkernel Meets the Real World Windows NT Started life as a microkernel No longer “micro” No longer a kernel!
12
MicrokernelsCS-502 (EMC) Fall 200912 Figure 11-6. The programming layers in Windows. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 One View of Windows Vista
13
MicrokernelsCS-502 (EMC) Fall 200913 Figure 11-7. The components used to build NT subsystems. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 Another View of Windows Vista
14
MicrokernelsCS-502 (EMC) Fall 200914 Figure 11-13. Windows kernel-mode organization. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved. 0-13-6006639 A Third View of Windows Vista
15
MicrokernelsCS-502 (EMC) Fall 200915 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
16
MicrokernelsCS-502 (EMC) Fall 200916 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
17
MicrokernelsCS-502 (EMC) Fall 200917 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
18
MicrokernelsCS-502 (EMC) Fall 200918 Questions or Discussion?
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.