660 likes | 1.67k Views
Betriebssysteme - Übersicht. Organisation Vorlesung. Dozent Prof. Dr. Rüdiger Brause, Raum 104a Email : R.Brause@Informatik.Uni-Frankfurt.de Vorlesung M i 10.15-11.45 SR 11 Do 10.15-11.45 SR 11 Leistungsschein Bachelor: rechtzeitig anmelden!
E N D
Organisation Vorlesung Dozent Prof. Dr. Rüdiger Brause, Raum 104a Email: R.Brause@Informatik.Uni-Frankfurt.de Vorlesung Mi10.15-11.45 SR 11Do 10.15-11.45 SR 11 Leistungsschein Bachelor: 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. Betriebssysteme: Übersicht
Organisation Übungen Tutor: Kevin TschickartMi. 12.00-13.30 SR 11 Email: elmex33@gmx.de Abgaben • Ausgabe Donnerstags, Abgabe 6 Tage später bei der Übung • Abgabe Lösungen (Dokumentation+Code) per email • 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. Betriebssysteme: Übersicht
Einführung • Motivation Wozu diese Vorlesung? „Der Windows-PC ist eine fremdbestimmte Maschine. Was sich auf dem Desktop und in allen nurdenkbaren 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, 10.2.2004 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 Betriebssysteme: Übersicht
Welches Betriebssystem ? • Welches Betriebssystem haben Sie? • Welches Betriebssystem ist wichtig? • Windows • Unix / Linux / OS X Verkauf2013/14 Desktop+Notebooks90,0% 9% Tablet computer7,5% 92% Smartphones 3,3%94% Betriebssysteme: Übersicht
SCHNITTSTELLENVIRTUELLE MASCHINEN SCHICHTENMODELL SYSTEMAUFRUFE Betriebssysteme: Übersicht
Einführung • Was ist ein Betriebssystem ? • „Die Software (Programmteile), die für den Betrieb eines Rechners anwendungsunabhängignotwendig 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).“ 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 Betriebssysteme: Übersicht
UNIX Systemsoftware Systemprogramme „Einheiten“, „Bausteine“. arbuild & maintainarchives catconcatenatefiles standard out cccompile C program chmodchangeprotectionmode cpcopyfile echoprintargument grepfilesearchincluding a pattern kill send a signalto a process ln link a file lpprinte a file lslistfilesanddirectories mvmove a file shstart a usershell teecopystandard in tostandard out andto a file wcwordcount Betriebssysteme: Übersicht
Benutzungsrelationen Benutzer benutzt Benutzerprogramm benutzt Betriebssystem benutzt Maschinenhardware Betriebssysteme: Übersicht
Betriebssystemschichten User 1 User 2 User 3 Compiler Editor ... Spiele Betriebssystemdienste HW Hardware Zwiebelschalenmodell Schichtenmodell Betriebssysteme: Übersicht
Typischer Betriebssystemaufbau ¼ Benutzer 1 Benutzer N Benutzeroberfläche User Interface Management System Anwen - Dienst- ¼ Werk- programm dung 1 zeug Systemaufruf Betriebssystemkern Operating System Kernel Maschinencode Hardware Betriebssysteme: Übersicht
UNIX-Betriebssystemkern Benutzer- Benutzer- Multi-User ¼ Benutzungs-oberfläche Shell 1 Shell 2 Multi-programming Benutzer- System- System- ¼ Programm 1 Programm 1 Programm 2 user mode kernel mode Überprüfbare Schnittstelle und Funktionsverteilung Speicher- Serielle Ein/Ausgabe Dateisystem verwaltung Prozess- Dis- Platte manage - TTY Drucker Maus Netz play Floppy ment Hardware Implementierungsunabhängige Schnittstellen: POSIX = Portable Operating System Interface based on UniX Betriebssysteme: Übersicht
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 Betriebssysteme: Übersicht
Android-Betriebssystemkern Single User Benutzungs-oberfläche ¼ HTC UI Samsung UI Benutzer- Multi-programming System- System- Programm 1 Programm 1 Programm 2 ¼ Java VM user mode kernel mode Überprüfbare Schnittstelle und Funktionsverteilung Speicher- Serielle Ein/Ausgabe Dateisystem Linux Prozess- verwaltung manage - SD card GPS Maus Netz Display ment Hardware Betriebssysteme: Übersicht
Windows NT - Anforderungen • kompatibel zu vorhandenen Systemen Unix, DOS, .. • zuverlässig und robust • leicht übertragbar auf andere CPUs (Portierbarkeit) • leicht veränderbar und anpassungsfähig • leistungsstark Geht das überhaupt ? Betriebssysteme: Übersicht
Windows NT - Betriebssystemkern Idee: Zwischenschichten (Subsysteme) einführen Single User Security Win32 OS/2 POSIX POSIX OS/2 Win/DOS Subsy s - Subsy s - Subsy s - Logon Subsy s - Client Client Client tem tem tem tem user mode kernel mode Systemdienste Object Process Local Memory Security I/O Manager Manager Proc. Calls Manager Monitor S y stem Kernel Hardware Abstraction Layer HAL Hardware Win NT 3.1, Win NT4.0, Windows 2000, Windows XP, Vista, Win7, Win8, Version3.1 4.0 5.0 5.1 6.0 6.1 6.2 Codezeilen: 8 Mio. 40 Mio. ? ? Betriebssysteme: Übersicht
Windows NT - Lösungen • Kompatibilität pro emuliertes BS ein extra Subsystem (Server), von Kunden (Clients) durch Nachrichten (localprocedurecallsLPC) 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 HAL aufsetzend 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 Betriebssysteme: Übersicht
BS und Rechnerarchitekturen BS- Nutzer 1 ... Nutzer n Kern Programm Programm Hauptspeicher Massen - speicher Programme Prozessor Daten • EinprozessorsystemPCs, kleine Server • Auch Mehrkernbetrieb Bis max 16 CPU erweiterbar. Problem: Speicherzugriff (Systembus) Betriebssysteme: Übersicht
BS und Rechnerarchitekturen ¼ P P P 2 1 n Verbindungsnetzwerk „Tanzsaal “ ... n BS- Nutzer 1 Nutzer Kern Programm Programm • Multiprozessorsystem größere Server Problem: „hot spots“ im BS Betriebssysteme: Übersicht
BS und Rechnerarchitekturen BS- Nutzer 1 n BS- Nutzer Kern Pr o gramm Kern Programm ¼ P P n 1 Verbindungsnetzwerk „Vorzimmer “ • Mehrrechnersystem größere Server Betriebssysteme: Übersicht
BS und Rechnerarchitekturen n BS- Nutzer BS- Nutzer 1 Kern Programm Kern Pr o gramm ¼ P P 1 n Verbindungsnetzwerk LAN, WAN • Rechnernetz multiple Rechner, PCs, Server Betriebssysteme: Übersicht
SCHNITTSTELLENVIRTUELLE MASCHINEN SCHICHTENMODELL SYSTEMAUFRUFE Betriebssysteme: Übersicht
Typischer Betriebssystemaufbau ¼ Benutzer 1 Benutzer N Benutzeroberfläche User Interface Management System Anwen - Dienst- ¼ Werk- programm dung 1 zeug Systemaufruf Betriebssystemkern Operating System Kernel Maschinencode Hardware Betriebssysteme: Übersicht
Systemaufrufe • Systemaufrufe nötig für Dateioperationen, Prozessmanagement, Speicheranforderungen, Netzwerkoperationen, ... Systemaufrufe – wie? Problem der unbekannten Referenz • Relative Adresse des Programms wechselt je nach Ausführung • Absolute Adresse des BS wechselt je nach Version Hauptspeicher Lösung: Aufruf mittels Traps (Falltüren) Betriebssysteme: Übersicht
Aufruf des Betriebssystemkerns ® BS-Pnt® PC stack {PC, PS= user mode } Kernel mode® PS Programm- Programm- instruktionen instruktionen Interrupt {PC+1, PS= user mode } stack ® Register laden Betriebssystem- return from interrupt kerndienste Betriebssysteme: Übersicht
Systemaufrufe: Traps und Interrupts • Synchrone, indirekte Methodenaufrufe (Traps) ... Move A,R1 Trap 7 Move R1, A ... Tabelle von Interruptvektoren RAM-Adresse Laden von PS und PC • Asynchrones HW-Interrupt-Signal 6 ISR = Interrupt Service Routines = Treiber PS = Processor Status Word (prio, mode,..) Betriebssysteme: Übersicht
Der Betriebssystemkern • Was passiert im Kern? Eingang Ausgang 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. Betriebssysteme: Übersicht
SCHNITTSTELLENVIRTUELLE MASCHINEN SCHICHTENMODELL SYSTEMAUFRUFE 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. • benutztdie MethodedrawLinemit den Datenx0,y0,x1,y1 Betriebssysteme: Übersicht
Schnittstellen : Verallgemeinerung 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). Betriebssysteme: Übersicht
Schnittstellen & Abstrakte Datentypen Abstrakter Datentyp = Zugriff auf Daten nur über definierte Funktionen (Kapselung) Kapselung information hiding Methode1(.) Methode2(.) Attribut A Objekt Daten code Schnittstelle des ADT = Zugriff + Reihenfolge des Zugriffs = Funktionen + Protokoll Betriebssysteme: Übersicht
Schnittstellen: Export & Import • Beachte: „Export“/ „Import“ ist relativ bzgl. einer Sicht ! Modul 1 Import Export Export Import Modul 2 Betriebssysteme: Übersicht
Virtuelle und abstrakte Maschinen (x1,y1) Zeichne ein Rechteck DrawRectangle(x0,y0,x1,y1) VirtuelleMaschine Abstrakte Maschine (x0,y0) V1 DrawRectangle(x0,y0,x1,y1) DrawRectangle(x0,y0,x1,y1) V2 DrawLine(x0,y0,x1,y0) GraphicProcessorUnit DrawLine(x1,y0,x1,y1) (GPU) DrawLine(x1,y1,x0,y1) DrawLine(x0,y1,x0,y0) V3 SetPoint(x0,y0,black) SetPoint(x0+dx,y0,black) … Display(RAM) D isplay(RAM) V4 Beispiel Maschine 1 Maschine 2 Betriebssysteme: Übersicht
Abstrakte und Virtuelle Maschinen • Beispiel Waschmaschine Schichtenmodell: Schnittstellen, • AbstrakteMaschine: • nur Zugang geregelt • Implementation ist verborgen Benutzungsoberfläche Controller virtuelle Maschine Maschine Motor, Druckventile, Temperatursensoren, Heizungen, Pumpen Betriebssysteme: Übersicht
Virtuelle Maschinen Schicht 3 Zeit Schicht 2 Schicht 1 • Schichtenabstraktion bei Zeitablauf Betriebssysteme: Übersicht
Beispiel: virtuelle CPU Programm in Java-Code Programm in Java-Code Java-CodeMaschinencode Microcode- CPU- Hardware und CPU-Hardware • Software-Hardware-Migration bei virt. CPU Konfiguration 1 Konfiguration 2 Vorteile Programm muss bei HW-Wechsel nicht geändert werden Unabh. HW-Entwicklung je nach Kundenwunsch Betriebssysteme: Übersicht
Virtuelle, logische, physikalische Geräte Kontrolle Daten Treiber für log. Geräte log. Gerät 1 log. Gerät 2 Treiber 1 Treiber 2 phys. phys. Gerät 1 Gerät 2 Virtuelles Gerät Beispiel: virtueller Festplattenspeicher (Zwiebelmodell) • logisches Gerät = HW-Treiber, benutzt physikalisches Gerät • virtuelles Gerät = Verwaltungstreiber für multiple Geräte, storagemanagement benutzt einzelne logische Geräte 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 Betriebssysteme: Übersicht
Beispiel: Abstrakter backup-Speicher Tape interface Disk driver Disk • Disk-to-Disk Storage Backup-Programm tape backup functions Tape driver Block I/O • Sinnvollfür • Kurze Backup-Zeiten • Kurze Recovery-Zeiten • Multiple Bandformate • Hoher Datendurchsatz Betriebssysteme: Übersicht
Beispiel: Virtueller Massenspeicher • Storage Area Network SAN asym. Pooling nutzt lokalen Massenspeicher LAN Ortsinfo S A N file server metadata server Block I/O NAS Network Attached Storage Lun 2 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 ) • Vorteil: genormte Entwicklungs- und Testumgebung Telefon Video Spiel-konsole Navi-gation Abstands-system Diagnose Virtuelle Funktionen (Softwarebus + Module) RTE GSM Motor-elektronik GPS Aktoren Sensoren Hardware-Busse Betriebssysteme: Übersicht
Beispiel: Virtualisierung von Servern • Einziehen einer Virtualisierungsschicht – Wo? Virtualisierung mit OS-container Paravirtualisierung HW-Virtualisierung Betriebssysteme: Übersicht