Modul: B-BSBetriebssystemeWS 2012/13
Prof. Dr. Rüdiger BrauseAdaptive SystemarchitekturInstitut für InformatikFachbereich Informatik und Mathematik (12)
Betriebssysteme -
Übersicht
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 2Betriebssysteme: Übersicht
Organisation Vorlesung
DozentProf. Dr. Rüdiger Brause, Raum 104aEmail: [email protected]
VorlesungDi 10.15-11.45 SR 11 Do 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.
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 3Betriebssysteme: Übersicht
Organisation Übungen
Tutor: Kevin Tschickart Do. 12.00-13.30 SR 11Email: [email protected]
Abgaben
Ausgabe Donnerstags, Abgabe eine Woche später
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.
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 4Betriebssysteme: Ü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, 10.2.2004
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 5Betriebssysteme: Ü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
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 6Betriebssysteme: Übersicht
SCHNITTSTELLENVIRTUELLE MASCHINEN
SYSTEMAUFRUFE
SCHICHTENMODELL
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 7Betriebssysteme: Ü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).“
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 8Betriebssysteme: Übersicht
Betriebssystemgliederung
Benutzerschnittstelletextuelle und graphische Interaktion mit dem Benutzer
Dienstprogramme, Werkzeugeoft benutzte Programme wie Editor, Linker, ...
ÜbersetzungsprogrammeInterpreter, Compiler, Translator, ..
SystemprogrammeSpeicher-, Prozessor-, Geräte-, Netzverwaltung
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 9Betriebssysteme: Übersicht
UNIX Systemsoftware
Systemprogramme „Einheiten“, „Bausteine“.
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 processln link a file lp printe 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
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 10Betriebssysteme: Übersicht
benutzt
benutzt
benutzt
Benutzer
Benutzerprogramm
Maschinenhardware
Betriebssystem
Benutzungsrelationen
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 11Betriebssysteme: Übersicht
Betriebssystemschichten
User 1 User 2 User 3
Compiler Editor ... Spiele
Betriebssystemdienste
Hardware
HW
Schichtenmodell Zwiebelschalenmodell
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 12Betriebssysteme: Übersicht
Typischer Betriebssystemaufbau
Systemaufruf
Maschinencode
BenutzeroberflächeUser Interface Management System
BetriebssystemkernOperating System Kernel
Hardware
Anwen-dung 1
Dienst-programm
Werk-zeug
¼
Benutzer 1 ¼ Benutzer N
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 13Betriebssysteme: Übersicht
UNIX-Betriebssystemkern
¼
¼user modekernel 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 DateisystemProzess-
Dis-play
TTY Drucker MausPlatteFloppy
Netzmanage-
ment
Hardware
Multi-User
Multi-programming
Implementierungsunabhängige Schnittstellen:POSIX = Portable Operating System Interface based on UniX
Benutzungs-oberfläche
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 14Betriebssysteme: Übersicht
MACH- Betriebssystemkern
Mach-Kern
Scheduler, Nachrichtenübermittlung, Basic I/O, Speicherobjekte
SpeicherManager
FileManager
TerminalI/O
Benutzer-programm
user modekernel mode
Hardware
Mikrokern Vorteile: minimaler Kern, alle Funktionen modularisiert austauschbar
Nachteile: Kommunikationsdauer zwischen Managern
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 15
Android-Betriebssystem
Betriebssysteme: Übersicht
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 16Betriebssysteme: Ü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 ?
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 17Betriebssysteme: Übersicht
Windows NT - Betriebssystemkern
user modekernel mode
SystemdiensteObject
ManagerProcessManager
LocalProc. Calls
MemoryManager
SecurityMonitor
I/OSystem
Kernel
Hardware Abstraction Layer HALHardware
Win/DOSClient
Win32Subsys-
tem
POSIXClient
POSIXSubsys-
tem
OS/2Client
OS/2Subsys-
temLogon
SecuritySubsys-
tem
Win NT 3.1, Win NT4.0, Windows 2000, Windows XP, Vista, Win7, Win8, Version 3.1 4.0 5.0 5.1 6.0 6.1 6.2 Codezeilen: 8 Mio. 40 Mio. ? ?
Idee: Zwischenschichten (Subsysteme) einführen
Single User
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 18Betriebssysteme: Übersicht
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 HAL aufsetzend
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 19Betriebssysteme: Ü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
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 20Betriebssysteme: Übersicht
BS und Rechnerarchitekturen
Einprozessorsystem PCs, kleine ServerAuch Mehrkernbetrieb
Bis max 16 CPU erweiterbar.
Problem: Speicherzugriff (Systembus)
Massen-speicher
ProgrammeDaten
BS- Kern
Nutzer 1Programm
... Nutzer nProgramm
Hauptspeicher
Prozessor
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 21Betriebssysteme: Übersicht
BS und Rechnerarchitekturen
Multiprozessorsystem größere Server
Verbindungsnetzwerk „Tanzsaal “
BS- Kern
Nutzer 1Programm
... Nutzer nProgramm
P 1 P2 ¼ Pn
Problem: „hot spots“ im BS
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 22Betriebssysteme: Übersicht
BS und Rechnerarchitekturen
Mehrrechnersystem größere Server
Verbindungsnetzwerk „Vorzimmer“
BS- Kern
Nutzer 1Programm
P1 ¼ Pn
BS- Kern
Nutzer nProgramm
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 23Betriebssysteme: Übersicht
BS und Rechnerarchitekturen
Rechnernetz multiple Rechner, PCs, Server
VerbindungsnetzwerkLAN, WAN
P1 ¼ Pn
BS- Kern
Nutzer 1Programm
BS- Kern
Nutzer nProgramm
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 24Betriebssysteme: Übersicht
SCHNITTSTELLENVIRTUELLE MASCHINEN
SYSTEMAUFRUFE
SCHICHTENMODELL
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 25Betriebssysteme: Übersicht
Systemaufrufe
Systemaufrufe nötig für Dateioperationen, Prozessmanagement, Speicheranforderungen, Netzwerkoperationen, ...
Systemaufrufe – wie? Problem der unbekannten Referenz
Adr 1 BS-Code 1Adr 1‘ BS-Code 1‘
~ ~
Adr 2 Programm 1Adr 3 Programm 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)
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 26Betriebssysteme: Ü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
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 27Betriebssysteme: Übersicht
Systemaufrufe: Traps und Interrupts
Synchrone, indirekte Methodenaufrufe (Traps)...Move A,R1Trap 7Move R1, A...
0017 PS für ISR 8
0016 Adresse der ISR 8
0015 PS für ISR 7
0014 Adresse der ISR 7
0013 PS für ISR 6
0012 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
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 28Betriebssysteme: Übersicht
Der Betriebssystemkern
EingangAusgang
Was passiert im Kern?
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 29Betriebssysteme: Ü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.
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 30Betriebssysteme: Übersicht
SCHNITTSTELLENVIRTUELLE MASCHINEN
SYSTEMAUFRUFE
SCHICHTENMODELL
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 31Betriebssysteme: Übersicht
Schnittstelle : Beispiel
Rechteck zeichnen, Länge dx, Breite dyDrawRectangle(float dx,dy)
Methode: DrawRectangleDaten: float dx,dyProtokoll:
• 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
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 32Betriebssysteme: Ü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).
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 33Betriebssysteme: Ü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
ObjektMethode1(.)
Methode2(.)
Attribut AKapselung
information hiding
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 34Betriebssysteme: Übersicht
Schnittstellen: Export & Import
Beachte: „Export“/ „Import“ ist relativ bzgl. einer Sicht !
Export Import
ExportImport
Modul 1
Modul 2
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 35Betriebssysteme: Übersicht
Virtuelle und abstrakte Maschinen
Zeichne ein RechteckDrawRectangle(x0,y0,x1,y1)
(x0,y0)
(x1,y1)
DrawRectangle(x0,y0,x1,y1)
Graphic Processor Unit
(GPU)
Display(RAM)
DrawRectangle(x0,y0,x1,y1)
V1
DrawLine(x0,y0,x1,y0) DrawLine(x1,y0,x1,y1) DrawLine(x1,y1,x0,y1) DrawLine(x0,y1,x0,y0)
V2
SetPoint(x0,y0,black) SetPoint(x0+dx,y0,black)
…
V3
Display(RAM) V4
Maschine 1 Maschine 2
Abstrakte MaschineVirtuelle Maschine
Beispiel
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 36Betriebssysteme: Ü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
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 37Betriebssysteme: Übersicht
Schicht 2
Virtuelle Maschinen
Schicht 1
Zeit
Schicht 3
Schichtenabstraktion bei Zeitablauf
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 38Betriebssysteme: Übersicht
Beispiel: virtuelle CPU
Software-Hardware-Migration bei virt. CPU
Programm in Java-CodeJava-CodeMaschinencode
CPU- Hardware
Programm in Java-CodeMicrocode-
und CPU-Hardware
Konfiguration 1 Konfiguration 2
VorteileProgramm muss bei HW-Wechsel nicht geändert werden
Unabh. HW-Entwicklung je nach Kundenwunsch
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 39Betriebssysteme: Ü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 managementbenutzt einzelne logischeGeräte
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 40Betriebssysteme: Ü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 virtuelle Maschine,
benutzt direkt physikalisches Gerät
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 41Betriebssysteme: Übersicht
Beispiel: Abstrakter backup-Speicher
Disk-to-Disk Storage
tape backup
functions
Block
I/O
Backup-Programm
Disk driverDisk
Tape interface
Tape driver
Sinnvoll für• Kurze Backup-Zeiten • Kurze Recovery-Zeiten• Multiple Bandformate• Hoher Datendurchsatz
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 42Betriebssysteme: Übersicht
Beispiel: Virtueller Massenspeicher
Storage Area Network SAN asym. Poolingnutzt lokalen Massenspeicher LAN
file servermetadata server
Block
I/OOrtsinfo
S A N
Lun 2
NASNetwork Attached Storage
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 43Betriebssysteme: Ü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 )
TelefonNavi-gationVideo
Spiel-konsole
Abstands-system
Diagnose
Virtuelle Funktionen (Softwarebus + Module) RTE
GSMMotor-
elektronik GPS
Hardware-Busse
Aktoren
Sensoren
Vorteil: genormte Entwicklungs- und Testumgebung
© R.Brause, J.W.G-Universität Frankfurt a.M. Folie 44Betriebssysteme: Übersicht
Beispiel: Virtualisierung von Servern
Einziehen einer Virtualisierungsschicht – Wo?
OS-ContainerApp1 … AppN
App1 … AppN App1 … AppN BS-Kern
BS-Kern BS-Kern LaufzeitVirtual Machine Monitor VMM HyperVisor Typ2
Virtual Machine Monitor VMM HyperVisor Typ1
Virtual Machine Monitor HyperVisor Typ2
BS-Kern
Hardware Hardware Hardware
Paravirtualisierung Virtualisierung mit OS-container
HW-Virtualisierung
Top Related