Microkernel-Betriebssysteme Mach, L4, Hurd

Microkernel-Betriebssysteme Mach, L4, Hurd

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.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    17 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us