Leitung: Praktikum: Vorlesung: Praktikumsgruppen : 3weber/bs/weber/einleitung.pdf2 Betriebssysteme...

31
SS 2007 Version vom 21.03.2007 Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH Wiesbaden Übersicht Folie 2 Organisation Leitung: H. Weber Praktikum: Abdellaoui, Adrian, Debusmann, Schäfer, Weber Vorlesung: Do, 7.45 - 10.15 (3 Stunden V, inkl. Pause) Praktikumsgruppen : 3-stündig PL/SL : Klausur am Semesterende Praktikum: 2 bewertete (live) Aufgaben (je 40 %) und weitere 5 Aufgaben (je 2%), mündlicher Anteil (5%), Praktikumsordner (5%)

Transcript of Leitung: Praktikum: Vorlesung: Praktikumsgruppen : 3weber/bs/weber/einleitung.pdf2 Betriebssysteme...

Page 1: Leitung: Praktikum: Vorlesung: Praktikumsgruppen : 3weber/bs/weber/einleitung.pdf2 Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 3 Literatur

1

SS 2007

Version vom 21.03.2007

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 2

Organisation

Leitung: H. WeberPraktikum: Abdellaoui, Adrian, Debusmann,

Schäfer, Weber

Vorlesung:Do, 7.45 - 10.15 (3 Stunden V, inkl. Pause)

Praktikumsgruppen : 3-stündig

PL/SL : Klausur am Semesterende

Praktikum: 2 bewertete (live) Aufgaben (je 40 %) undweitere 5 Aufgaben (je 2%), mündlicher Anteil (5%), Praktikumsordner (5%)

Page 2: Leitung: Praktikum: Vorlesung: Praktikumsgruppen : 3weber/bs/weber/einleitung.pdf2 Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 3 Literatur

2

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 3

Literatur I

R. Brause, Betriebssysteme – Grundlagen und Konzepte, 2. Auflage, Springer-Verlag, Berlin 2001A.S. Tanenbaum, Moderne Betriebssysteme, 2. Auflage, Pearson-Verlag 2002C. Vogt, Betriebssysteme, Spektrum Akademischer Verlag, Heidelberg 2001J. Nehmer, P. Sturm, Systemsoftware –Grundlagen moderner Betriebssysteme, dpunkt-Verlag, Heidelberg 1998A. Silberschatz, P. Gavin, G. Gagne, AppliedOperating Systems Concepts, John Wiley&Sons, New York 2000

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 4

Literatur II

W. Stallings, Operating Systems, Prentice Hall, New Jersey 1998

G. Nutt, Operating Systems, Addison-Wesley, Reading 2000

L. Bic, A. Shaw, Betriebssysteme, Hanser-Verlag, 1988

E. Glatz, Betriebssysteme Grundlagen, Konzepte, Systemprogrammierung, dpunkt-Verlag, 2005

R.A. Finkel, An Operating Systems Vade Mecum,Prentice Hall – bei uns als PDF-File vorhanden

H. Weber, Praktische Systemprogrammierung, Vieweg, Wiesbaden 1998

Page 3: Leitung: Praktikum: Vorlesung: Praktikumsgruppen : 3weber/bs/weber/einleitung.pdf2 Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 3 Literatur

3

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 5

Inhalt der Vorlesung

ÜbersichtProzesseProzeßsynchronisationSpeicherverwaltungDateiverwaltungEin- und AusgabeverwaltungVerteilte Systeme

Übersicht

Kap. 1

Page 4: Leitung: Praktikum: Vorlesung: Praktikumsgruppen : 3weber/bs/weber/einleitung.pdf2 Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 3 Literatur

4

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 7

Kap. 1 - Inhalt

Einleitung: Was ist ein BetriebssystemBetriebssystemschichtenSchnittstellen und virtuelle MaschinenGeschichteAufbau von BetriebssystemenRechnerarchitekturenWichtige Konzepte

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 8

Betriebssystem-Zoo

Page 5: Leitung: Praktikum: Vorlesung: Praktikumsgruppen : 3weber/bs/weber/einleitung.pdf2 Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 3 Literatur

5

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 9

Einleitung I

Was ist ein Betriebssystem ?

* die Gesamtheit der Programmteile, die die Benutzung von Betriebsmitteln steuern und verwalten

* die Software (Programmteile), die für den Betrieb eines Rechners anwendungsunabhängig notwendig ist

* virtuelle Maschine, die dem Benutzer Abstraktionen der Hardware zur Verfügung stellt, die wesentlich einfacher zu benutzen sind

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 10

Einleitung II

Definition (Betriebssystem):

Ein Betriebssystem ist ein Programmsystem, das alle Betriebsmittel eines Rechensystems verwaltet und ihre Zuteilung kontrolliert und den Nutzern des Rechensystems eine virtuelle Maschine offeriert, die einfacher zu verstehen und zu programmieren ist als die unterlagerte Hardware.

Page 6: Leitung: Praktikum: Vorlesung: Praktikumsgruppen : 3weber/bs/weber/einleitung.pdf2 Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 3 Literatur

6

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 11

benutzt

benutzt

benutzt

Benutzer

Benutzerprogramm

Maschinenhardware

Betriebssystem

Betriebssystemschichten I

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 12

Betriebssystemschichten II

User 1 User 2 User 3Compiler Editor ... Spiele

BetriebssystemdiensteHardware HW

Schichtenmodell Zwiebelschalenmodell

Page 7: Leitung: Praktikum: Vorlesung: Praktikumsgruppen : 3weber/bs/weber/einleitung.pdf2 Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 3 Literatur

7

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 13

Betriebssystemschichten III

Systemsoftware versus Anwendersoftware

Das Betriebssystem ist der Teil der Software, die normalerweise im Kernmodus oder Supervisormodus ausgeführt wird

Die Anwendungsprogramme (Compiler, Editor, E-Mail-Programm etc.) werden im Benutzermodus ausgeführt

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 14

Schnittstellen & virt. Maschinen ISCSI-Operationen fur Festplatten:

FORMAT UNIT RECOVER DATA VERIFYINQUIRY RECOVER ID WRITEMODE SELECT RELEASE UNIT WRITE AND VERIFYMODE SENSE REQUEST SENSE WRITE BUFFERNO OPERATION RESERVE UNIT WRITE EXTENDEDPRIORITY RESERVE REZERO UNIT WRITE LONGREAD SEEK WRITE SAMEREAD BUFFER SEEK EXTENDED .....READ CAPACITY SEND DIAGNOSTICREAD DEFECT DATA SET LIMITSREAD EXTENDED START/STOP UNITREAD LONG TEST UNIT READYREASSIGN BLOCKSRECEIVE DIAGN. RESULTS

Wer will schon mit dieser Schnittstelle Informationenlangfristig speichern und zugreifen wollen ?!?

Page 8: Leitung: Praktikum: Vorlesung: Praktikumsgruppen : 3weber/bs/weber/einleitung.pdf2 Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 3 Literatur

8

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 15

Schnittstellen & virt. Maschinen II

Eine SchnittstelleSchnittstelle besteht aus

Daten sowie Funktionen bzw. Methoden dafür (Objekte)

Protokolle für die Benutzung der Funktionen und Daten, mit denen das Objekt Dienstleistungen erbringt (Exportschnittstelle)

Die ImplementierungImplementierung benötigt dazuDaten, Funktionen und Protokolle für die Dienstleistungen, die sie zur Erfüllung benötigt (Importschnittstelle).

Virtuelle Maschinen

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 16

Schnittstellen & virt. Maschinen III

Schicht 3

Zeit

Schicht 2

Schicht 1

Page 9: Leitung: Praktikum: Vorlesung: Praktikumsgruppen : 3weber/bs/weber/einleitung.pdf2 Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 3 Literatur

9

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 17

Schnittstellen & virt. Maschinen IV – Virt. CPU

Software-Hardware-Migration durch virtuelle CPU

Programm in Java-Code Programm in Java-CodeJava-Code / Maschinencode Microcode-

CPU- Hardware und CPU-Hardware

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 18

Schnittstellen & virtuelle Maschinen V - virtuelle logische, physikalische Geräte

Beispiel: Festplattenspeicher

virtuelles Gerät

= logisches Gerät +Verwaltungstreiber

logisches Gerät

= physikalisches Gerät + HW-Treiber.

Kontrolle Daten

Virtuelles Gerät

log. Gerät 1 log. Gerät 2

phys.Gerät 1

Treiber 1

phys.Gerät 2

Treiber 2

Treiber für log. Geräte

Page 10: Leitung: Praktikum: Vorlesung: Praktikumsgruppen : 3weber/bs/weber/einleitung.pdf2 Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 3 Literatur

10

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 19

Geschichte I

Gliederung (parallel zu Rechnergenerationen):

1. Generation (1945-1955): Röhren und Steckkarten

2. Generation (1955-1965): Transistoren und Stapelverarbeitung

3. Generation (1965-1980): ICs und Mehrprogrammbetrieb

4. Generation (1980-1990): Personal Computer und Netzwerkbetriebssysteme

5. Heute

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 20

Geschichte II

1. Generation (1945-1955):USA: H. Aiken (Harvard), J. v. Neumann (Princeton) u.a.

Deutschland: Konrad Zuse

Eine Gruppe von Personen kümmert sich um Entwurf, Bau,

Programmierung, Operating und Wartung jedes einzelnen

Rechners.

Programmierung durch Verdrahtung von Steckkarten oder in absoluter Maschinensprache (Programmiersprachen unbekannt).

Nutzung fur numerische Berechnungen.

Ab Anfang der 50er Jahre Benutzung von Lochkarten.

Betriebssysteme unbekannt.

Page 11: Leitung: Praktikum: Vorlesung: Praktikumsgruppen : 3weber/bs/weber/einleitung.pdf2 Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 3 Literatur

11

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 21

Geschichte III

2. Generation (1955-1965):Nach Einfuhrung von Transistoren werden Rechner zuverlässig genug, um an Kunden verkauft zu werden.Unterscheidung zwischen Entwicklern, Herstellern, Operateuren, Programmierern und Wartungspersonal.Zunächst Ausfuhrung einzelner Jobs in Form von Lochkartenstapeln mit hohem Anteil manueller Arbeiten.Rationalisierung des Operating durch Einfuhrung des Stapelbetriebs (Batch-System):

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 22

Geschichte IV

-

Batch-System– bringt Kartenstapel zur 1401– kopiert Karten auf Band– bringt Eingabeband auf 7094, die Berechnung ausführt– bringt Ausgabeband zur 1401, die den Output ausdruckt

Page 12: Leitung: Praktikum: Vorlesung: Praktikumsgruppen : 3weber/bs/weber/einleitung.pdf2 Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 3 Literatur

12

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 23

Geschichte V

Die Steuerkarten waren Vorläufer der heutigen Kommandosprachen, die Monitore Vorläufer der heutigen Betriebssysteme

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 24

Geschichte VI

3. Generation (1965-1980):ICs und Multiprogramming

Timesharing-Betrieb

Zugriff über Terminals

Multics

UNIX

Page 13: Leitung: Praktikum: Vorlesung: Praktikumsgruppen : 3weber/bs/weber/einleitung.pdf2 Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 3 Literatur

13

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 25

Geschichte VII

4. Generation (1980-1990): Personal Computer als Individuen zugeordnete Werkzeuge (= Workstation).Netzwerke zur Kommunikation und Kooperation.getrieben durch LSI und VLSI- Entwicklung, preiswert, aber leistungsstark wie Minirechner bzw. Großrechner.hohe Graphikfähigkeit führt zu benutzerfreundlichen OberflächenMarktdominierende Betriebssysteme: MS- DOS und UNIX.Netzwerkbetriebssysteme erlauben Zugang zu anderen Rechnern, Dateitransfer, gemeinsame Benutzung von Informationen (z. B. TCP/ IP Netzwerk Utilities, Novell Netware, Network File System)

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 26

Geschichte VIII

5. Heute: Neue Anwendungen gekennzeichnet durch:

steigende Komplexität und neue geforderte Funktionalitäten:Verteiltheit (Client/ Server),Offenheit,Heterogenität,Skalierbarkeit"Cooperative Computing"Sicherheit (Security)RealzeitfähigkeitFehlertoleranz / RobustheitMultimediaWWW- Anbindung

Page 14: Leitung: Praktikum: Vorlesung: Praktikumsgruppen : 3weber/bs/weber/einleitung.pdf2 Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 3 Literatur

14

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 27

Geschichte IX

Aktuelle Entwicklungsrichtungen:

Verteilte Betriebssysteme

Multiprozessing

Standardisierung von Schnittstellen

Mehrere BS-Schnittstellen auf einem Rechner

Konfigurierbarkeit

Realzeitfähigkeit

Administration grosser Netzwerke

Multimediaunterstützung

Erhöhung der Sicherheit

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 28

Geschichte X - Fragen

Gestern:Welche Betriebssysteme haben Sie benutzt?

...

Heute:Welche Betriebssysteme benutzen Sie ?

...

Welche Systeme sind nützlich für diese LV?

Page 15: Leitung: Praktikum: Vorlesung: Praktikumsgruppen : 3weber/bs/weber/einleitung.pdf2 Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 3 Literatur

15

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 29

Aufbau I - Unterschiedliche Arten von BSn

Mainframe-Betriebssysteme

Server-Betriebssysteme

Multiprozessor-Betriebssysteme

PC Betriebssysteme

Echtzeit-Betriebssysteme

Betriebssysteme für eingebettete Systeme

Betriebssysteme für Chipkarten

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 30

Aufbau II - Betriebssystemgliederung

Benutzerschnittstelletextuelle und graphische Interaktion mit dem Benutzer

Dienstprogramme, Werkzeugeoft benutzte Programme wie Editor, Linker, ...

ÜbersetzungsprogrammeInterpreter, Compiler, Translator, ..

OrganisationsprogrammeSpeicher-, Prozessor-, Geräte-, Netzverwaltung

Page 16: Leitung: Praktikum: Vorlesung: Praktikumsgruppen : 3weber/bs/weber/einleitung.pdf2 Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 3 Literatur

16

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 31

Aufbau III - Benutzerschnittstelle

Ein Blick auf die Benutzerschnittstelle:

1. Benutzeroberfläche (Kommandointerpreter, Grafische Oberflächen) einschließlich der Schnittstellen zu Dienstprogrammen (Tools) wie etwas Editoren, Übersetzer (Compiler), Binder (Linker), ...

2. Bibliotheksschnittstellen (Standardbibliotheken und spezielle Bibliotheken), zur Programmierung benutzt.3. Betriebssystemdienst-Schnittstelle enthält Systemaufrufe (system calls), d.h. „erweiterte Befehle“ = Operationen zum Umgang mit den Abstraktionen, die der Kern offeriert. Wesentliche Kernabstraktionen: Prozesse (processes) = Programme in Ausführung, damit verbunden Mechanismen zur Prozess-Synchronisation und –KommunikationDateien (files) , damit verbunden Dateisysteme (file systems) und Verzeichnisse (directories) IO-Geräte (devices)

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 32

Aufbau IV - Typischer Betriebssystemaufbau

Systemaufruf

Maschinencode

BenutzeroberflächeUser Interface Management System

BetriebssystemkernOperating System Kernel

Hardware

Anwen-dung 1

Dienst-programm

Werk-zeug…

Benutzer 1 … Benutzer N

Page 17: Leitung: Praktikum: Vorlesung: Praktikumsgruppen : 3weber/bs/weber/einleitung.pdf2 Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 3 Literatur

17

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 33

Aufruf mittels Traps(Falltüren)

Aufbau V - Der Betriebssystemkern

EingangAusgang

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 34

Aufbau VI - Systemaufrufe: Traps und Interrupts

Synchrone, indirekte Methodenaufrufe (Traps)...Move A,R1 Tabelle von Interruptvektoren

Trap 7Move R1, A...

Adresse PC der ISR 6Adr 0012

Status PS der ISR 6Adr 0013

Adresse PC der ISR 7Adr 0014

Status PS der ISR 7Adr 0015

Adresse PC der ISR 8Adr 0016

Status PS der ISR 8Adr 0017

Asynchrones HW-Interrupt-Signal 7

ISR = Interrupt Service Routines = TreiberPS = Processor Status Word (prio, mode,..)

Page 18: Leitung: Praktikum: Vorlesung: Praktikumsgruppen : 3weber/bs/weber/einleitung.pdf2 Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 3 Literatur

18

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 35

Aufbau VII - Aufruf des Betriebssystemkerns

Interrupt{PC+1, PS=user mode}→stack return from interrupt

BS →PC, kernel mode →PS stack→{PC, PS=user mode}

Programm-instruktionen

Programm-instruktionen

Betriebssystem-kerndienste

Umschaltung vom Usermodus in Kernmodus und zurück !!

BS : Bootstrap

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 36

Aufbau VIII - UNIX-Betriebssystemkern

…user mode

kernel mode

Benutzer-Programm 1

System-Programm 1

System-Programm 2

Benutzer-Shell 1

Benutzer-Shell 2

Überprüfbare Schnittstelle und FunktionsverteilungSpeicher-

verwaltung Serielle Ein/Ausgabe Dateisystem Prozess-Dis-play TTY Drucker Maus Platte

Floppy Netz manage-ment

Hardware

MultiMulti--UserUser

MultiMulti--programmingprogramming

Implementierungsunabhängige Schnittstellen:PPortable OOperating SSystem IInterface based on UniXX

Page 19: Leitung: Praktikum: Vorlesung: Praktikumsgruppen : 3weber/bs/weber/einleitung.pdf2 Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 3 Literatur

19

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 37

Aufbau IX - UNIX Systemsoftware I

Systemprogramme ar build & maintain archivescat concatenate files→standard outcc compile C programchmod change protection modecp copy fileecho print argumentgrep file search including a patternkill send a signal to a process

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 38

Aufbau X - UNIX Systemsoftware II

ln link a file lp print a filels list files and directoriesmv move a filesh start a user shelltee copy standard in to standard out and

to a filewc word count

Page 20: Leitung: Praktikum: Vorlesung: Praktikumsgruppen : 3weber/bs/weber/einleitung.pdf2 Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 3 Literatur

20

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 39

Aufbau XI – Monolitisches System

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 40

Aufbau XII – Geschichtetes System

Struktur des THE Betriebssystems

Page 21: Leitung: Praktikum: Vorlesung: Praktikumsgruppen : 3weber/bs/weber/einleitung.pdf2 Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 3 Literatur

21

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 41

Aufbau XIII – Virtuelle Maschinen

Struktur von VM/370 mit CMS

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 42

Aufbau XIV – Client-Server Modell

Page 22: Leitung: Praktikum: Vorlesung: Praktikumsgruppen : 3weber/bs/weber/einleitung.pdf2 Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 3 Literatur

22

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 43

Aufbau XV – Client-Server Modell in einem verteilten System

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 44

Aufbau XVI – Bsp.: MACH- Betriebssystemkern

Mach-Kern

Scheduler, Nachrichtenübermittlung, Basic I/O, Speicherobjekte

SpeicherManager

FileManager

TerminalI/O

Benutzer-programm

user modekernel mode

Hardware

MikrokernVorteile: minimaler Kern, alle Funktionen modularisiert austauschbar Nachteile: Kommunikationsdauer zwischen Managern

Page 23: Leitung: Praktikum: Vorlesung: Praktikumsgruppen : 3weber/bs/weber/einleitung.pdf2 Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 3 Literatur

23

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 45

Aufbau XVII – Bsp.: Windows NT - Anforderungen

kompatibel zu vorhandenen Systemen Unix, DOS, ..

zuverlässig und robust

leichte Portierbarkeit

leicht veränderbar und anpassungsfähig

leistungsstark

Geht das überhaupt ?

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 46

Aufbau XVIII – Bsp.: Windows NT - Lösungen

Kompatibilitätpro emuliertes BS ein extra Subsystem (Server), von Kunden(Clients) durch Nachrichten (local procedure calls LPC) angefordert. Sie setzen auf Dienstleistungen der NT Executive (Syscalls) auf.

RobustheitTrennung der Programmablaufumgebungen(virt. Maschinen), kein direkter Hardwarezugrifffehlertolerantes Dateisystem, Netzdienste,

PortierbarkeitIn C geschriebene Module, auf Hardwaremodell aufsetzend

Page 24: Leitung: Praktikum: Vorlesung: Praktikumsgruppen : 3weber/bs/weber/einleitung.pdf2 Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 3 Literatur

24

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 47

Aufbau XIX – Bsp.: Windows NT - Betriebssystemkern

user modekernel mode

SystemdiensteObject

ManagerProcess

ManagerLocal

Proc. CallsMemoryManager

SecurityMonitor

I/OSystem

KernelHardware Abstraction Layer HAL

Hardware

POSIXClient

Win/DOSClient

OS/2Client

Win32Subsys-

tem

POSIXSubsys-

tem

OS/2Subsys-

temLogon

SecuritySubsys-

tem

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 48

Rechnerarchitekturen I

Einprozessorsystem

Massen-speicher

ProgrammeDaten

Prozessor

BS-Kern

Nutzer 1Programm

... Nutzer nProgramm

Hauptspeicher

Bis max. N (~ 16) CPUs erweiterbar. Problem: Speicherzugriff (Systembus)

Page 25: Leitung: Praktikum: Vorlesung: Praktikumsgruppen : 3weber/bs/weber/einleitung.pdf2 Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 3 Literatur

25

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 49

Rechnerarchitekturen II

Multiprozessorsystem

Verbindungsnetzwerk„Tanzsaal “

BS-Kern

Nutzer 1Programm

... Nutzer nProgramm

P1 P2 … Pn

Problem: Performance-Einbussen bei häufigen Speicherzugriffen

Arbeitsspeicher

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 50

Rechnerarchitekturen III

Mehrrechnersystem

Verbindungsnetzwerk„Vorzimmer“

BS-Kern

Nutzer 1Programm

P1 … Pn

BS-Kern

Nutzer nProgramm Arbeitsspeicher

Page 26: Leitung: Praktikum: Vorlesung: Praktikumsgruppen : 3weber/bs/weber/einleitung.pdf2 Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 3 Literatur

26

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 51

Rechnerarchitektur IV

Rechnernetz

VerbindungsnetzwerkLAN, WAN

P1 … Pn

BS-Kern

Nutzer 1Programm

BS-Kern

Nutzer nProgramm

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 52

Wichtige Konzepte I

Prozesse

Dateien

Systemaufrufe

Shells

Page 27: Leitung: Praktikum: Vorlesung: Praktikumsgruppen : 3weber/bs/weber/einleitung.pdf2 Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 3 Literatur

27

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 53

Konzepte II - Prozesse

Prozess-Baum

– A hat zwei Kind-Prozesse B and C erzeugt

– B hat drei Kind-Prozesse D, E, und F erzeugt

Prozeß : Programm in seiner Ausführung

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 54

Konzepte III - Dateissytem

Page 28: Leitung: Praktikum: Vorlesung: Praktikumsgruppen : 3weber/bs/weber/einleitung.pdf2 Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 3 Literatur

28

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 55

Konzepte IV – Mounten von Dateisystemen

• Vor dem Mounten,Files auf Floppy sind nicht benutzbar

• Nach dem Mounten der Floppy auf b,Files auf Floppy sind Teil der Filehierarchie

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 56

Konzepte V - Systemaufrufe

Es gibt 11 Schritte beim Ausführen des Systemaufrufs

read (fd, buffer, nbytes)

Page 29: Leitung: Praktikum: Vorlesung: Praktikumsgruppen : 3weber/bs/weber/einleitung.pdf2 Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 3 Literatur

29

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 57

Konzepte VII – Systemcalls für File Management

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 58

Konzepte VII – Directory Management

Page 30: Leitung: Praktikum: Vorlesung: Praktikumsgruppen : 3weber/bs/weber/einleitung.pdf2 Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 3 Literatur

30

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 59

Konzepte IX - Verschiedene

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 60

Konzepte X – UNIX/Windows32 - Systemaufrufe

Page 31: Leitung: Praktikum: Vorlesung: Praktikumsgruppen : 3weber/bs/weber/einleitung.pdf2 Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 3 Literatur

31

Betriebssysteme und Grundlagen Verteilter Systeme © H. Weber, FH WiesbadenÜbersicht Folie 61

Konzepte XI – Eine kleine Shell

while (TRUE) { /* repeat forever */type_prompt( ); /* display prompt */read_command (command, parameters) /* input from terminal */

if (fork() != 0) { /* fork off child process *//* Parent code */

waitpid( -1, &status, 0); /* wait for child to exit */} else {/* Child code */execve (command, parameters, 0); /* execute command */

}}