Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

SS 2007 Version vom 21.03.2007.

Ähnliche Präsentationen


Präsentation zum Thema: "SS 2007 Version vom 21.03.2007."—  Präsentation transkript:

1 SS 2007 Version vom

2 Praktikum: Abdellaoui, Adrian, Debusmann, Schäfer, Weber
Organisation Leitung: H. Weber Praktikum: Abdellaoui, Adrian, Debusmann, Schäfer, Weber Vorlesung: Do, (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%) Übersicht

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

4 W. Stallings, Operating Systems, Prentice Hall, New Jersey 1998
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 Übersicht

5 Prozeßsynchronisation Speicherverwaltung Dateiverwaltung
Inhalt der Vorlesung Übersicht Prozesse Prozeßsynchronisation Speicherverwaltung Dateiverwaltung Ein- und Ausgabeverwaltung Verteilte Systeme Übersicht

6 Kap. 1 Übersicht

7 Einleitung: Was ist ein Betriebssystem Betriebssystemschichten
Kap. 1 - Inhalt Einleitung: Was ist ein Betriebssystem Betriebssystemschichten Schnittstellen und virtuelle Maschinen Geschichte Aufbau von Betriebssystemen Rechnerarchitekturen Wichtige Konzepte Übersicht

8 Betriebssystem-Zoo Übersicht

9 Was ist ein Betriebssystem ?
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 Die erste Definition zielt auf die Verwaltung von Betriebsmitteln, die zweite auf den Aspekt einer historisch gewachsenen Umgebung. Die zweite ist zwar wirlichkeitsnäher, enthält aber auch viele unklare Begriffe. Was heißt „anwendungsunabhängig“? Es gibt keinen anwendungsunabhängigen Betrieb eines Rechners. Gemeint ist also eine Schnittmenge von Programmteilen von allen wichtigen Anwendungen. Was heißt „notwendig“? Sind Fenster und Mäuse notwendig? Dies ist subjektiv. Übersicht

10 Definition (Betriebssystem):
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. Übersicht

11 Betriebssystemschichten I
benutzt Benutzer Benutzerprogramm Maschinenhardware Betriebssystem Übersicht

12 Betriebssystemschichten II
Schichtenmodell Zwiebelschalenmodell HW User 1 User 2 User 3 Compiler Editor ... Spiele Betriebssystemdienste Hardware Die Benutzungsrelationen kann man visualisieren. Das Schichtenmodell betont stärker den Aspekt eine Basis und des Aufbaus darauf, das Zwiebelschalenmodell die Aspekte der Abgeschlossenheit und Sichtbarkeit. Alle Aspekte sind wichtig; benutzt wird aber meist das Schichtenmodell. Zwischen den Schichten gibt es Kommunikation: die genaue Beschreibung wird durch „Schnittstellen“ vollführt. Übersicht

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, -Programm etc.) werden im Benutzermodus ausgeführt Übersicht

14 Schnittstellen & virt. Maschinen I
SCSI-Operationen fur Festplatten: FORMAT UNIT RECOVER DATA VERIFY INQUIRY RECOVER ID WRITE MODE SELECT RELEASE UNIT WRITE AND VERIFY MODE SENSE REQUEST SENSE WRITE BUFFER NO OPERATION RESERVE UNIT WRITE EXTENDED PRIORITY RESERVE REZERO UNIT WRITE LONG READ SEEK WRITE SAME READ BUFFER SEEK EXTENDED READ CAPACITY SEND DIAGNOSTIC READ DEFECT DATA SET LIMITS READ EXTENDED START/STOP UNIT READ LONG TEST UNIT READY REASSIGN BLOCKS RECEIVE DIAGN. RESULTS Wer will schon mit dieser Schnittstelle Informationen langfristig speichern und zugreifen wollen ?!? Übersicht

15 Schnittstellen & virt. Maschinen II
Eine Schnittstelle 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 Implementierung benötigt dazu Daten, Funktionen und Protokolle für die Dienstleistungen, die sie zur Erfüllung benötigt (Importschnittstelle). Virtuelle Maschinen Übersicht

16 Schnittstellen & virt. Maschinen III
Schicht 3 Zeit Schicht 2 Zusätzlich zu dem Aspekt der Schnittstellen kommt für eine VM einer sequentiellen Maschine auch die Zeit hinzu: die Dienstleistung wird als Sequenz von Dienstleistungen unterer Schichten (VM) erbracht. Schicht 1 Übersicht

17 Schnittstellen & virt. Maschinen IV – Virt. CPU
Software-Hardware-Migration durch virtuelle CPU Programm in Java-Code Programm in Java-Code Java-Code / Maschinencode Microcode- CPU- Hardware und CPU-Hardware Übersicht

18 Beispiel: Festplattenspeicher
Schnittstellen & virtuelle Maschinen V - virtuelle logische, physikalische Geräte Beispiel: Festplattenspeicher Kontrolle Daten Virtuelles Gerät log. Gerät log. Gerät 2 phys. Gerät 1 Treiber 1 Gerät 2 Treiber 2 Treiber für log. Geräte virtuelles Gerät = logisches Gerät Verwaltungstreiber logisches Gerät = physikalisches Gerät + HW-Treiber. In obiger Zeichnung sind mehrere Geräte durch VM in Zwiebelschalenform zusammengefaßt. Bei Geräten gibt es historisch auch die Bezeichnung „log.Gerät“ für eine VM im Unterschied zu Phys. Geräten. Übersicht

19 Gliederung (parallel zu Rechnergenerationen):
Geschichte I Gliederung (parallel zu Rechnergenerationen): 1. Generation ( ): Röhren und Steckkarten 2. Generation ( ): Transistoren und Stapelverarbeitung 3. Generation ( ): ICs und Mehrprogrammbetrieb 4. Generation ( ): Personal Computer und Netzwerkbetriebssysteme 5. Heute Übersicht

20 USA: H. Aiken (Harvard), J. v. Neumann (Princeton) u.a.
Geschichte II 1. Generation ( ): 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. Übersicht

21 Geschichte III 2. Generation ( ): 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): Übersicht

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 Übersicht

23 Geschichte V Die Steuerkarten waren Vorläufer der heutigen Kommandosprachen, die Monitore Vorläufer der heutigen Betriebssysteme Übersicht

24 ICs und Multiprogramming Timesharing-Betrieb Zugriff über Terminals
Geschichte VI 3. Generation ( ): ICs und Multiprogramming Timesharing-Betrieb Zugriff über Terminals Multics UNIX Übersicht

25 Netzwerke zur Kommunikation und Kooperation.
Geschichte VII 4. Generation ( ): 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ächen Marktdominierende 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) Übersicht

26 Neue Anwendungen gekennzeichnet durch:
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ähigkeit Fehlertoleranz / Robustheit Multimedia WWW- Anbindung Übersicht

27 Aktuelle Entwicklungsrichtungen:
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 Übersicht

28 Welche Betriebssysteme haben Sie benutzt? ... Heute:
Geschichte X - Fragen Gestern: Welche Betriebssysteme haben Sie benutzt? ... Heute: Welche Betriebssysteme benutzen Sie ? Welche Systeme sind nützlich für diese LV? Übersicht

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 Übersicht

30 Aufbau II - Betriebssystemgliederung
Benutzerschnittstelle textuelle und graphische Interaktion mit dem Benutzer Dienstprogramme, Werkzeuge oft benutzte Programme wie Editor, Linker, ... Übersetzungsprogramme Interpreter, Compiler, Translator, .. Organisationsprogramme Speicher-, Prozessor-, Geräte-, Netzverwaltung Was sind nun die Programmteile für einen „anwenderunabhängigen“ Betrieb? Übersicht

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 –Kommunikation Dateien (files) , damit verbunden Dateisysteme (file systems) und Verzeichnisse (directories) IO-Geräte (devices) Übersicht

32 Aufbau IV - Typischer Betriebssystemaufbau
Benutzer 1 Benutzer N Benutzeroberfläche User Interface Management System Anwen - Dienst- Werk- dung 1 programm zeug Systemaufruf Betriebssystemkern Die Programmteile sind nicht lose zusammengefaßt, sondern Teil einer Gesamtarchitektur, dargestellt als Schichtenmodell. Operating System Kernel Maschinencode Hardware Übersicht

33 Aufbau V - Der Betriebssystemkern
Aufruf mittels Traps (Falltüren) Der Kern wird mittels eines „Trap“-Mechanismus (Falltür) aufgerufen. Dabei wird eine Zahl, die Nummer des Eingangs, angegeben. Sie bezeichnet die Funktion, die gewünscht wird. Nachdem die Funktion erfüllt wurde, verläßt der Prozeß den Kern wieder und arbeitet normal weiter, sofern keine Probleme im Kern aufgetreten sind. Eingang Ausgang Übersicht

34 Aufbau VI - Systemaufrufe: Traps und Interrupts
Synchrone, indirekte Methodenaufrufe (Traps) ... Move A,R Tabelle von Interruptvektoren Trap 7 Move R1, A Adr 0017 Status PS der ISR 8 Adr 0016 Adresse PC der ISR 8 Adr 0015 Status PS der ISR 7 Adr 0014 Adresse PC der ISR 7 Adr 0013 Status PS der ISR 6 Adr 0012 Adresse PC der ISR 6 Asynchrones HW-Interrupt-Signal 7 Wie werden die Systemaufrufe durchgeführt? ISR = Interrupt Service Routines = Treiber PS = Processor Status Word (prio, mode,..) Übersicht

35 Aufbau VII - Aufruf des Betriebssystemkerns
Programm- Programm- instruktionen instruktionen Interrupt {PC+1, PS= user mode } stack return from interrupt BS PC, kernel mode PS stack {PC, PS= user mode } Betriebssystem- kerndienste BS : Bootstrap Umschaltung vom Usermodus in Kernmodus und zurück !! Übersicht

36 Aufbau VIII - UNIX-Betriebssystemkern
Multi-User Benutzer- Benutzer- Multi-programming Shell 1 Shell 2 Benutzer- System- System- Programm 1 Programm 1 Programm 2 user mode kernel mode Überprüfbare Schnittstelle und Funktionsverte i lung Speicher- Serielle Ein/Ausgabe Dateisystem verwaltung Prozess- Dis- Platte manage - TTY Drucker Maus Netz play Floppy ment Hardware Implementierungsunabhängige Schnittstellen: Portable Operating System Interface based on UniX Übersicht

37 Aufbau IX - UNIX Systemsoftware I
Systemprogramme ar build & maintain archives cat concatenate filesstandard out cc compile C program chmod change protection mode cp copy file echo print argument grep file search including a pattern kill send a signal to a process Übersicht

38 Aufbau X - UNIX Systemsoftware II
ln link a file lp print a file ls list files and directories mv move a file sh start a user shell tee copy standard in to standard out and to a file wc word count Übersicht

39 Aufbau XI – Monolitisches System
Übersicht

40 Aufbau XII – Geschichtetes System
Struktur des THE Betriebssystems Übersicht

41 Aufbau XIII – Virtuelle Maschinen
Struktur von VM/370 mit CMS Übersicht

42 Aufbau XIV – Client-Server Modell
Übersicht

43 Aufbau XV – Client-Server Modell in einem verteilten System
Übersicht

44 Aufbau XVI – Bsp.: MACH- Betriebssystemkern
Mach-Kern Benutzer- File Speicher Terminal programm Manager Manager I/O user mode kernel mode Scheduler, Nachrichtenübermittlung, Basic I/O, Speicherobjekte Hardware Mikrokern Vorteile: minimaler Kern, alle Funktionen modularisiert austauschbar Nachteile: Kommunikationsdauer zwischen Managern Übersicht

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 ? Übersicht

46 Aufbau XVIII – Bsp.: Windows NT - Lösungen
Kompatibilität pro 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. Robustheit Trennung der Programmablaufumgebungen (virt. Maschinen), kein direkter Hardwarezugriff fehlertolerantes Dateisystem, Netzdienste, Portierbarkeit In C geschriebene Module, auf Hardwaremodell aufsetzend Übersicht

47 Aufbau XIX – Bsp.: Windows NT - Betriebssystemkern
Security Win32 POSIX POSIX OS/2 OS/2 Win/DOS Logon Subsy s - Subsy s - Subsy s - Client Subsy s - Client Client tem tem tem tem user mode kernel m o de Systemdienste Object Process Local Memory Security I/O Manager Manager Proc. Calls Manager Monitor S y stem Kernel Hardware Abstraction Layer HAL Hardware Übersicht

48 Rechnerarchitekturen I
Einprozessorsystem BS- Nutzer 1 ... Nutzer n Kern Programm Programm Hauptspeicher Massen - speicher Programme Prozessor Daten Bis max. N (~ 16) CPUs erweiterbar. Problem: Speicherzugriff (Systembus) Übersicht

49 Rechnerarchitekturen II
Multiprozessorsystem P P P 1 2 n Verbindungsnetzwerk „Tanzsaal Arbeitsspeicher ... BS- Nutzer 1 Nutzer n Vorteile: Schnelle Kopplung Keine Speicher-Zugriffsbeschränkung Einfache Implementierung globaler Variablen Nachteile: Zugriffsbehinderung bei vielen Prozessoren („hot spots“): globale Variable Mögliche Datenkorruption bei defekten Prozessoren Möglicher Systemausfall bei Ausfall eines Speichermoduls Kern Programm Programm Problem: Performance-Einbussen bei häufigen Speicherzugriffen Übersicht

50 Rechnerarchitekturen III
Mehrrechnersystem BS- Kern Nutzer 1 Pr o gramm P 1 n Nutzer Programm Arbeitsspeicher Verbindungsnetzwerk „Vorzimmer Vorteile: Schneller lokaler Speicherzugriff Programmiermodell ist skalierbar Begrenzte Fehlerfortpflanzung Hohe Fehlertoleranz möglich Nachteile: Externer Datenzugriff über Nachrichten dauert länger Umständliche Implementierung globaler Variablen Übersicht

51 Rechnerarchitektur IV
Rechnernetz Verbindungsnetzwerk LAN, WAN P 1 n BS- Kern Nutzer 1 Pr o gramm Nutzer Programm Übersicht

52 Wichtige Konzepte I Prozesse Dateien Systemaufrufe Shells Übersicht

53 Prozeß : Programm in seiner Ausführung
Konzepte II - Prozesse Prozeß : Programm in seiner Ausführung Prozess-Baum A hat zwei Kind-Prozesse B and C erzeugt B hat drei Kind-Prozesse D, E, und F erzeugt Übersicht

54 Konzepte III - Dateissytem
Übersicht

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 Übersicht

56 Konzepte V - Systemaufrufe
Es gibt 11 Schritte beim Ausführen des Systemaufrufs read (fd, buffer, nbytes) Übersicht

57 Konzepte VII – Systemcalls für File Management
Übersicht

58 Konzepte VII – Directory Management
Übersicht

59 Konzepte IX - Verschiedene
Übersicht

60 Konzepte X – UNIX/Windows32 - Systemaufrufe
Übersicht

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 */ } Übersicht


Herunterladen ppt "SS 2007 Version vom 21.03.2007."

Ähnliche Präsentationen


Google-Anzeigen