Upload
dietricha-boehm
View
104
Download
0
Embed Size (px)
Citation preview
BS-Kerne 1
Kapitel 26 BS-Kerne
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
BS-Kerne 2
Geschichtete Systeme Komplexität vermindert
Klare Schnittstellen
BS-Kerne 3
Systemfamilien
Neue Mitglieder durch Spezialisten hergestellt
BS-Kerne 4
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 5
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 6
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 7
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 8
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 9
Nebenläufige Kerne
BS-Kerne 10
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 11
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 12
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 13
BS-Kerne 14
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