140 likes | 257 Views
Laufzeitplattform = abstrakte Maschine für den Anwender Komfortabler Zugang Geschützte Adreßräume Traps, privilegierter Zustand. Monolithische Systeme Änderungen im Kern, schwierig Literatur: Nehmer-Sturm, Systemsoftware. Kapitel 26 BS-Kerne. Geschichtete Systeme. Komplexität vermindert
E N D
Laufzeitplattform = abstrakte Maschine für den Anwender Komfortabler Zugang Geschützte Adreßräume Traps, privilegierter Zustand Monolithische Systeme Änderungen im Kern, schwierig Literatur: Nehmer-Sturm, Systemsoftware Kapitel 26 BS-Kerne BS-Kerne
Geschichtete Systeme Komplexität vermindert Klare Schnittstellen BS-Kerne
Systemfamilien Neue Mitglieder durch Spezialisten hergestellt BS-Kerne
Offene Plattformen Erweiterungen, Ersetzungen, Modifikationen in der Abstraktionsebene des Anwenders Klient-Server-Architektur: - Laufzeitbibliothek im Adreßraum der Anwendungen - Server mit eigenem Adreßraum -(System-)Kern Benutzerschnittstelle , im Extremfall nicht der Kern Neue Funktionalitäten: - Erweiterung der Laufzeitbibliothek - weitere Server all das auf der Abstraktionsebene der Anwendungen BS-Kerne
Minimale Kerne: - Hantierung von Threads und Adreßräumen - Elementare Schutzmechanismen: -- Monopolisierung des Speichers und Prozessors -- Peripheriezugang „Mini- Mikro- Nanokern“ Server: Allgemeine, anwendungsneutrale Dienste Adreßraum-lokale Laufzeitbibliotheken - Stark anwendungsabhängig - Effizienz Mikrokernkonzept entwickelt bei V, Amoeba, Mach, Chorus: Existierende BS sollten auf dem Kern realisierbar sein, auch mehrere zugleich Dazu muß der Kern ganz elementar oder stark parametrisierbar sein BS-Kerne
Kernbasierte Systemarchitektur ist Stand der Technik Vorläufer dieser Idee: VM (IBM). Nicht rechnerneutral. Virtuelle Rechner (Speicher, Prozessor, Peripherie). Verschiedene BS nebeneinander. Funktionen auch in Servern Technologie für leichte Migration auf neuartige Hardware BS-Kerne
Speichereinbettung des Kerns - Eigener virtueller Adreßraum - Zugriffsgeschützter, realer Speicherbereich, real adressiert - In jeden virtuellen Adreßraum eingeblendet; Anwendungsprozesse haben keine Zugriffsrechte; effizient, da weniger Kontextwechsel Funktionsaufruf per Trap (Interrupt) BS-Kerne
Serielle Kerne: Zu jedem Zeitpunkt höchstens ein Kernaufruf Vorteil: Keine Synchronisierung Kern nicht unterbrechbar Probleme: - Blockierende Kernaufrufe - Asynchrone Unterbrechungen Abhilfe bei Einprozessorrechnern: - Vor Prozeßwechsel bei blockierendem Aufruf konsistenten Kernzustand herstellen - Bei asynchronnen Unterbrechungen wird der Thread im Kern nicht gewechselt, und es ist Trennung der Datenbereiche sichergestellt BS-Kerne
Nebenläufige Kerne BS-Kerne
Nebenläufige Kerne Nukleus: - Prozessormultiplexer - Mittel für einfache Thread-Synchronisation, z.B. Semaphore Alles andere machen Threads, die sich synchronisieren, in der Ebene höherer Kernfunktionen (oder außerhalb des Kerns) Serialisierbarkeit durch „Spin-Locks“, das sind Synchronisationsoperationen mit aktivem Warten, für kurzedauernde kritische Bereiche; insbesondere werden dabei Unterbrechungen aufgeschoben. Damit organisiert der Nukleus die Kernaufrufe. Auslagerung der E/A aus dem Kern bei speicherbasierter E/A-Architektur, bei der die Geräteregister in den virtuellen Adreßraum eingeblendet sind. Primäre Unterbrechungsbehandlung aber im Kern. Danach werden Gerätestatus-Informationen und Aufträge an einen Server weitergereicht. Externer Pager: - Rahmenverwaltung im Kern (Strategien) - Ein- und Auslagern im Pager BS-Kerne
Vorteile dieser E/A-Architektur: - Weniger Konfigurationsparameter - Geräteverwaltung einfacher, z.B. neues Gerät zur Laufzeit: 1. Geräteserver erzeugen 2. Diesen gegenüber dem Kern authentisieren 3. Einblenden der Geräteregister in den virtuellen Adreßraum des Geräteservers BS-Kerne
Nichtblockierende Kerne - Keine blockierenden Funktionen wie E/A, Synchronisation - Prozessorwechsel nur -- bei Abgabe durch den Thread oder -- Zeitscheibenwechsel Vorteil bei User-Level-Threads (wie DCE), deren Laufzeitsystem in einem Kernel-Level-Thread („virtueller Prozessor“) liegt. Ruft ein User-Level-Thread eine Funktion auf, und diese eine Kernfunktion, dann wird der Prozessor dem virtuellen Prozessor nicht entzogen, aber er kann ihn abgeben, z.B. wenn er im Moment keine Arbeit auszuführen hat. BS-Kerne
Minimalkerne Minimale Kernfunktionalität: - Authentisierung Basis für geschützten Zugriff auf Geräte - Prozessorzuteilung - Rahmenzuteilung Fairness; abstrakte Maschine - einfache Kommunikation zum Informationsaustausch zwischen disjunkten Adressräumen; muß bei nichtblockierenden Kernen asynchron sein (send/receive). Wert: Universalität BS-Kerne