1 / 46

Betriebssysteme - Übersicht

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!

anoush
Télécharger la présentation

Betriebssysteme - Übersicht

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Betriebssysteme -Übersicht

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. SCHNITTSTELLENVIRTUELLE MASCHINEN SCHICHTENMODELL SYSTEMAUFRUFE Betriebssysteme: Übersicht

  8. 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

  9. 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

  10. 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

  11. Benutzungsrelationen Benutzer benutzt Benutzerprogramm benutzt Betriebssystem benutzt Maschinenhardware Betriebssysteme: Übersicht

  12. Betriebssystemschichten User 1 User 2 User 3 Compiler Editor ... Spiele Betriebssystemdienste HW Hardware Zwiebelschalenmodell Schichtenmodell Betriebssysteme: Übersicht

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. SCHNITTSTELLENVIRTUELLE MASCHINEN SCHICHTENMODELL SYSTEMAUFRUFE Betriebssysteme: Übersicht

  26. 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

  27. 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

  28. 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

  29. 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

  30. Der Betriebssystemkern • Was passiert im Kern? Eingang Ausgang Betriebssysteme: Übersicht

  31. 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

  32. SCHNITTSTELLENVIRTUELLE MASCHINEN SCHICHTENMODELL SYSTEMAUFRUFE Betriebssysteme: Übersicht

  33. 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

  34. 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

  35. 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

  36. Schnittstellen: Export & Import • Beachte: „Export“/ „Import“ ist relativ bzgl. einer Sicht ! Modul 1 Import Export Export Import Modul 2 Betriebssysteme: Übersicht

  37. 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

  38. 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

  39. Virtuelle Maschinen Schicht 3 Zeit Schicht 2 Schicht 1 • Schichtenabstraktion bei Zeitablauf Betriebssysteme: Übersicht

  40. Beispiel: virtuelle CPU Programm in Java-Code Programm in Java-Code Java-CodeMaschinencode 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

  41. 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

  42. 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

  43. 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

  44. 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

  45. 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

  46. Beispiel: Virtualisierung von Servern • Einziehen einer Virtualisierungsschicht – Wo? Virtualisierung mit OS-container Paravirtualisierung HW-Virtualisierung Betriebssysteme: Übersicht

More Related