Betriebssysteme FU Berlin SS 2003 Klaus-Peter Löhr

Preview:

Citation preview

Betriebssysteme

FU Berlin

SS 2003

Klaus-Peter Löhr

1 Einführung

Zur Erinnerung:

Informatische Fachbegriffe in Deutsch und Englisch findet man unter

http://www.babylonia.org.uk

Software„zwischen Hardware und Umwelt“

eingebettete Systeme(embedded systems)

geschlossene Anwendungssysteme

Betriebssysteme + Anwendungsprogramme

Betriebssystem(operating system)

Basissoftware

eingebettetesSystem

Transaktionssystem

Benachbarte Gebiete:

• Rechnerarchitektur

• Verteilte Systeme

• Echtzeitsysteme

• Systemsicherheit

• Datenbanksysteme

• Programmiersprachen & Übersetzer

• Softwaretechnik

Abgrenzung:

Betriebssystem im engeren Sinn

= System aus Sicht der Anwendungssoftware

= Software zwischen der Hardware und der

Systemschnittstelle (2)

Betriebssystem im weiteren Sinn

= System aus Sicht des Benutzers, d.h.

zuzüglich Benutzerschnittstelle (9),

Übersetzer, Dienstprogramme usw.

Betriebssystem

Hardware

Anwendungssoftware

Interaktionssystem(Datenbanksystem, Middleware, .....)

Benutzerschnittstelle

Systemschnittstelle

Betriebssystem

Hardware

Anwendungssoftware

Interaktionssystem(Datenbanksystem, Middleware, .....)

Benutzerschnittstelle

Systemschnittstelle

auch „Systemsoftware“

Merke: Das Begriffspaar

Systemsoftware – Anwendungssoftware(systems software – application software)

ist unscharf,

weil auf der Systemschnittstelle nicht nur Anwendungs-

software, sondern auch Systemerweiterungen aufgesetzt

werden können.

Grobe Klassifikation der Hardware:

• Einprozessorsystem (uniprocessor)

• Mehrprozessorsystem (multiprocessor)

• Mehrrechnersystem (multicomputer)

mit verteiltem Speicher verteiltes Betriebssystem

• Rechnernetz (computer network)

verteilte und/oder kooperierende Betriebssysteme

Betriebsarten eines Rechners

Einplatzsystem Mehrplatzsystem(single-user system) (multi-user system)

Einbenutzersystem Teilhaberbetrieb(single-user system) (multi-access)

Mehrbenutzersystem Teilnehmerbetrieb(multi-user system) (time-sharing)

interaktiv Stapelbetrieb(batch processing)

Betriebsarten eines Rechners

Einplatzsystem Mehrplatzsystem(single-user system) (multi-user system)

Einbenutzersystem Teilhaberbetrieb(single-user system) (multi-access)

Mehrbenutzersystem Teilnehmerbetrieb(multi-user system) (time-sharing)

interaktiv Stapelbetrieb(batch processing)

Klient (client) Dienstanbieter (server)

1.1 Betriebsmittelverwaltung

Hardware ist Konglomerat aus verschiedenen

Betriebsmitteln (auch Ressourcen, engl. resources)

wie z.B. Prozessoren,

Speicher,

Peripheriegeräte,

Netzanschlüsse,

.....

Aufgabe eines Betriebssystems ist,

den Anwendungsprogrammen

statt der realen Betriebsmittel

virtuelle Betriebsmittel (virtual resources)

zur Verfügung zu stellen (z.B. „virtueller Speicher“)

mit den folgenden Eigenschaften:

komfortabel – durch geeignet parametrisierte prozedurale Schnittstelle

betriebssicher – gegenüber Hardware- und Software-Fehlern sowieböswilliger Manipulation

effizient – bezüglich der realen Betriebsmittel

1.1.1 Prozeßverwaltung

Betriebsmittel: Prozessor

virtualisiert: Prozess (process, task)

Verwandter Prozessbegriff

bei nichtsequentieller Programmierung:

Prozess = Programmteil, der unabhängig von den

anderen Programmteilen ablaufen kann

Genauer:

leichtgewichtiger Prozess (lightweight process, thread)

= virtueller Prozessor

schwergewichtiger Prozess (heavyweight process)

= virtueller Rechner (Prozessor + Speicher + Peripherie)

Mehrprozessbetrieb (multiprogramming, multitasking):

Anzahl der Prozesse ist nicht durch die

Anzahl der Prozessoren beschränkt

Mehrprozeßbetrieb (multiprogramming, multitasking):

Anzahl der Prozesse ist nicht durch die

Anzahl der Prozessoren beschränkt

Schnappschuss der Prozessorzuordnung (processor allocation):

Prozesseaktivbereitwartend

Prozessoren

Die Zuordnung wechselt:

„Multiplexen“ des Prozessors (processor multiplexing)

Zustandsübergänge eines Prozesses p :

(mit Operationen block/wake [siehe NSP, Probeklausur])

aktiv

bereit wartend

block()

wake(p)

anderer Prozess

macht block()

Die Zuordnung wechselt:

„Multiplexen“ des Prozessors (processor multiplexing)

Zustandsübergänge eines Prozesses p :

(mit Operationen block/wake [siehe NSP, Probeklausur])

aktiv

bereit wartend

block()

wake(p)

anderer Prozess

macht block()wake(p)

falls aktiver Prozessverdrängt werden kann

Warum Mehrprozessbetrieb?

Teilnehmer- bzw. Server-Betrieb

Effiziente Nutzung des Systems angesichts

unterschiedlicher Ressourcen-Anforderungen

verschiedener auszuführender Programme

Diskette

Festplatte

Drucker

Software installieren

Dokument drucken

... und noch freie Prozessorkapazität für

rechenintensives Programm im Hintergrund

Beispiel:

1.1.2 Speicherverwaltung

Betriebsmittel: Arbeitsspeicher/Adressraum

virtualisiert: virtueller Adressraum

(virtual address space)

Von virtuellem Speicher (virtual memory) (5) spricht man,

wenn der virtuelle Adressraum größer als der Arbeitsspeicher

sein kann und teilweise auf Hintergrundspeicher ausgelagert

werden kann.

Schnappschuss der Speicherzuordnung (memory allocation):

[Speicheralloziierung – falsche Übersetzung!]

Betriebssystem

Arbeitsspeicher

Virtuelle Adressräume der (schwergewichtigen) Prozesse

Multiplexen des Arbeitsspeichers durch

Umlagerung (swapping) der Prozesse

zwischen Arbeitsspeicher und Hintergrundspeicher

Zustandsübergänge eines Prozesses:

aktiv bereit wartend

eingelagert

ausgelagert

1.1.3 Dateiverwaltung

Betriebsmittel: Langzeitspeicher (Platte, Band, ...)

virtualisiert: Datei (file) = benanntes, persistentes Objekt

a b c d e f g

1.1.4 Druckerverwaltung

Betriebsmittel: reale Drucker

virtualisiert: virtuelle Drucker Spooling

Auf verschiedene Weise realisierbar, z.B. so:

jeder Prozess besitzt einen eigenen virtuellen Drucker,

auf dem er mit print(text) drucken kann.

(Zwischenspeicherung der Ausgabe auf Hintergrundsp.!)

Komfortabel und effizient

1.1.5 Weitere Peripherie

Betriebsmittel: Bildschirm + Tastatur/Maus

virtualisiert: Fenster + Tastatur/Maus

Betriebsmittel: Netzanschluss

virtualisiert: Port

usw. . . .

Recommended