Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Modul: B-BS Betriebssysteme SS 2014 Prof. Dr. Rüdiger Brause Adaptive Systemarchitektur Institut für Informatik Fachbereich Informatik und Mathematik.

Ähnliche Präsentationen


Präsentation zum Thema: "Modul: B-BS Betriebssysteme SS 2014 Prof. Dr. Rüdiger Brause Adaptive Systemarchitektur Institut für Informatik Fachbereich Informatik und Mathematik."—  Präsentation transkript:

1

2 Modul: B-BS Betriebssysteme SS 2014 Prof. Dr. Rüdiger Brause Adaptive Systemarchitektur Institut für Informatik Fachbereich Informatik und Mathematik (12) Betriebssysteme - Übersicht

3 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 2 Betriebssysteme: Übersicht Organisation Vorlesung Dozent Prof. Dr. Rüdiger Brause, Raum 104a Vorlesung Mi SR 11 Do SR 11 LeistungsscheinBachelor: rechtzeitig anmelden! Möchten mehr als 3 Teilnehmer die Modulprüfung (Schein) absolvieren, so findet eine Klausur (100% = 120 Pkt.) statt; andernfalls eine mündliche Prüfung. Die Übungspunkte (normiert zu max.10% der Klausurpunkte) werden zu den Klausurpunkten addiert Mindestens 40% der 100% Klausurpunkte müssen erreicht werden.

4 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 3 Betriebssysteme: Übersicht Organisation Übungen Tutor: Kevin TschickartMi SR 11 Abgaben Ausgabe Donnerstags, Abgabe 6 Tage später bei der Übung Abgabe Lösungen (Dokumentation+Code) per Abgabe Lösungen ausgedruckt an Tutor Bei Recherchen sind Quellen zu nennen (URL, Screenshot,…). Es dürfen Aufgaben in der Gruppe besprochen werden. Die Abgabe zur Übung muss aber für jede (Teil-)Aufgabe eine erkennbare Eigenleistung (mit eigenen Worten aufgeschrieben bzw. selbstständig programmiert) enthalten Das mehrfache Abgeben der gleichen Lösung bzw. des gleichen Quellcodes wird durch die Vergabe von 0 Punkten für alle betreffenden Abgaben gewertet! Für die Anrechnung der Bonuspunkte zur Klausur: Zweimal an der Tafel vorrechnen.

5 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 4 Betriebssysteme: Übersicht Einführung Motivation Wozu diese Vorlesung? Der Windows-PC ist eine fremdbestimmte Maschine. Was sich auf dem Desktop und in allen nur denkbaren Ecken des Betriebssystems tummelt, hat sich größtenteils selbst installiert. Die lästigen Parasiten zehren an Prozessorleistung und Speicher, und sie nehmen gegen unseren Willen Kontakt mit den Herstellern auf. Welche Daten sie sammeln und übertragen, weiß man nicht. Die verschiedenen Dienste sind so verzahnt, dass kein Laie hier seine eigene Ordnung schaffen und aufräumen könnte. Obwohl wir unsere Hardware und unsere Software selbst bezahlen, haben wir die Kontrolle verloren. FAZ,

6 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 5 Betriebssysteme: Übersicht Einführung Wozu diese Vorlesung ? Verständnis für interne Rechnervorgänge Was geht da vor? Wie kann ich eingreifen? Welche Fehler können passieren? Womit muss ich in kleinen Systemen (eingebettete Systeme) rechnen? Verbesserung + Ergänzung eines Betriebssystems Eigene Treiber für Spezialhardware Datenbankanbindungen, neue Linux-Module Entwurf eines eigenen Betriebssystems Design von neuen Mikrosystemen, etwa auf Scheckkartenchips Design von Forschungssystemen, etwa mobile Schwärme

7 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 6 Welches Betriebssystem ? WindowsUnix / Linux / OS X Betriebssysteme: Übersicht Verkauf 2013/14 Desktop+Notebooks90,0%9% Tablet computer 7,5% 92% Smartphones 3,3% 94% Welches Betriebssystem haben Sie? Welches Betriebssystem ist wichtig?

8 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 7 Betriebssysteme: Übersicht SCHNITTSTELLEN VIRTUELLE MASCHINEN SYSTEMAUFRUFE SCHICHTENMODELL

9 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 8 Betriebssysteme: Übersicht Einführung Was ist ein Betriebssystem ? ? Die Software (Programmteile), die für den Betrieb eines Rechners anwendungsunabhängig notwendig ist. ? Die Gesamtheit der Programmteile, die die Benutzung von Betriebsmitteln steuern und verwalten. ? Diejenigen Programme eines digitalen Rechnersystems, die zusammen mit den Eigenschaften der Rechenanlage die Basis der möglichen Betriebsarten des digitalen Rechnersystems bilden und insbesondere die Abwicklung von Programmen steuern und überwachen (DIN 44300). ? Zusammenfassende Bezeichnung für alle Programme, die die Ausführung der Benutzerprogramme, die Verteilung der Betriebsmittel auf die einzelnen Benutzerprogramme und die Aufrechterhaltung der Betriebsart steuern und überwachen (DUDEN).

10 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 9 Betriebssysteme: Übersicht Betriebssystemgliederung Benutzerschnittstelle textuelle und graphische Interaktion mit dem Benutzer Dienstprogramme, Werkzeuge oft benutzte Programme wie Editor, Linker,... Übersetzungsprogramme Interpreter, Compiler, Translator,.. Systemprogramme Speicher-, Prozessor-, Geräte-, Netzverwaltung

11 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 10 Betriebssysteme: Übersicht UNIX Systemsoftware Systemprogramme Einheiten, Bausteine. 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 ln link a file lp printe 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

12 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 11 Betriebssysteme: Übersicht benutzt Benutzer Benutzerprogramm Maschinenhardware Betriebssystem Benutzungsrelationen

13 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 12 Betriebssysteme: Übersicht Betriebssystemschichten User 1 User 2 User 3 Compiler Editor... Spiele Betriebssystemdienste Hardware HW Schichtenmodell Zwiebelschalenmodell

14 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 13 Betriebssysteme: Übersicht Typischer Betriebssystemaufbau Systemaufruf Maschinencode Benutzeroberfläche User Interface Management System Betriebssystemkern Operating System Kernel Hardware Anwen- dung 1 Dienst- programm Werk- zeug Benutzer 1 Benutzer N

15 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 14 Betriebssysteme: Übersicht 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 Funktionsverteilung Speicher- verwaltung Serielle Ein/AusgabeDateisystem Prozess- Dis- play TTYDruckerMaus Platte Floppy Netz manage- ment Hardware Multi- User Multi- programming Implementierungsunabhängige Schnittstellen: POSIX POSIX = Portable Operating System Interface based on UniX Benutzungs- oberfläche

16 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 15 Betriebssysteme: Übersicht MACH- Betriebssystemkern Mach-Kern Scheduler, Nachrichtenübermittlung, Basic I/O, Speicherobjekte Speicher Manager File Manager Terminal I/O Benutzer- programm user mode kernel mode Hardware Mikrokern Vorteile: minimaler Kern, alle Funktionen modularisiert austauschbar Nachteile: Kommunikationsdauer zwischen Managern

17 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 16 Betriebssysteme: Übersicht Android-Betriebssystemkern user mode kernel mode Benutzer- Programm 1 System- Programm 1 System- Programm 2 Samsung UI HTC UI Überprüfbare Schnittstelle und Funktionsverteilung Speicher- verwaltung Serielle Ein/AusgabeDateisystem Prozess- Display GPSMaus SD card Netz manage- ment Hardware Single User Multi- programming Benutzungs- oberfläche Linux Java VM

18 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 17 Betriebssysteme: Übersicht Windows NT - Anforderungen nkompatibel zu vorhandenen Systemen Unix, DOS,.. nzuverlässig und robust nleicht übertragbar auf andere CPUs (Portierbarkeit) nleicht veränderbar und anpassungsfähig nleistungsstark Geht das überhaupt ?

19 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 18 Betriebssysteme: Übersicht Windows NT - Betriebssystemkern user mode kernel mode Systemdienste Object Manager Process Manager Local Proc.Calls Memory Manager Security Monitor I/O System Kernel HardwareAbstractionLayer HAL Hardware Win/DOS Client Win32 Subsys- tem POSIX Client POSIX Subsys- tem OS/2 Client OS/2 Subsys- tem Logon Security Subsys- tem Win NT 3.1, Win NT4.0, Windows 2000, Windows XP, Vista, Win7, Win8, Version Codezeilen:8 Mio. 40 Mio. ? ? Idee: Zwischenschichten (Subsysteme) einführen Single User

20 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 19 Betriebssysteme: Übersicht Windows NT - Lösungen nKompatibilitä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. nRobustheit Trennung der Programmablaufumgebungen (virt. Maschinen), kein direkter Hardwarezugriff fehlertolerantes Dateisystem, Netzdienste. nPortierbarkeit In C geschriebene Module, auf Hardwaremodell HAL aufsetzend

21 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 20 Betriebssysteme: Übersicht Frage Was sind die wesentlichen Unterschiede zwischen den Betriebssystemkernen von Mach, Unix (Linux) und Windows NT? Unix: Multi User-System, schwerer Kern Windows NT: Single User-System, schwerer Kern Mach: leichter Kern

22 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 21 Betriebssysteme: Übersicht BS und Rechnerarchitekturen Einprozessorsystem PCs, kleine Server Auch Mehrkernbetrieb Bis max 16 CPU erweiterbar. Problem: Speicherzugriff (Systembus) Massen- speicher Programme Daten BS- Kern Nutzer 1 Programm...Nutzern Programm Hauptspeicher Prozessor

23 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 22 Betriebssysteme: Übersicht BS und Rechnerarchitekturen Multiprozessorsystem größere Server Verbindungsnetzwerk Tanzsaal BS- Kern Nutzer 1 Programm... Nutzer n Programm P 1 P 2 P n Problem: hot spots im BS

24 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 23 Betriebssysteme: Übersicht BS und Rechnerarchitekturen Mehrrechnersystem größere Server Verbindungsnetzwerk Vorzimmer BS- Kern Nutzer 1 Programm P 1 P n BS- Kern Nutzer n Programm

25 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 24 Betriebssysteme: Übersicht BS und Rechnerarchitekturen Rechnernetz multiple Rechner, PCs, Server Verbindungsnetzwerk LAN, WAN P 1 P n BS- Kern Nutzer 1 Programm BS- Kern Nutzer n Programm

26 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 25 Betriebssysteme: Übersicht SCHNITTSTELLEN VIRTUELLE MASCHINEN SYSTEMAUFRUFE SCHICHTENMODELL

27 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 26 Betriebssysteme: Übersicht Typischer Betriebssystemaufbau Systemaufruf Maschinencode Benutzeroberfläche User Interface Management System Betriebssystemkern Operating System Kernel Hardware Anwen- dung 1 Dienst- programm Werk- zeug Benutzer 1 Benutzer N

28 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 27 Betriebssysteme: Übersicht Systemaufrufe Systemaufrufe nötig für Dateioperationen, Prozessmanagement, Speicheranforderungen, Netzwerkoperationen,... Systemaufrufe – wie? Problem der unbekannten Referenz Adr 1BS-Code 1 Adr 1BS-Code 1 ~~ Adr 2Programm 1 Adr 3Programm 2 Hauptspeicher Absolute Adresse des BS wechselt je nach Version Relative Adresse des Programms wechselt je nach Ausführung Lösung: Aufruf mittels Traps (Falltüren)

29 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 28 Betriebssysteme: Übersicht Aufruf des Betriebssystemkerns Programm- instruktionen Programm- instruktionen Betriebssystem- kerndienste return from interrupt stack {PC,PS= user mode } Interrupt {PC+1,PS=user mode}stack BS-Pnt PC Kernel mode PS Register laden

30 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 29 Betriebssysteme: Übersicht Systemaufrufe: Traps und Interrupts nSynchrone, indirekte Methodenaufrufe (Traps)... Move A,R1 Trap 7 Move R1, A PS für ISR Adresse der ISR PS für ISR Adresse der ISR PS für ISR Adresse der ISR 6 Asynchrones HW- Interrupt-Signal 6 ISR = Interrupt Service Routines = Treiber PS = Processor Status Word (prio, mode,..) Tabelle von Interruptvektoren Laden von PS und PC RAM-Adresse

31 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 30 Betriebssysteme: Übersicht Der Betriebssystemkern Eingang Ausgang Was passiert im Kern?

32 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 31 Betriebssysteme: Übersicht Fragen Wozu gibt es System calls? Um ohne Kenntnis der Einsprungadresse des BS die Anwendung zu binden. Wann braucht man sie nicht? Wenn man alles zu einer einzigen festen Anwendung (Eingebettetes System) binden kann.

33 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 32 Betriebssysteme: Übersicht SCHNITTSTELLEN VIRTUELLE MASCHINEN SYSTEMAUFRUFE SCHICHTENMODELL

34 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 33 Betriebssysteme: Übersicht Schnittstelle : Beispiel Rechteck zeichnen, Länge dx, Breite dy DrawRectangle(float dx,dy) Methode: DrawRectangle Daten: float dx,dy Protokoll: zuerst Modul Grafik initialisieren dann Skalierung setzen dann Bezugspunkt setzen schließlich Rechteck zeichnen. benutzt die Methode drawLine mit den Daten x0,y0,x1,y1

35 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 34 Betriebssysteme: Übersicht Schnittstellen : Verallgemeinerung Schnittstelle 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) Implementierung Die Implementierung benötigt dazu Daten, Funktionen und Protokolle für die Dienstleistungen, die sie zur Erfüllung benötigt (Importschnittstelle).

36 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 35 Betriebssysteme: Übersicht Daten code Schnittstellen & Abstrakte Datentypen Abstrakter Datentyp = Zugriff auf Daten nur über definierte Funktionen (Kapselung) Schnittstelle des ADT = Zugriff + Reihenfolge des Zugriffs = Funktionen + Protokoll Objekt Methode1(.) Methode2(.) Attribut A Kapselung information hiding

37 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 36 Betriebssysteme: Übersicht Schnittstellen: Export & Import Beachte: Export/ Import ist relativ bzgl. einer Sicht ! Export Import Export Import Modul 1 Modul 2

38 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 37 Betriebssysteme: Übersicht Virtuelle und abstrakte Maschinen Zeichne ein Rechteck DrawRectangle(x0,y0,x1,y1) (x0,y0) (x1,y1) DrawRectangle(x0,y0,x1,y1) Graphic Processor Unit (GPU) Display(RAM) Maschine 1 Maschine 2 Abstrakte Maschine Virtuelle Maschine Beispiel

39 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 38 Betriebssysteme: Übersicht Abstrakte und Virtuelle Maschinen Beispiel Waschmaschine Benutzungsoberfläche Controller Maschine Motor, Druckventile, Temperatursensoren, Heizungen, Pumpen Abstrakte Maschine: nur Zugang geregelt Implementation ist verborgen Schichtenmodell: Schnittstellen, virtuelle Maschine

40 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 39 Betriebssysteme: Übersicht Schicht 2 Virtuelle Maschinen Schicht 1 Zeit Schicht 3 Schichtenabstraktion bei Zeitablauf

41 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 40 Betriebssysteme: Übersicht Beispiel: virtuelle CPU Software-Hardware-Migration bei virt. CPU Programm inJava-Code Java-Code Maschinencode CPU- Hardware Programm in Java-Code Microcode- und CPU-Hardware Konfiguration 1 Konfiguration 2 Vorteile Programm muss bei HW-Wechsel nicht geändert werden Unabh. HW-Entwicklung je nach Kundenwunsch

42 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 41 Betriebssysteme: Übersicht Virtuelle, logische, physikalische Geräte Beispiel: virtueller Festplattenspeicher (Zwiebelmodell) logisches Gerät = HW-Treiber, benutzt physikalisches Gerät Kontrolle Daten Virtuelles Gerät Treiber für log. Geräte log. Gerät 1 log. Gerät 2 phys. Gerät 1 Treiber 1 phys. Gerät 2 Treiber 2 virtuelles Gerät = Verwaltungstreiber für multiple Geräte, storage management benutzt einzelne logische Geräte

43 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 42 Betriebssysteme: Übersicht Frage Was ist der Unterschied zwischen abstrakten, virtuellen und logischen Maschinen? abstrakte Maschine: durch Schnittstelle beschriebene Maschinenfunktionen virtuelle Maschine: Zwischenschicht mit zwei Schnittstellen logische Maschine: wie abstrakte Maschine, benutzt direkt physikalisches Gerät

44 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 43 Betriebssysteme: Übersicht Beispiel: Abstrakter backup-Speicher Disk-to-Disk Storage tape backup functions Block I/O Backup-Programm Disk driver Disk Tape interface Tape driver Sinnvoll für Kurze Backup-Zeiten Kurze Recovery-Zeiten Multiple Bandformate Hoher Datendurchsatz

45 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 44 Betriebssysteme: Übersicht Beispiel: Virtueller Massenspeicher Storage Area Network SAN asym. Pooling nutzt lokalen Massenspeicher LAN file server metadata server Block I/O Ortsinfo S A N Lun 2 NAS Network Attached Storage

46 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 45 Betriebssysteme: Übersicht Beispiel: Virtuelle Funktionen im Auto Probleme Sehr viele Funktionen und Geräte Zusammenspiel Kommunikation/Unterhaltung/Steuerung nicht genormt Lösung: Autosar (AUTomotive Open System ARchitecture ) Telefon Navi- gation Video Spiel- konsole Abstands- system Diagnose Virtuelle Funktionen (Softwarebus + Module) RTE GSM Motor- elektronik GPS Hardware-Busse Aktoren Sensoren Vorteil: genormte Entwicklungs- und Testumgebung

47 © R.Brause, J.W.G-Universität Frankfurt a.M. Folie 46 Betriebssysteme: Übersicht Beispiel: Virtualisierung von Servern Einziehen einer Virtualisierungsschicht – Wo? OS-Container App1 … AppN App1 … AppNApp1 … AppNBS-Kern BS-Kern Laufzeit Virtual Machine Monitor VMM HyperVisor Typ2 Virtual Machine Monitor VMM HyperVisor Typ1 Virtual Machine Monitor HyperVisor Typ2 BS-Kern Hardware Paravirtualisierung Virtualisierung mit OS-container HW-Virtualisierung


Herunterladen ppt "Modul: B-BS Betriebssysteme SS 2014 Prof. Dr. Rüdiger Brause Adaptive Systemarchitektur Institut für Informatik Fachbereich Informatik und Mathematik."

Ähnliche Präsentationen


Google-Anzeigen