I. Einführung Inhalt

Werbung
Was ist ein Betriebssystem? 2(4)
Vorlesung Betriebssysteme
„
I. Einführung
Aufbau von Rechensystemen
Banksystem
FlugReservierung
Compiler
Editor
Spiele
Anwendungsprogramme
Kommandointerpreter
Systemprogramme
Betriebsystem
Prof. Dr. Jens Grabowski
Maschinensprache
Physikalische Geräte
Tel. 39 14 690
Email [email protected]
„
Betriebssystem: Kern- (oder Supervisor-) Modus
„
Compiler, Editoren, Anwendungsprogramme: Benutzermodus
„
I-1
OS (WS 04/05)
„
„
„
„
„
D.h. Betriebssystem wird durch die Hardware vor Zugriffen durch den
Benutzer geschützt.
OS (WS 04/05)
Inhalt
„
Hardware
Mikroprogrammierung
Einführung
I-4
Was ist ein Betriebssystem? 3(4)
Was ist ein Betriebssystem?
Aufgaben eines Betriebssystems
Betriebsarten von Betriebssystemen
Struktur eines Betriebssystems
Geschichte der Betriebssysteme
Standardisierung
„
Es gibt zwei Sichten auf ein Betriebssystem:
Anwendersicht:
• Top-Down-Sicht
• Betriebssystem ist eine
virtuelle Maschine
BS-Entwicklersicht:
• Bottom-Up-Sicht
• Betriebssystem ist ein
Betriebsmittel(Ressourcen-) Verwalter
Einführung
OS (WS 04/05)
I-2
OS (WS 04/05)
Was ist ein Betriebssystem? 1(4)
„
Computer-Software gliedert sich in zwei Gruppen:
„
„
Def. Betriebssystem als virtuelle Maschine
„
Ermöglichen den Betrieb des Computers.
Helfen dem Anwender seine Probleme zu lösen.
„
Das wichtigste Systemprogramm ist das Betriebssystem.
„
Definition Betriebssystem (DIN 44300):
„
„
Anwenderprogramme
„
„
„
Ein Betriebssystem ist eine virtuelle Maschine, die dem Anwender eine
einfache (dateiorientierte) Schnittstelle zur Hardware zur Verfügung stellt
und einen Programmierung dieser Hardware auf hohem logischen Niveau
ermöglicht.
Def. Betriebssystem als Ressourcenverwalter
„
"Die Programme eines digitalen Rechensystems, die zusammen mit
den Eigenschaften dieser Rechenanlage die Basis der möglichen
Betriebsarten des digitalen Rechensystems bilden und die
insbesondere die Abwicklung von Programmen steuern und
überwachen."
Ein Betriebssystem bezeichnet alle Programme eines Rechensystems, die
die Ausführung der Benutzerprogramme, die Verteilung der Ressourcen
auf die Benutzerprogramme und die Aufrechterhaltung der Betriebsart
steuern und überwachen.
Def. Ressourcen (Betriebsmittel)
„
Die Ressourcen (Betriebsmittel) eines Betriebssystems sind alle Hard- und
Softwarekomponenten, die für die Programmausführung relevant sind.
„
OS (WS 04/05)
Einführung
I-3
I-5
Was ist ein Betriebssystem? 4(4)
Systemprogramme
„
Einführung
Betriebsmittel: Prozessor, Hauptspeicher, I/O-Geräte, etc.
OS (WS 04/05)
Einführung
I-6
1
Inhalt
Aufgaben eines Betriebssystems 3(6)
„
Was ist ein Betriebssystem?
„
Aufgaben eines Betriebssystems
„
„
„
„
„
„
Einführung
„
„
I-7
Prozessverwaltung
„
„
„
„
„
„
„
I-8
Aufgaben eines Betriebssystems 2(6)
„
Speicherverwaltung cont.
„
„
Schutz von Dateien und Verzeichnissen vor unberechtigtem Zugriff
user
rwx
others
r--
Dateiname
Uebung.txt
> chmod g+w Uebung.txt
führt zu:
user
rwx
group
rw-
others
r--
Dateiname
Uebung.txt
Einführung
OS (WS 04/05)
I-11
Aufgaben eines Betriebssystems 5(6)
„
Geräteverwaltung
„
„
„
Auswahl und Bereitstellung von I/O-Geräten
Anpassung an physikalische Eigenschaften der Geräte
Überwachung der Datenübertragung
Monitoring, Accounting, Auditing
„
Erstellen & Verwalten von Systemstatistiken
„
„
„
„
Aktuelle Auslastung
Aktueller freier Speicher
Netzverkehr
Optionale Aufgaben
„
„
„
„
I-9
group
r--
Befehl:
„
Einführung
I-10
Unix:
9-Bit für Zugriffsrechte (Read, Write, eXecute)
Datei/Verzeichnis gehört einem Eigentümer (user) und einer
Benutzergruppe (group, z.B. Mitarbeiter, Projekt, etc.)
z.B.
Beinhaltet die Verwaltung der schon vom von-Neumann Rechner bekannten
Speicherhierarchie.
(Die Zahlen in der Grafik sind nur sehr grobe Schätzungen)
OS (WS 04/05)
Einführung
Verwaltung des Dateisystems (cont.)
Zuteilung des verfügbaren physikalischen Speichers an Prozesse
Einbeziehen des Hintergrundspeichers (Platte) durch virtuelle
Adressierung, demand Paging, Swapping (= Ein-/Auslagern von
Prozessen), etc.
Einführung
Strukturierung mittels
Verzeichnissen (Directory)
Aufgaben eines Betriebssystems 4(6)
(Ein Prozess oder auch Task ist ein in Ausführung befindliches
Programm)
Erzeugen und Löschen von Prozessen
Prozessorzuteilung (Scheduling)
Prozesskommunikation
Synchronisation nebenläufiger Prozesse, die gemeinsame Daten
benutzen
OS (WS 04/05)
Erzeugen, Löschen, Öffnen,
Lesen, Schreiben, Kopieren,
etc.
OS (WS 04/05)
Speicherverwaltung
„
Benutzer arbeitet mit Dateinamen. Wie und wo die Dateien gespeichert
werden, ist ihm egal.
Systemaufrufe für
Dateioperationen
„
Aufgaben eines Betriebssystems 1(6)
„
Logische Sicht auf Speichereinheiten (Dateien)
„
Betriebsarten von Betriebssystemen
Struktur eines Betriebssystems
Geschichte der Betriebssysteme
Standardisierung
OS (WS 04/05)
Verwaltung des Dateisystems
OS (WS 04/05)
Laufzeit von Prozessen mitprotokollieren
Speicherbedarf von Prozessen mitprotokollieren
Eingeloggte Benutzer mitprotokollieren
etc.
Einführung
I-12
2
Aufgaben eines Betriebssystems 6(6)
„
Weitere wichtige Aspekte:
„
„
„
Graceful Degradation: Beim Ausfall einzelner Komponenten läuft das
System mit vollem Funktionsumfang mit verminderter Leistung weiter.
Fehlertoleranz wird durch Redundanz erkauft.
„
„
Betriebssystem muss eine ansprechende Benutzerschnittstelle für die
eigene Bedienung enthalten.
Betriebssystem muss Funktionen bereitstellen, mit denen aus
Anwendungsprogrammen heraus auf die Benutzerschnittstelle
zugegriffen werden kann.
Einführung
I-13
Inhalt
„
„
Betriebsarten von Betriebssystemen
„
Auftrag 2
Auftrag 3
Eingabe
Ausführung
Ausgabe
Eingabe
Ausführung
Ausgabe
Eingabe
Ausführung
Ausgabe
OS (WS 04/05)
„
Einführung
I-16
Stapelverarbeitung mit Spooling
„
Erfordert eigene I/O-Prozessoren
Eingabeprozessor
Struktur eines Betriebssystems
Geschichte der Betriebssysteme
Standardisierung
Hauptprozessor
Ausgabeprozessor
„
Einführung
OS (WS 04/05)
I-14
Betriebsarten von Betriebssystemen 1(4)
„
Benutzer 2
Auftrag 1
Betriebsarten von Betriebssystemen 3(4)
Was ist ein Betriebssystem?
Aufgaben eines Betriebssystems
„
Bessere Ausnutzung des Prozessors durch
Lochkarten, etc.
Benutzer 1
Betriebssystem muss den Realzeit-kritischen Prozessen die
Betriebsmittel so zuteilen, dass die angeforderten Zeitanforderungen
eingehalten werden.
Für zeitkritische Systeme: Meßsysteme, Anlagensteuerungen, etc.
OS (WS 04/05)
„
„
Benutzeroberflächen
„
„
Stapelverarbeitung (Batchbetrieb)
Realzeitbetrieb
„
„
„
Fehlertoleranz
„
Betriebsarten von Betriebssystemen 2(4)
Einbenutzerbetrieb mit
Einzelauftragsbearbeitung (Single User Mode)
Mehrprogrammbetrieb (Multiprogramming)
OS (WS 04/05)
Benutzer 1
Auftrag 2
Eingabe
Ausgabe
Ausführung
Eingabe
Ausgabe
Ausführung
Benutzerwechsel
Benutzer 2
Auftrag 3
I-17
Betriebsarten von Betriebssystemen 4(4)
„
Dialogbetrieb
„
„
Auftrag 1
Einführung
„
Interaktiver Dialog mit dem Benutzer
Ggf. in Kombination mit Batchbetrieb
Ggf. in Kombination mit mehreren Benutzern
gleichzeitig über mehrere Terminals
Eingabe
Ausgabe
Ausführung
= Prozessor arbeitet
OS (WS 04/05)
Einführung
I-15
OS (WS 04/05)
Einführung
I-18
3
Inhalt
Struktur von Betriebssystemen
„
Was ist ein Betriebssystem?
Aufgaben eines Betriebssystems
Betriebsarten von Betriebssystemen
„
Struktur eines Betriebssystems
„
„
„
„
Allgemeine Schalenstruktur von UNIX und Linux
Geschichte der Betriebssysteme
Standardisierung
OS (WS 04/05)
Einführung
Struktur von Betriebssystemen
„
„
I-19
1(10)
Monolithische Systeme (aus einem Block)
„
OS (WS 04/05)
„
Unstrukturiert
„
Einführung
Struktur von Betriebssystemen
I-20
2(10)
Hierarchische Betriebssysteme
„
I-22
4(10)
Betriebssystem als virtuelle Maschine
Abstraktion betrifft nicht nur die Hardware, sondern kann
auch höhere Funktionen betreffen.
Minimale Struktur
OS (WS 04/05)
„
Einführung
Struktur von Betriebssystemen
„
„
3(10)
Folgen im Gegensatz zu monolithischen Systemen einem strengen
Ordnungsprinzip
Bildlich: Folge von ineinanderliegenden Schalen
OS (WS 04/05)
Einführung
I-21
OS (WS 04/05)
Einführung
Struktur von Betriebssystemen
„
I-23
5(10)
Andere virtuelle Maschinen:
OS (WS 04/05)
Einführung
I-24
4
Struktur von Betriebssystemen
„
Struktur von Betriebssystemen
6(10)
Minimale Kerne (engl. Microkernel)
„
Kern mit minimalen Betriebssystemfunktionen um einen
großen Hardware-nahen Kern zu vermeiden.
„
Ausführungsmodi
„
Kernel Mode
„
„
„
OS (WS 04/05)
Einführung
Struktur von Betriebssystemen
I-25
7(10)
Minimale Kerne folgen dem Client-Server-Modell in
verteilten Systemen
OS (WS 04/05)
Einführung
I-26
Niedrige Priorität und
Einschränkungen um die
Konsistenz der Kerndaten
nicht zu gefährden.
Modi werden von der Hardware unterstützt.
OS (WS 04/05)
Einführung
I-28
Einführung
I-29
Struktur von
Betriebssystemen
10(10)
OS (WS 04/05)
Inhalt
Struktur von
Betriebssystemen 8(10)
„
Was ist ein Betriebssystem?
Aufgaben eines Betriebssystems
Betriebsarten von Betriebssystemen
Struktur eines Betriebssystems
„
Geschichte der Betriebssysteme
„
Standardisierung
„
„
„
OS (WS 04/05)
Hohe Priorität und wenige
Einschränkungen um die
Konsistenz des Kerndaten
zu erhalten.
User Mode
„
Hardware
„
9(10)
Einführung
I-27
OS (WS 04/05)
Einführung
I-30
5
Geschichte der Betriebssysteme 1(7)
„
Vor den elektronischen Rechnern
„
„
Charles Babage (1792-1871)
„
„
„
Ada Lovelace gilt als die erste Programmiererin
Die Programmiersprache Ada wurde nach ihr benannt.
Die erste Generation (1945-1955)
„
„
„
Röhren (bis zu 20.000)
Programmierung mit Steckkarten
Pioniere: Konrad Zuse, Howard Aiken, John von Neumann,
J. Presper Eckert, William Mauchley
OS (WS 04/05)
Einführung
I-31
Geschichte der Betriebssysteme 2(7)
„
Struktur eines typischen FMS-Jobs
(FORTRAN Monitor System, BS der zweiten Generation)
Versuchte die analytische Maschine zu entwickeln (scheiterte
an der damaligen Technologie)
Erkannte aber das er Software für diese Maschine brauchen
würde und stellte hierfür Ada Lovelace (Tochter des Dichters
Lord Byron).
„
„
Geschichte der Betriebssysteme 4(7)
Die zweite Generation (1955-1965)
„
„
„
„
Die dritte Generation (1965-1980)
„
„
„
„
„
„
I-32
Geschichte der Betriebssysteme 3(7)
„
Frühes Stapelverarbeitungssystem:
„
„
„
„
Entwicklung integrierter Schaltkreise
Rechnerfamilie IBM 360 mit OS/360
Neu: Multiprogramming, um I/O-Wartezeiten auszunutzen
In diese Zeit fällt auch die Entwicklung von UNIX und C
Beispiel:
„
Einführung
Mehrprogrammsystem
mit drei Jobs im Speicher
Dritte Generation
OS (WS 04/05)
„
„
„
Hochintegrierte Schaltkreise
Leistungsfähige Einbenutzersysteme:
„
„
„
PCs mit MS-DOS
Workstations mit UNIX
Ferner: IBM OS/2, Linux
Die fünfte Generation (1990 - ...)
„
„
„
„
Verteilte Systeme durch Vernetzung
Kommunikation über Nachrichten
Netzbetriebssysteme
Definition Netzbetriebssystem:
„
I-33
I-35
Die vierte Generation (1980-1990)
„
Einführung
Einführung
Geschichte der Betriebssysteme 6(7)
bring cards to 1401
read cards to tape
put tape on 7094 which does computing
put tape on 1401 which prints output
OS (WS 04/05)
I-34
Geschichte der Betriebssysteme 5(7)
Transistoren
Programmierung mit Lochkarten
Betriebssystem für den Batch-Betrieb
OS (WS 04/05)
Einführung
OS (WS 04/05)
OS (WS 04/05)
Ein Netzbetriebssystem ist ein Betriebssystem, das um einen
Kommunikationsmechanismus erweitert wurde, so daß Kommunikation
und Kooperation zwischen Betriebssystemen möglich ist und damit der
Zugriff auf entfernte Ressourcen.
Einführung
I-36
6
Geschichte der Betriebssysteme 7(7)
„
Der heutige Betriessystem-Zoo
„
Mainframe operating systems
„
Server operating systems
„
Multiprocessor operating systems
„
Personal computer operating systems
„
Real-time operating systems
„
Embedded operating systems
„
Smart card operating systems
„
„
„
Standardisierung von Betriebssystemfunktionen mit dem Ziel, die
Portabilität von Programmen zu verbessern.
POSIX-Standards werden durch eine Arbeitsgruppe des Institute of
Electrical and Electronics Engineers (IEEE) ausgearbeitet und lehnen
sich an UNIX an.
POSIX Standards (Stand 1994)
POSIX.0
POSIX.1
POSIX.2
POSIX.3
POSIX.4
POSIX.5
POSIX.6
POSIX.7
POSIX.8
POSIX.9
POSIX.10
Einführung
OS (WS 04/05)
POSIX Standards
I-37
OS (WS 04/05)
Guide and overview
Library functions
Shell and utilities
Test methods and conformance
Real-time extensions
Ada language binding to POSIX.1
Security extensions
System administration
Transparent file access
Fortran 77 binding to POSIX.1
Supercomputing profile
POSIX.11
POSIX.12
POSIX.13
POSIX.14
POSIX.15
POSIX.16
POSIX.17
POSIX.18
POSIX.19
POSIX.20
POSIX.21
Einführung
Transaction processing
Protocol independent communication
Real-time profiles
Multiprocessor profile
Batch/supercomputer extensions
Language-independent POSIX.1
Directory/name services
Basic POSIX system profile
Fortran-90 binding to POSIX.4
Ada binding to POSIX.4
Distributed real-time
I-40
Inhalt
„
Was ist ein Betriebssystem?
Aufgaben eines Betriebssystems
Betriebsarten von Betriebssystemen
Struktur eines Betriebssystems
Geschichte der Betriebssysteme
„
Standardisierung
„
„
„
„
Einführung
OS (WS 04/05)
I-38
Standardisierung
„
Einige relevante Standards
AT&T:
System V Interface Definition (SVID)
1985
„
OSF:
OSF:
Distributed Computing Environment (DCE)
Motif 2.0 Graphical User Interface Toolkit
1995
1994
„
X/OPEN
Portability Guide (XPG-1, ..., XPG-4)
1984
„
IEEE
Portable Operating System Interface based
on UNIX (POSIX)
1989
„
„
„
„
„
„
OpenGroup: Single UNIX Specification Version 2
OpenGroup: Common Desktop Environment (CDE) 1.0
ANSI/ISO:
ANSI/ISO:
OS (WS 04/05)
Programmiersprache C (X3.159, ISO/IEC 9899)
Programmiersprache C++ (X3J16)
Einführung
1997
1996
1989
1998
I-39
7
Herunterladen