14
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-Kerne1 Kapitel 26 BS-Kerne Laufzeitplattform = abstrakte Maschine für den Anwender Komfortabler Zugang Geschützte Adreßräume Traps, privilegierter Zustand

Embed Size (px)

Citation preview

Page 1: BS-Kerne1 Kapitel 26 BS-Kerne Laufzeitplattform = abstrakte Maschine für den Anwender Komfortabler Zugang Geschützte Adreßräume Traps, privilegierter Zustand

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

Page 2: BS-Kerne1 Kapitel 26 BS-Kerne Laufzeitplattform = abstrakte Maschine für den Anwender Komfortabler Zugang Geschützte Adreßräume Traps, privilegierter Zustand

BS-Kerne 2

Geschichtete Systeme Komplexität vermindert

Klare Schnittstellen

Page 3: BS-Kerne1 Kapitel 26 BS-Kerne Laufzeitplattform = abstrakte Maschine für den Anwender Komfortabler Zugang Geschützte Adreßräume Traps, privilegierter Zustand

BS-Kerne 3

Systemfamilien

Neue Mitglieder durch Spezialisten hergestellt

Page 4: BS-Kerne1 Kapitel 26 BS-Kerne Laufzeitplattform = abstrakte Maschine für den Anwender Komfortabler Zugang Geschützte Adreßräume Traps, privilegierter Zustand

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

Page 5: BS-Kerne1 Kapitel 26 BS-Kerne Laufzeitplattform = abstrakte Maschine für den Anwender Komfortabler Zugang Geschützte Adreßräume Traps, privilegierter Zustand

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

Page 6: BS-Kerne1 Kapitel 26 BS-Kerne Laufzeitplattform = abstrakte Maschine für den Anwender Komfortabler Zugang Geschützte Adreßräume Traps, privilegierter Zustand

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

Page 7: BS-Kerne1 Kapitel 26 BS-Kerne Laufzeitplattform = abstrakte Maschine für den Anwender Komfortabler Zugang Geschützte Adreßräume Traps, privilegierter Zustand

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)

Page 8: BS-Kerne1 Kapitel 26 BS-Kerne Laufzeitplattform = abstrakte Maschine für den Anwender Komfortabler Zugang Geschützte Adreßräume Traps, privilegierter Zustand

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

Page 9: BS-Kerne1 Kapitel 26 BS-Kerne Laufzeitplattform = abstrakte Maschine für den Anwender Komfortabler Zugang Geschützte Adreßräume Traps, privilegierter Zustand

BS-Kerne 9

Nebenläufige Kerne

Page 10: BS-Kerne1 Kapitel 26 BS-Kerne Laufzeitplattform = abstrakte Maschine für den Anwender Komfortabler Zugang Geschützte Adreßräume Traps, privilegierter Zustand

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

Page 11: BS-Kerne1 Kapitel 26 BS-Kerne Laufzeitplattform = abstrakte Maschine für den Anwender Komfortabler Zugang Geschützte Adreßräume Traps, privilegierter Zustand

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

Page 12: BS-Kerne1 Kapitel 26 BS-Kerne Laufzeitplattform = abstrakte Maschine für den Anwender Komfortabler Zugang Geschützte Adreßräume Traps, privilegierter Zustand

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.

Page 13: BS-Kerne1 Kapitel 26 BS-Kerne Laufzeitplattform = abstrakte Maschine für den Anwender Komfortabler Zugang Geschützte Adreßräume Traps, privilegierter Zustand

BS-Kerne 13

Page 14: BS-Kerne1 Kapitel 26 BS-Kerne Laufzeitplattform = abstrakte Maschine für den Anwender Komfortabler Zugang Geschützte Adreßräume Traps, privilegierter Zustand

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