Betriebssysteme - Übersicht

Slides:



Advertisements
Ähnliche Präsentationen
Anbindung mobiler Endgeräte über den Terminal Service
Advertisements

Programmieren im Großen von Markus Schmidt und Benno Kröger.
Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an:
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Designing Software for Ease of Extension and Contraction
Lizenzen und virtuelle Maschinen
Betriebssysteme.
SS 2007 Version vom
Informatik Tagesprotokoll vom
Front-End Rechner: Alternativen zum Desktop (S. Herb, Mai 2004)
Network-on-Chip basierende Laufzeitsysteme für dynamisch rekonfigurierbare Hardware Ronald Hecht Institut für Mikroelektrotechnik und Datentechnik Universität.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
FU Berlin SS 2003 Klaus-Peter Löhr
Objektorientierte Programmierung
Enno Rehling und Roger Butenuth, Uni-GH Paderborn: Arminius: Software für Linux-basierte SCI-Cluster Arminius: Software für Linux-basierte SCI-Cluster.
On a Buzzword: Hierachical Structure David Parnas.
Scratch Der Einstieg in das Programmieren. Scatch: Entwicklungsumgebung Prof. Dr. Haftendorn, Leuphana Universität Lüneburg,
1A: POSIX POSIX (Portable Operating System) ist ein Standard für UNIX-Systeme. Er dient dazu, Programme portabel unter UNIX und Derivaten zu tauschen und.
© 2006 W. Oberschelp, G. Vossen Rechneraufbau & Rechnerstrukturen, Folie 2.1.
W. Oberschelp G. Vossen Kapitel 7.
Grundkurs Theoretische Informatik, Folie 2.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 2 Gottfried Vossen Kurt-Ulrich Witt.
Lokale und globale Netzwerke
Einführung Definitionen
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Medizinische Statistik und Informationsverarbeitung Goldschmidt, Quade, Baur Institut für Medizinische Statistik, Dokumentation und Datenverarbeitung.
Vorlesung 3: Verschiedenes Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Technische Informatik II Rechnerarchitektur und Betriebssysteme Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter.
1 Vorlesung 3 Verschiedenes Peter B. Ladkin
1.WICHTIG: oBringen Sie Ihr Betriebssystem möglichst "offline" auf den aktuellen Stand. Insbesondere sollten Sie bei Verwendung von Windows XP nicht ohne.
Referat zum Thema „DLL“
Netzwerke Peer-to-Peer-Netz Client-Server Alleinstehende Server
Kann man damit vernünftig arbeiten?
1. 2 Schreibprojekt Zeitung 3 Überblick 1. Vorstellung ComputerLernWerkstatt 2. Schreibprojekt: Zeitung 2.1 Konzeption des Kurses 2.2 Projektverlauf.
Entwicklung verteilter eingebetteter Systeme - Einführung
20:00.
SKALIERBARE HARDWARE UNABHÄNGIGE LÖSUNGEN FÜR HSM, ARCHIVIERUNG UND SICHEREN DATENAUSTAUSCH YOUR DATA. YOUR CONTROL.
„Küsse deine Freunde“ – FlexKom-App teilen
Aufbau eines Rechners, Hard- und Software
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Betriebssysteme allgemein
Präsentation von Alexander Schönfeld
Aufbau eines von-Neumann- Rechners Marcel Waldvogel.
Westfälische Wilhelms-Universität Münster 15-JAN-2004 Heinz-Hermann Adam Benutzung von tragbaren Computern Unter Windows in.
Software und Programme
Betriebssysteme & BIOS
Service Computing   Prof. Dr. Ramin Yahyapour IT & Medien Centrum 19. Januar 2010.
Analyse von Ablaufdiagrammen
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Computerorientierte Physik VORLESUNG und Übungen Vorlesung Zeit: Mo., – Uhr Ort: Hörsaal 5.01, Institut für Physik, Universitätsplatz 5, A-8010.
Herzlich Willkommen zu meiner Präsentation
Prozess-synchronisation
Vorlesung Mai 2000 Konstruktion des Voronoi-Diagramms II
Managemententscheidungsunterstützungssysteme (Ausgewählte Methoden und Fallstudien) ( Die Thesen zur Vorlesung 3) Thema der Vorlesung Lösung der linearen.
Systemsoftware und Betriebssysteme
Studiengang Informatik FHDW
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
1 Proseminar TUM Informatik PalmPilot und Handspring: Technik, Programmierung, Anwendung Hacks Daniel Schweighart
Grundlagen, Prinzipien und Aufgaben eines Betriebssystems
Grundlagen, Prinzipien und Aufgaben eines Betriebssystems
Autor: Timo Pagel Nutzung: Diese Lernkarten sind für die Nutzung mit OpenCards gedacht Siehe dazu
Das IT - Informationssystem
1 Medienpädagogischer Forschungsverbund Südwest KIM-Studie 2014 Landesanstalt für Kommunikation Baden-Württemberg (LFK) Landeszentrale für Medien und Kommunikation.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Betriebssysteme I: Windows
Betriebssysteme: Windows
SAN & NAS © Nicole Waibel Index NAS SAN Quellen
Betriebssysteme Was ist ein BS?
Johanna Denfeld Hannes Holzfuß
Magische Wand Ein Spiel zum Thema: Betriebssysteme.
 Präsentation transkript:

Betriebssysteme - Übersicht

Organisation Vorlesung Dozent Prof. Dr. Rüdiger Brause, Raum 104a Email: R.Brause@Informatik.Uni-Frankfurt.de Vorlesung Mi 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. Betriebssysteme: Übersicht

Organisation Übungen Tutor: Kevin Tschickart Mi. 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

Motivation Wozu diese Vorlesung? 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 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 Verkauf 2013/14 Desktop+Notebooks 90,0% 9% Tablet computer 7,5% 92% Smartphones 3,3% 94% Betriebssysteme: Übersicht

SCHNITTSTELLEN VIRTUELLE MASCHINEN SCHICHTENMODELL SYSTEMAUFRUFE SCHNITTSTELLEN VIRTUELLE MASCHINEN Betriebssysteme: Übersicht

Was ist ein Betriebssystem ? 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).“ Die erste Definition zielt auf den Aspekt einer historisch gewachsenen Umgebung, die zweite auf die Verwaltung von Betriebsmitteln. Die erste ist zwar wirklichkeitsnä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. 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 Was sind nun die Programmteile für einen „anwenderunabhängigen“ Betrieb? 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 Dies ist das Konzept, jedes Programm als Baustein anzusehen. Ein Gesamtprogramm kann damit als Pipe dargestellt werden. Betriebssysteme: Übersicht

Benutzungsrelationen benutzt Benutzer Benutzerprogramm Maschinenhardware Betriebssystem Betriebssysteme: Übersicht

Betriebssystemschichten 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. Betriebssysteme: Übersicht

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

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 Samsung HTC UI UI Multi-programming Benutzer- 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 Display GPS Maus Netz ment Hardware Betriebssysteme: Übersicht 16

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 POSIX Client Subsy s - tem Security Win32 OS/2 Client Subsy s - tem Win/DOS Logon Subsy s - Subsy s - Client 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, Version 3.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 (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 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 Einprozessorsystem PCs, kleine Server Auch Mehrkernbetrieb Massen - speicher Programme Daten BS- Kern Nutzer 1 Programm ... Nutzer n Hauptspeicher Prozessor Bis max 16 CPU erweiterbar. Problem: Speicherzugriff (Systembus) Betriebssysteme: Übersicht

BS und Rechnerarchitekturen Multiprozessorsystem größere Server Verbindungsnetzwerk „Tanzsaal “ BS- Kern Nutzer 1 Programm ... Nutzer n P 1 2 ¼ 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 Problem: „hot spots“ im BS Betriebssysteme: Übersicht

BS und Rechnerarchitekturen Mehrrechnersystem größere Server Verbindungsnetzwerk „Vorzimmer “ BS- Kern Nutzer 1 Pr o gramm P 1 ¼ n Nutzer Programm 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 Betriebssysteme: Übersicht

BS und Rechnerarchitekturen Rechnernetz multiple Rechner, PCs, Server Verbindungsnetzwerk LAN, WAN P 1 ¼ n BS- Kern Nutzer 1 Pr o gramm Nutzer Programm Betriebssysteme: Übersicht

SCHNITTSTELLEN VIRTUELLE MASCHINEN SCHICHTENMODELL SYSTEMAUFRUFE SCHNITTSTELLEN VIRTUELLE MASCHINEN Betriebssysteme: Übersicht

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

Systemaufrufe Systemaufrufe nötig für Dateioperationen, Prozessmanagement, Speicheranforderungen, Netzwerkoperationen, ... Systemaufrufe – wie? Problem der unbekannten Referenz Adr 1 BS-Code 1 Adr 1‘ BS-Code 1‘ ~ Adr 2 Programm 1 Adr 3 Programm 2 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 Programm- Programm- instruktionen instruktionen Interrupt ® {PC+1, PS= user mode } stack stack ® {PC, PS= user mode } Register laden BS-Pnt ® PC Kernel mode ® PS 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 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 Laden von PS und PC Asynchrones HW-Interrupt-Signal 6 Wie werden die Systemaufrufe durchgeführt? ISR = Interrupt Service Routines = Treiber PS = Processor Status Word (prio, mode,..) Betriebssysteme: Übersicht

Der Betriebssystemkern Was passiert im Kern? 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 Betriebssysteme: Übersicht

Wozu gibt es System calls? 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

SCHNITTSTELLEN VIRTUELLE MASCHINEN SCHICHTENMODELL SYSTEMAUFRUFE SCHNITTSTELLEN VIRTUELLE MASCHINEN 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 Eine Methode ist nur im Kontext richtig einzusetzen. Die formale Beschreibung dieses Kontextes wird auch als Protokoll bezeichnet. Die Implementierung der Schnittstelle benutzt seinerseits wieder Methoden, durch Schnittstellen beschrieben. 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 code Daten Schnittstelle des ADT = Zugriff + Reihenfolge des Zugriffs = Funktionen + Protokoll Betriebssysteme: Übersicht

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

Virtuelle und abstrakte Maschinen Beispiel Zeichne ein Rechteck DrawRectangle(x0,y0,x1,y1) (x0,y0) (x1,y1) Virtuelle Maschine Abstrakte Maschine 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 D isplay(RAM) V4 Sei V1 das Hauptprogramm, so kann die Dienstleistung „Rechteck zeichnen“ sowohl direkt von einer Maschine GPU als auch von Softwareschichten mit Schnittstellen geliefert werden (rechts V2 bzw. V3). Alle setzen auf einer echten Maschine, dem Display Prozessor V4, auf. Maschine 1 Maschine 2 Betriebssysteme: Übersicht

Abstrakte und Virtuelle Maschinen Beispiel Waschmaschine Schichtenmodell: Schnittstellen, Benutzungsoberfläche Abstrakte Maschine: nur Zugang geregelt Implementation ist verborgen Controller virtuelle Maschine Maschine Motor, Druckventile, Temperatursensoren, Heizungen, Pumpen Betriebssysteme: Übersicht

Virtuelle Maschinen Schichtenabstraktion bei Zeitablauf Schicht 3 Zeit 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. Betriebssysteme: Übersicht

Beispiel: virtuelle CPU Software-Hardware-Migration bei virt. CPU Konfiguration 1 Konfiguration 2 Programm in Java-Code Java-CodeMaschinencode CPU- Hardware Programm in Java-Code Microcode- und CPU-Hardware Vorteile Programm muss bei HW-Wechsel nicht geändert werden Unabh. HW-Entwicklung je nach Kundenwunsch Betriebssysteme: Übersicht

Virtuelle, logische, physikalische Geräte Beispiel: virtueller Festplattenspeicher (Zwiebelmodell) Kontrolle Daten Virtuelles Gerät Treiber für log. Geräte logisches Gerät = HW-Treiber, benutzt physikalisches Gerät log. Gerät 1 log. Gerät 2 phys. Gerät 1 Treiber 1 Gerät 2 Treiber 2 virtuelles Gerät = Verwaltungstreiber für multiple Geräte, storage management benutzt einzelne logische Geräte 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. 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 Disk-to-Disk Storage Backup-Programm Tape driver tape backup functions Disk driver Disk Tape interface Block I/O Sinnvoll für Kurze Backup-Zeiten Kurze Recovery-Zeiten Multiple Bandformate Hoher Datendurchsatz Die Simulation eines Bandlaufwerks ist sinnvoll, wenn Kurze Backup-Zeiten Kurze Recovery-Zeiten Multiple Bandformate Hoher Datendurchsatz (500 MB/s) gefordert werden. Hier kommen dann kostengünstige Plattenlaufwerke mit großen Kapazitäten zum Einsatz, die z.Z. bis zu 200 TByte umfassen können. 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 Ein virtueller Massenspeicher kann aus einem Netzwerk bestehen, das nicht nur die Speicherfunktionen intern organisiert, sondern auch die Zugriffsrechte, die Datensicherung (backup) und Zugriffsoptimierung (Lastverteilung, Datenmigration) selbst regelt. Die Massenspeichersysteme gehören dann NICHT zum virtuellen Speicher, sondern werden von ihm benutzt. Konflikte gibt es dabei mit unabhängigen Untereinheiten, die selbst diese Funktionen übernehmen wollen (z.B. NAS oder SAN-in-a-box). Asymmetr. Pool: Ein Server dient als Metadaten-Server (Wo sind welche Daten) und gibt Block-I/O Informationen an die anderen Symm.Pool (3-tiers-Lösung): Die Speichergeräte sind nur mit mehreren Metadaten-Servern über ein extra Netzwerk verbunden; die Metaserver hängen über das SAN an den anfragenden Rechnern. 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 Zusammenarbeit bei Standards – Wettbewerb bei der Umsetzung (engl. cooperate on standards – compete on implementation) BMW, Daimler, Bosch, Continental und Volkswagen 2002 trat Siemens VDO in die Partnerschaft ein, die 2003 offiziell beschlossen wurde. Weitere, später hinzugestoßene Partner sind Ford, General Motors, Toyota und Peugeot. www.autosar.org RTE = RunTimeEnvironment Kernstück des Architekturkonzepts ist die AUTOSAR-Laufzeitumgebung (Run-Time Environment, RTE), eine Kommunikationsschicht, die nach dem Prinzip des Virtual Function Bus (VFB) im Sinne einer Middleware von der realen Steuergeräte-Topologie und den daraus resultierenden Kommunikationsbeziehungen abstrahiert. Zwei Funktionen können demnach ohne Kenntnis des Signalpfades Informationen miteinander austauschen, indem sie sog. Kommunikationsports der Laufzeitumgebung verwenden. Dieser Mechanismus macht sich dadurch vorteilhaft bemerkbar, dass Funktionen unabhängig von der später im Fahrzeug existierenden Topologie entwickelt werden können. Die tatsächlichen Signalpfade werden erst spät im Entwicklungsablauf durch einen Konfigurationsmechanismus festgelegt. 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 OS-Container App1 … AppN BS-Kern BS-Kern Laufzeit Virtual Machine Monitor VMM HyperVisor Typ2 HyperVisor Typ1 Virtual Machine Monitor Hardware Beispiele Paravirtualisierung: Red Hat Fedora mit XEN 3.0 OS-container:Open Solaris, BSD jails, Mac-on-Linux, OpenVZ, Linux-VServer HW-Virtualisierung: einige Maschinenbefehle werden durchgereicht (Ring0). z.B. VMware, x86 Version von MS Virtual PC, XEN 3 auf Intel VT-x bzw. AMD-V HW-Emulation: Statt echter Befehle werden beliebige Befehle emuliert = HAL hardware abstraction layer, z.B. Pocket PC auf MS Virtual PC Betriebssysteme: Übersicht