
Konzepte von Betriebssystem-Komponenten Microkernel-Betriebssysteme Mach, L4, Hurd 14. November 2002 Holger Ruckdeschel [email protected] Konzepte von Betriebssystem-Komponenten 1 Microkernel-Betriebssysteme (Mach, L4, Hurd) Holger Ruckdeschel, WS 2002/2003 Übersicht Gegenüberstellung: Monolithischer Kernel - Microkernel Der Mach Microkernel Der L4 Microkernel GNU Hurd Geschwindigkeitsvergleich: Mach - L4 Konzepte von Betriebssystem-Komponenten 2 Microkernel-Betriebssysteme (Mach, L4, Hurd) Holger Ruckdeschel, WS 2002/2003 Monolithischer Kernel Klassischer Ansatz (Unix) Alle BS-Komponenten in Kern integriert Gemeinsamer Adressraum Konzepte von Betriebssystem-Komponenten 3 Microkernel-Betriebssysteme (Mach, L4, Hurd) Holger Ruckdeschel, WS 2002/2003 Monolithischer Kernel Anwendung Anwendung Anwendung User Mode Kernel Mode API Prozess- Speicher- Datei- ... manager manager system Konzepte von Betriebssystem-Komponenten 4 Microkernel-Betriebssysteme (Mach, L4, Hurd) Holger Ruckdeschel, WS 2002/2003 Monolithischer Kernel Vorteile effiziente Kommunikation im Kern Hardwarezugriffe jederzeit und unmittelbar durchführbar Nachteile kein Zugriffsschutz zwischen den Komponenten undurchsichtige Struktur Konzepte von Betriebssystem-Komponenten 5 Microkernel-Betriebssysteme (Mach, L4, Hurd) Holger Ruckdeschel, WS 2002/2003 Microkernel Auslagerung von BS-Komponenten in Server BS-Komponenten in getrennten Speicherbereichen Kernel bietet lediglich einfaches Prozessmanagement einfaches Speichermanagement effiziente Wege zur Inter-Prozess-Kommunikation (IPC) Konzepte von Betriebssystem-Komponenten 6 Microkernel-Betriebssysteme (Mach, L4, Hurd) Holger Ruckdeschel, WS 2002/2003 Microkernel Datei- Anwendung Anwendung ... system User Mode Kernel Mode API Prozess- Speicher- manager manager Konzepte von Betriebssystem-Komponenten 7 Microkernel-Betriebssysteme (Mach, L4, Hurd) Holger Ruckdeschel, WS 2002/2003 Microkernel Vorteile Schutz der BS-Komponenten voreinander hohe Flexibilität Nachteile Kommunikation ist teuer Konzepte von Betriebssystem-Komponenten 8 Microkernel-Betriebssysteme (Mach, L4, Hurd) Holger Ruckdeschel, WS 2002/2003 Mach Ausgangspunkt 4.2BSD Schrittweiser Tausch von BSD- gegen Mach-Code ¡ Mach Release 2 4.3BSD kompatibel monolithisch Auslagerung von BSD-Komponenten in Server ¡ Mach Release 3 Unix-frei Microkernel Geräteschnittstelle Konzepte von Betriebssystem-Komponenten 9 Microkernel-Betriebssysteme (Mach, L4, Hurd) Holger Ruckdeschel, WS 2002/2003 Mach - Konzepte Task Textsegment Threads Nachricht Ports Datensegment nach: Silberschatz Konzepte von Betriebssystem-Komponenten 10 Microkernel-Betriebssysteme (Mach, L4, Hurd) Holger Ruckdeschel, WS 2002/2003 L4 Von Anfang an als Microkernel entworfen Erste Version: L4/x86 Heute: verschiedene Architekturen Alpha MIPS StrongARM PowerPC IA64 Konzepte von Betriebssystem-Komponenten 11 Microkernel-Betriebssysteme (Mach, L4, Hurd) Holger Ruckdeschel, WS 2002/2003 L4 - Konzepte Flexpages Virtuelle Adressräume bestehen aus Flexpages Ein- und Ausblenden von Flexpages mit grant, map, flush Threads Tasks Clans Gruppe von Tasks mit privilegiertem Chief kein eigenes I/O-System Konzepte von Betriebssystem-Komponenten 12 Microkernel-Betriebssysteme (Mach, L4, Hurd) Holger Ruckdeschel, WS 2002/2003 L4 - I/O Keine I/O-Schnittstelle im Kernel Gerätetreiber im User-Mode Einblenden der I/O-Adressräume in Tasks Weiterleitung von IRQs als IPC-Nachrichten Konzepte von Betriebssystem-Komponenten 13 Microkernel-Betriebssysteme (Mach, L4, Hurd) Holger Ruckdeschel, WS 2002/2003 GNU Hurd Microkernel-Betriebssystem auf Basis von GNU Mach Kernel enthält Gerätetreiber Server für Dateisysteme (ext2, isofs u.a.) Netzwerkprotokolle (IP, ...) ... spezielle Bibliotheken (z.B. libext2fs) spezielle Utilities (z.B. settrans) Konzepte von Betriebssystem-Komponenten 14 Microkernel-Betriebssysteme (Mach, L4, Hurd) Holger Ruckdeschel, WS 2002/2003 GNU Hurd Beispiel für Hurd-Systemkommando: Dateisystem mounten settrans -c /mountpoint /hurd/ext2fs /dev/hd0s1 ext2fs-Server läuft als normaler Prozess Jeder Benutzer kann eigene Server schreiben und starten Zum Vergleich: Linux mount /dev/hda1 /mountpoint -t ext2 Befehl direkt an Kernel Kernel muss Dateisystem bereitstellen Konzepte von Betriebssystem-Komponenten 15 Microkernel-Betriebssysteme (Mach, L4, Hurd) Holger Ruckdeschel, WS 2002/2003 Geschwindigkeitsvergleich Vergleich von Linux (monolithisch) MkLinux (auf Mach aufsetzend) L4Linux (auf L4 aufsetzend) Konzepte von Betriebssystem-Komponenten 16 Microkernel-Betriebssysteme (Mach, L4, Hurd) Holger Ruckdeschel, WS 2002/2003 Geschwindigkeitsvergleich Low-Level Benchmark: getpid()-Aufruf Linux 1,68 µs L4Linux 3,95 µs MkLinux 110,60 µs High-Level Benchmark: Übersetzen des Linux-Servers Linux 476 s L4Linux 506 s MkLinux 605 s Konzepte von Betriebssystem-Komponenten 17 Microkernel-Betriebssysteme (Mach, L4, Hurd) Holger Ruckdeschel, WS 2002/2003.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages17 Page
-
File Size-