Kapitel 5

Betriebssystem:

( Bild siehe Krumm-Skript Seite 12 )

Bedienschnittstelle:

Bedienschnittstelle (abb5-1.jpg)
Abb. 5-1: Bedienschnittstelle

A) Kommando - Schnittstelle: Schlüsselwort, Argumente
B) Direktmanipulations - Schnittstelle: Maus, Menüs

ansprechbare Funktionen:

  • Konfigurationsverwaltung ( für Manager )
  • Benutzerverwaltung ( für Manager )
  • Dateien:
    erzeugen, löschen, kopieren
    schreiben, lesen
    Verzeichnisse

  • Prozesse:
    erzeugen, löschen
    anhalten, fortsetzen
    installieren

  • Sonder - Betriebsmittel:
    Speicherbereiche
    Interprozeßkanäle

Programmschnittstelle ( API ):

z. B. : PASCAL:   nach Übersetzung:
:
:
:
:
write ( I )
:
:
:
:
 
push ( I );
call xx$ write int;

in library:
Pascallib
xx$ write int:

Konvertiere I in ASCII - Folge

A0 : = Puffer
D0 := "Ausgabe"
TRAP #3

Puffer (abb5-2.jpg)
Abb. 5-2: Puffer
  • Prozeduren in Library werden von Anwenderprogrammen aus aufgerufen
  • Prozeduren hinterlegen Auftrag an BS in Datenstrukturen
    und erzeugen Software - Interrupt
  • Interrupt - Routine des Betriebssystems leitet Auftrag weiter.
    In der Regel an Kern - oder Schalen - Prozeß
  • Software - Interrupt statt Unterprogramm - Aufruf
    Schutzmechanismen / Überspringen der Nutzer / System - Grenze

Speicherverwaltung:

Vorrat (abb5-3.jpg)
Abb. 5-3: Vorrat

Verwaltungsverfahren:

  • Pegel - Verwaltung ( Kellerprinzip )
    Pegelverwaltung (abb5-4.jpg)
    (Abb. 5-4)


  • Vektor - Verwaltung
    Vektorverwaltung (abb5-5.jpg)
    B[ i ]
    = false => Stück i frei
    = true => Stück i belegt

    (Abb. 5-5)


  • Tabellenverfahren
    Tabellenverfahren (abb5-6.jpg)
    (Abb. 5-6)


  • Speicherbereinigung

    Verschmelzen freier Stücke ( garbage collection)

  • Verschieben von Stücken im Speicher

    Was ist, wenn Stücke Adressen auf Stücke enthalten ?
    - verschiebliche Bereiche
    relative Adressen
    - Basisregister
  • Kein Verschieben: Gestreute Adressierung
    Kacheln   Seiten
    Seitentabelle

Virtueller Speicher:

Details zum Speicher (abb5-7.jpg)
Abb. 5-7: Details zum Speicher
  • Zugriffe: über Seitentabelle

    wenn Seite nicht in Arbeitsspeicher
    1) Seitenfehler - Interrupt
    2) Software lagert Seite aus Pagefile ein.
    => dazu: freie Kachel

    wenn keine freie Kachel da: Auslagern einer Seite
  • Seitentausch - Strategien:
    Auswahl auszulagernder Seiten
  • Thrashing
  • Speicherhierarchie

Prozesse:

Definition:

Prozeß nach DIN
Vorgang der in der Zeit voranschreitet.

"Bei uns": Rechenprozeß = Ausführung eines Programms durch Prozessor

1 - Prozessor - Maschine aus Hardware - Sicht:

1 Prozeß ( + n Interruptprozesse )
=> der Prozessor startet beim Einschalten und läuft bis Rechner abgeschaltet wird.

Prozeßverwaltung:

Prozeßverwaltung (abb5-8.jpg)
Abb. 5-8: Prozeßverwaltung
logischer Prozeß:
{ Code, Daten, Betriebsmittel:





Speicher
Dateien
Geräte
Prozessor - Zeit
}

Verwaltung über Leitblöcke ( Prozeßkontrollblock - Liste )

Ablaufzustände:

Ablaufdiagramm (abb5-9.jpg)
Abb. 5-9: Ablaufdiagramm

Dispatcher:

Prozessor - Zuteilung
- Zeitscheiben ( zyklisch )
- Prioritäten ( statisch, dynamisch )
- Fristen

Dateisystem:

Plattenaufbau (abb5-10.jpg)
Abb. 5-10: Plattenaufbau
  • Platte: array [ 0 ... n ] of block;
    soll Dateien tragen

    Datei: array [ 0 ... n ] of byte;

    - Speicherverwaltung
    - gesamte Adressierung
  • Organisationsformen:
    - sequentiell
    - direkt
    - index sequentiell
  • Hierarchische Verzeichnisse
  • Datei E/A / Plattenzugriffe:
    in Blöcken nicht in Byte => Pufferung durch das Betriebssystem
Interprozeßkommunikation (IPC):
Kommunikation von Prozessen (abb5-11.jpg)
Abb. 5-11: Kommunikation von Prozessen

P1 sendet Nachrichten an P2

A) Synchronisation: Blockieren, Fortsetzen
B) Datenaustausch

- gemeinsamer Speicher
- Nachrichtenkanäle
- Fremdzugriff