• Keine Ergebnisse gefunden

2.2 Aufgaben, Dienste und Komponenten von Betriebssystemen

N/A
N/A
Protected

Academic year: 2021

Aktie "2.2 Aufgaben, Dienste und Komponenten von Betriebssystemen"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

2 Ü

BERSICHT

2.1 Betriebssystemsichten

Nutzer eines Programmiersystems:

* Kommandointerpreter Steuersprache

* Dienstprogramme - Editor

- Compiler Programmiersprache

- Binder - Testhilfe

* Objekte - Dateien

- Objekte der Nutzerprogramme

* E/A-Geräte Programmein-/ausgaben

Mit Ausnahme der Kommandoschnittstelle bleibt das Betriebssystem verdeckt.

Der Nutzer arbeitet zum Beispiel mit der PASCAL-Maschine, die durch Compiler, Betriebssystem und Hardware gebildet wird.

Die Programmerstellung erfolgt mittels Text-Maschine: Editor, Betriebssystem, Hardware.

- Operator, Systemverwalter: (bei Konfiguration und Administration)

* Kommandointerpreter

* Konfigurationsdienstprogramme

(2)

- Betriebssystementwickler / Entwickler systemnaher Programme

* Kommandointerpreter

* Dienstprogramme

* Betriebssystemkern:

- angebotene Dienste - Komponenten

- Architektur - Datenstrukturen - Algorithmen

* logische Betriebsmittel

* Hardware-Betriebsmittel

Qualitätsaspekte:

- Sicherheit - Zuverlässigkeit - Leistungsfähigkeit - Funktionalität

- Unterstützung spezieller Einsatzgebiete - Benutzerfreundlichkeit

- Robustheit - Anpaßbarkeit - Erweiterbarkeit

(3)

2.2 Aufgaben, Dienste und Komponenten von Betriebssystemen

2.2.1 Zentralspeicherverwaltung

physikalische Adressen

Speicherbereich

logische Adressen

0 1 0

1 2

0 1 2

- Belegung, Freigabe und Zuordnung von verschiedenen Speicherbereichen an Prozesse

- Verwaltung des Zentralspeichers - gegenseitiger Zugriffsschutz - virtuelle Adreßräume

(4)

2.2.2 Prozeß- und Prozessorverwaltung

Prozeß Programm Daten

übrige Betriebsmittel dynamischer Zustand

Speicherbereich Speicherbereich / Register z. B. Dateien, Geräte Prozessorzuordnung

bereit

rechnend wartend

fortsetzen zuordnen

blockieren

Entzug

Prozessorzuteilung

t P3

P2 P1

Prozessor 2 Prozessor 1

- logische Prozesse (Erzeugung, Löschung) - Prozessorzuordnung

- gegenseitige Beeinflussung von Prozessen, Synchronisation

- Ablaufsteuerung, betriebsmittelabhängige Planung und Kontrolle des Gesamtablaufs

(5)

2.2.3 Programmverwaltung

Programmdatei

Auftragsdefinition

Sitzungsumgebung

Programme Daten Betriebsmittel dynamischer Zustand Ablaufparameter Nutzerverweis

sonstige Betriebsmittel

Code

Daten

Prozeß Speicherbereiche

- Definition von Programmen

- Zuordnung von Programmen zu Prozessen - Abbildung des Programmablaufs auf Prozesse

- Besonderheiten (mehrfach-verwendbarer Code, dynamisches Binden)

(6)

2.2.4 Ein-/Ausgabe-Steuerung

Rechnersystem Gerät

Zentral Speicher

Pro- zessoren

E/A-

System

Steuerung

Laufwerke

d)

a) b) e)

Datenfluss:

a) Ein/Ausgabeunterbrechungen b) Ein/Ausgabebefehle

c) Interprozessorsignale d) Daten

e) Kanalprotokoll:

Kanalbefehle, Gerätedaten (Adresse, Status), Transferdaten

Aufgaben:

- Geräte-/Konfigurationsverwaltung

* Verkabelung

* Parameter

- physikalische Ein-/Ausgabe

* Gerätesteuerung

* Datentransfer - logische Geräte

* e.g. Dateien

* Abbildungs- und Zugriffsparameter - logische Ein-/Ausgabe

* Dateiorganisation

* Dateizugriffe - Betriebsmittelverwaltung

* Zuordnung zu Prozessen

2.2.5 Externe Datenverwaltung

(7)

Physikalische Speichermedien

* Magnetplatte (Schreib-/Lesekopf, Sektor, Spur)

* Magnetband (Block, Spur, Sprosse) Dateien

*logischer Adreßraum der Datei

Satz: logische Zugriffseinheit für Ein/Ausgabe Logische Zugriffsstruktur: Satz-Schlüsselfeld

Feld: vom Programm auswertbareer Teil eines Satzes

*Physikalischer Adreßraum der Datei

Block: physikalische Zugriffseinheit für Ein/Ausgabe Dateiorganisation

* Darstellung: sequentiell, indexsequentiell,direkt ...

* Zugriffsmethoden: sequentiell, indexsequentiell,physikalisch ..

* Verwaltung:

Statisch: Dateikataloge, Speicherplatz, ...

Dynamisch: Sperrenverwaltung, ...

2.2.6 Betriebsmittelverwaltung

- Betriebsmittel

* physikalisch - logisch

* aktiv - passiv

* exklusiv – teilbar

- Anforderung, Belegung, Freigabe - Fremdzuweisung, Entzug

- Wettbewerb um Betriebsmittel

* Auswahl- und Zuteilungsstrategien

* Verklemmungen (Verhinderung, Entdeckung, Auflösung) - Zugriffsschutz

(8)

Kommando- Editor interpreter Compiler Linker * E/A-Steuerung, logische E/A

* Speicherverwaltung * Prozeßverwaltung

Speicher Prozessor E/A

höhere Programmiersprache Dienstprogramme Betriebssystemaufrufe -> Maschinensprache Betriebssystem Maschinensprache Hardware-Maschine

Maschine:

Mechanismus zur Interpretation von in Maschinensprache formulierten Programmen.

Virtuelle Maschine:

Durch interpretierende oder abbildende Software auf Basis einer gegebenen Maschine definiert.

Hierarchie virtueller Maschinen:

Hardware und Software-Schichten definieren Maschinen mit steigendem Sprachniveau

2.4 Schnittstellen

(9)

Hardware Betriebssystem

Programm Kommando-

interpreter

Kommandos, Meldungen

Betriebssystem- aufrufe

- Programmschnittstelle

* Betriebssystemoperationen

* Aufrufmechanismus

- Kommandoschnittstelle

* Steuersprache

* Kommandoprozeduren

(10)

Auftragsannahme Prozeß 1

Lagerverwaltung Prozeß 3

Auftragsabwicklung Prozeß 2

Zentrale

Datenverwaltung

- Interprozeßkommunikations-Mechanismen - Interaktionsmuster

2.6 Verteilte Betriebssysteme

Rechner 1 Rechner 2

Rechner 3 Rechner 4 öffentliches Datennetz lokales Netz

- Rechnernetze

- Kommunikationsdienste und Protokolle - homogene verteilte Betriebssysteme - Client-Server Modell

2.6 Fallbeispiel: Einfaches Betriebssystem

2.6.1 Rechnerkonfiguration

(11)

Prozessor

Betriebssystem Benutzerprogramm

Speicher

Eingabe Ausgabe

Prozessor: Anzahl schneller Register, Befehlszähler PC, Befehlsregister PR Befehlszyklus: REPEAT

PR := S[PC];

PC := PC + 1;

ausführen(PR);

UNTIL Prozessor wird ausgeschaltet Speicher: Feld S[0..n]

Geräte: besitzen Befehlsregister, die durch Prozessor mit Befehlen versorgt werden.

Anzeigen: AKTIV (startet Befehlsausführung) BEREIT (nach Beendigung des Befehls)

STOP (durch Start/Stop-Taste oder Magazin leer) Ablaufsteuerung:

REPEAT

lies Eingabe

übersetze in Maschinensprache führe aus

drucke Ergebnisse

UNTIL Prozessor wird abgeschaltet

(12)

NR 0 1 2 3

Startta ste

0 0 1 1

Befehl 0 1 0 1

Zustan d STOP STOP BEREIT

AKTIV

0/1

2 E/A-Starten 3

E/A-Beenden STOP

BEREIT AKTIV

procedure drucke Ergebnisse begin

nächste Zeile := Anfang Ausgabebereich repeat

warte bis drucker BEREIT starte Drucker(nächste Zeile) Zeilenzähler := Zeilenzähler - 1 neuer Bereich(nächste Zeile) until Zeilenzähler = 0

end

Übung:

Erstellen Sie für die Prozedur "lies Eingabe" eine Zustandstabelle, ein Zustandsdiagramm und das zugehörige Programm.

Zustandstabelle:

NR 0 1 2 3 4 5 6 7

Starttas te

0 0 0 0 1 1 1 1

Magazi n 0 0 1 1 0 0 1 1

Befehl 0 1 0 1 0 1 0 1

Zustan d STOP STOP STOP STOP STOP STOP BEREIT

AKTIV Zustandsdiagramm:

(13)

0/1/2 3/4/5

6 7

E/A Starten

E/A beenden AKTIV

BEREIT

STOP

Start Stop/

Kartenende Stop

Start

Programm:

prozedure liesEingabe begin

nächste Karte := Anfang Eingabe Kartenzähler := 0

warte bis Leser BEREIT repeat

starte leser(nächste Karte) neuer Bereich(nächste Karte) Kartenzähler := Kartenzähler + 1 warte solange Leser aktiv

until Leser STOP end

Problem:

Durch drücken der STOP-Taste wird die Routine verlassen und kann nicht fortgesetzt werden.

=> Einführung einer speziellen Ende-Karte

=> until Endekarte ( übliches Zeichen: /* ) Problem:

Kartensalat

=> neuer Zustand "FEHLER" muß eingeführt werden.

(14)

Das Leistungsverhalten der bisher entwickelten Routinen ist schlecht.

Beispiel:

kleine Maschine: Wort = 8 Bit Zykluszeit = 10 µs mittlere Maschine: Wort = 32 Bit Zykluszeit = 1 µs Leser: 20 Karten/s 80 Zeichen/Karte

Drucker: 20 Zeilen/s 120 Zeichen/Karte

Für den Transfer eines Wortes sind 3 Speicherzugriffe erforderlich (holen und speichern, Transferzähler erniedrigen, testen).

Leser: pro Sekunde 20*80*3=4.800 bzw. 4.800 / 4

Speicherzugriffe

Drucker: pro Sekunde 20*120*3=7.200 bzw. 1.800 Speicherzugriffe

=> Speicherauslastung

- kleine Maschine: Lesen 4.800 * 10 µs = 4,8%

Drucken 7.200 * 10 µs = 7,2%

- große Maschine: Lesen 0,12%

Drucken 0,18%

Prozessorauslastung Drucken:

repeat Anzahl Befehle

warte bis Drucker bereit

starte Drucker(nächster Zähler) ca. 6

neuer Bereich(nächste Zeile) ca. 5

Zeilenzähler := Zeilenzähler - 1 ca. 2

until Zeilenzähler = 0 ca. 2

=> ca. 15 Befehle für Prozedur Drucken

Bei einer mittleren Befehlszeit von 3 µs ist der Prozessor für den Ausdruck einer Zeile 15*3=45µs aktiv. Der Ausdruck selbst dauert 50.000 µs.

Verbesserung des Leistungsverhaltens

Für die Bearbeitungszeit und Durchsatz von n Programmen gelten folgende Formeln:

Bearbeitungszeit t = e + v + a

mit Einlesezeit e = e1 + e2 + .. + en Verarbeitungszeit v = v1 + v2 + .. + vn Ausgabezeit a = a1 + a2 + .. + an Durchsatz d = n / t = n / (e+v+a)

(15)

Ansatz:

Überlappung von E/A-Phasen

=> Änderung des Rahmenprogramms und Erstelleung der Prozedur lies_und_drucke

=> Reduzierung der Bearbeitungszeit t Rahmenprogramm:

Zeilenzähler = 0 repeat

lies_und_drucke

if Kartenzähler > 0 then übersetzte

führe aus endif

until Prozessor abgeschaltet

Prozedur lies_und_drucke begin

nächste Karte := Anfang Eingabe nächste Zeile := Anfang Ausgabe Kartenzähler := 0

repeat

warte solange bis Leser und Drucker AKTIV if Leser BEREIT then

starte Leser (nächste Karte) neuer Bereich (nächste Karte) Kartenzähler := Kartenzähler + 1 endif

if Drucker BEREIT und Zeilenzähler > 0 starte Drucker(nächste Zeile) neuer Bereich(nächste Zeile) Zeilenzähler := Zeilenzähler - 1 endif

until Leser STOP und Zeilenzähler = 0 end

Problem:

Mehrere Programme können nicht gleichzeitig eingelegt werden.

Referenzen

ÄHNLICHE DOKUMENTE

Es wird keine Haftung übernommen für Schäden durch die Verwendung von Informationen aus diesem Online-Angebot oder durch das Fehlen von Informationen.. Dies gilt auch für

Es wird keine Haftung übernommen für Schäden durch die Verwendung von Informationen aus diesem Online-Angebot oder durch das Fehlen von Informationen.. Dies gilt auch für

Dies gilt auch für Inhalte Dritter, die über dieses Angebot zugänglich sind... Ein Dienst der ETH-Bibliothek ETH Zürich, Rämistrasse 101, 8092 Zürich, Schweiz,

Mit den besten Wünschen für 1976 Woodtli & Co, Grafische Anstalt, Aarburg Redaktion: Hugo Müller,

Es wird keine Haftung übernommen für Schäden durch die Verwendung von Informationen aus diesem Online-Angebot oder durch das Fehlen von Informationen.. Dies gilt auch für

Es wird keine Haftung übernommen für Schäden durch die Verwendung von Informationen aus diesem Online-Angebot oder durch das Fehlen von Informationen.. Dies gilt auch für

Es wird keine Haftung übernommen für Schäden durch die Verwendung von Informationen aus diesem Online-Angebot oder durch das Fehlen von Informationen.. Dies gilt auch für

Es wird keine Haftung übernommen für Schäden durch die Verwendung von Informationen aus diesem Online-Angebot oder durch das Fehlen von Informationen.. Dies gilt auch für