Zusammenfassung Betriebssysteme. Martin Aumüller

Größe: px
Ab Seite anzeigen:

Download "Zusammenfassung Betriebssysteme. Martin Aumüller"

Transkript

1 Zusammenfassung Betriebssysteme Martin Aumüller

2

3 Vorwort Diese Zusammenfassung entstand im Fach Betriebssysteme nach einer Vorlesung von Dr.-Ing. H.-A. Schindler. Fehler und sonstige Anmerkungen sollten mir unter mitgeteilt werden. 3

4

5 Inhaltsverzeichnis Vorwort Inhaltsverzeichnis Einführung Motivation für Betriebssysteme Aufgabe von Betriebssystemen Software eines Betriebssystems Wesentliche Subsysteme des Betriebssystems Physische Strukturierung des Betriebssystems Typen von Betriebssystemen Prozesse und Threads Aktivitäten Historische Entwicklung Nebenläufigkeit und Parallelität Zustandsmodelle für Threads Kernel-Level-Threads und User-Level-Threads Vor- und Nachteile von ULT zu KLT Implementierungsdetails bei Threads und Prozessen Thread-Kontrollblöcke und Prozess-Kontrollblöcke Prozess-Abbild Prozesszustände und Prozesszustandsdiagramm Prozesserzeugung Eltern-Kind-Hierarchie Ablauf der Prozesserzeugung Prozessbeendigung Implementierung Privilegierungsebenen Kommunikation und Koordination Allgemeines Arten von Kommunikation Das Interrupt-System Auswertung System-Aufrufe Aufgabenspektrum von Systemaufrufen Demonstration von Systemaufrufen Interprozesskommunikation Informationsaustausch Koordination (binäre) Semaphoren Zählsemaphor Kommunikationsressourcen gemeinsam genutzte Speicherbereiche Monitore Asynchrone und synchrone Kommunikation

6 6 Inhaltsverzeichnis 4 Ressourcen (Betriebsmittel) Allgemeines Typen von Ressourcen Hardware-Ressourcen (physische Betriebsmittel) Software-Ressourcen (logische Betriebsmittel) Zentrales Problem der Ressourcenverwaltung Weitere Unterteilung von Ressourcen Virtualisierung der realen Ressourcen Die 3 Typen der Basisbetriebsmittel und Dienste eines Betriebssystems zu ihrer Verwaltung Die Ressource Prozessor und ihre Verwaltung Virtualisierung des Prozessors Scheduling des Prozessors Basisverfahren für Scheduling-Entscheidungen Komplexe Scheduling-Verfahren Verwaltung vieler Prozessoren Implementierungsdetails bei der Verwaltung von Prozessen Die Ressource Hauptspeicher und ihre Verwaltung Speicherklassen Aufgaben bei der Verwaltung von Speicher Realspeicherverwaltung Buchführung über freie und belegte Speicherbereiche Virtuelle Speichertechniken Paging Segmentierung Segmentierung mit Paging Verwaltung von Kommunikationsressourcen Verwaltung von Transportwegen Verwaltung von Nachrichtenpuffern Verklemmungen und ihre Behandlung Ursachen Lösungsansätze Bedingungen für Verklemmungen Weitere Betriebssystemsdienste Verwaltung von Sekundärspeicher - Dateisysteme Dateisysteme Datenträgerorganisation Flacher Dateidienst Verzeichnisdienst Wichtige Systemaufrufe für Dateien Disk-Scheduling Ein-/Ausgabesystem und der Betrieb von Geräten Geräte-Controller Betreiben von Geräten Bestandteile des E/A-Systems Geräte-Treiber Architektur von Betriebssystemen Ausprägungen von Betriebssystemen Strukturierte Systeme Mikro-Kerneln Nichtfunktionale Eigenschaften von Betriebssystemen Echtzeitfähigkeit Weitere nichtfunktionale Eigenschaften

7 Kapitel 1 Einführung Es sollen einige Grundfragen über Betriebsysteme geklärt werden, wie z.b. Warum gibt es Betriebssysteme? Welche Aufgaben hat ein Betriebssystem? Welche Software gehört zu einem Betriebssystem? und weitere. 1.1 Motivation für Betriebssysteme Betrachten wir dafür die Rechner-Hardware und was diese zum Leisten im Stande ist und die Nutzer-Programme mit ihren Voraussetzungen. Die Rechner-Hardware eines Universalrechners besteht grob aus Hauptspeicher, Prozessor(en) und der Steuereinheit, an die Geräte angeschlossen werden können. Diese sind über den sogenannten Bus miteinander verbunden. Die CPU (der Prozessor) kann sich aus dem Hauptspeicher bestimmten Maschinenbefehle und Daten holen, mit dieser Grundlage die Befehle ausführen und dann wieder die neu gewonnenen Daten in den Hauptspeicher schreiben. Jedes Gerät, was an den Rechner angeschlossen wird, benötigt eine eigene Routine zur Ansteuerung über spezielle Befehle. Dabei müssen die spezifischen Eigenschaften des Gerätes beachtet werden und es muss mit Geräte- bzw. Bedienfehlern umgegangen werden. Ein Anwenderprogramm muss meist er in eine Maschinensprache übersetzt werden, es muss Ein-/Ausgabegeräte nutzen können und es muss gleichzeitig mit anderen Programmen ablaufen können aber auch vor diesen geschützt werden. Bemerkung 1.1. Es besteht eine große Kluft zwischen Hardware und Anwenderprogramme. Diese Lücke wird von Betriebssystemen geschlossen. Definition 1.2. Das Betriebssystem ist eine Software-Schicht zwischen den Anwenderprogrammen und der Rechner-Hardware mit bestimmten Aufgaben. 1.2 Aufgabe von Betriebssystemen Die Aufgaben lassen sich wie folgt charakterisieren: 1. Nutzerfreundlichkeit Durch das Betriebsystem wird die Nutzung eines Systems auf höherem Niveau möglich. Es realisiert eine virtuelle Maschine (Programme nutzen API, nichtanwendungsspezifische Details werden vom Betriebssystem realisiert). Es werden neue Abstraktionen eingeführt. 2. Verwaltung der Resourcen und Betriebsmittel eines Rechners Alle Resourcen sollten konfliktfrei gleichzeitig genutzt werden können. Das System sollte dabei ökonomisch ausgereizt werden. 7

8 8 Einführung 3. Datenaustausch von Programmen 4. Langfristige Haltung von Daten und Programmen 5. Fehlerbehandlung und weitere. 1.3 Software eines Betriebssystems Warnung 1.3. Das gesamte Feld von Anwendersoftware gehört nicht zum Betriebsystem. Die Systemsoftware, die notwendig ist damit das System läuft, ist Teil des Betriebssystems. Dies wird dann auch als Betriebsystem im erweiterten Sinn bezeichnet. Zur Systemsoftware gehören: Systemprogramme (Compiler, Editoren, Linker,...) Libraries Subsysteme, die zur Verwaltung von Betriebsmitteln genutzt werden. Die Subsysteme werden dabei als Betriebssystem im engeren Sinne benannt (waren früher im Betriebssystem-Kern zusammengefasst). Im Schichtmodell sitzt das Betriebssystem also über der Hardware und unter der Anwender- Software. 1.4 Wesentliche Subsysteme des Betriebssystems Bemerkung 1.4. Im Weiteren bezeichnen wir Subsysteme auch mit dem Wort Dienste. Dabei kann man grob in folgende Dienste unterteilen: Systembedienung (Kommando ausführen) Prozessverwaltung Prozessorverwaltung (Dispatcher, Scheduler) (Haupt-)Speicherverwaltung (umfasst auch Speicherschutz) Geräteverwaltung Ein-/Ausgabesystem Datenhaltung Prozessinteraktion Dabei ist diese Unterteilung rein logisch. Die genaue Struktur wird später angesprochen. 1.5 Physische Strukturierung des Betriebssystems Ursprünglich bestand das Betriebssystem aus dem Betriebsystemkern welcher einen eigens zugeordneten Platz im Hauptspeicher besaß. Aufgrund der Entwicklung immer kleineren Kerne wurde jedoch einiges ausgelagert, so dass wir heute grob in 3 Teile unterteilen können, in denen wir Betriebssystemfunktionalität finden können: im Betriebssystemkern innerhalb der Anwendungsprogramme in Server-Prozessen

9 1.6 Typen von Betriebssystemen Typen von Betriebssystemen Die logischen Komponenten werden in allen Betriebsystemen realisiert, jedoch ist ihre Ausprägung verschieden. Unterschiedliche Typen müssen realisiert werden, in Bezug auf: 1. der zugrundeliegenden Hardware: verteilte Systeme-BS Parallel-Rechner-BS energie-ökonomische BS 2. nichtfunktionalen Eigenschaften: Echtzeiteigenschaften fehlertolerante BS 3. der Betriebsart: Single User Multi User Single Task Multi Task Die verschiedenen Eigenschaften werden dabei mit der Implemenatation verschiedener Algorithmen geschaffen.

10

11 Kapitel 2 Prozesse und Threads Hierbei sollen grundlegende Verständnisfragen für Vorgänge und Notwendigkeiten bei der Ausführung von Programmen geschaffen werden. Weiterhin sollen die dabei entstehenden Strukturen kennengelernt werden. Natürlich wird auch Fachtermini näher definiert. 2.1 Aktivitäten Definition 2.1. Aktivität an einem Rechner bedeutet die serielle Ausführung einer Menge von Maschinenbefehlen. Aktivitäten enstehen z.b. durch die Ausführung von Anwenderprogrammen. Dabei werden zur Ausführung solcher Anwenderprogramme eine gewisse Menge von Zeit am Prozessor (Resource) benötigt und Speicherplatz im Hauptspeicher (Ablaufumgebung). Damit ein Programm abgearbeitet werden kann, muss ein Teil des Programms Zeit am Prozessor bekommen. Definition 2.2. Unter der Betrachtung der Ausführung dieses Teilstücks am Prozessor nennt man es einenthread. Ein Thread benötigt dabei eine Menge von Eingabedaten und erzeugt eine Menge von Ausgabedaten. Dabei besitzt der Thread das Programmstück (als Maschinencode) und hat ggf. noch interne Daten. Die Ablaufumgebung (der Hauptspeicher) enthält die Befehle und Daten in ganz bestimmten Speicheradressen. Ein solche Speicherbereich wird als Adressraum bezeichnet. In einem solchen Adressraum können ein oder mehrere Threads ablaufen. Definition 2.3. EinProzessdefiniert eine Menge von Threads die in dem gleichen Adressraum ablaufen. Ein Prozess ist die Einheit, der durch das Betriebssystem weitere Betriebsmittel zugeordnet werden können. Ein Programmtext eines Programms kann in mehrere Teile unterteilt werden, die wir als Threads bezeichnen. Durch diese Threads können wiederrum ein oder mehrere Prozesse gebildet werden. Warnung 2.4. Ein Programm ist nicht mit einem Thread gleichzusetzen. Ein Programm ist etwas statisches und besitzt als Grundgerüst einen Algorithmus. Ein Thread ist dynamisch und besitzt als Grundgerüst Aktivität (er arbeitet also den Algorithmus ab). 11

12 12 Prozesse und Threads 2.2 Historische Entwicklung Die oben genannte Einteilung ist nicht von Anfang an so geplant gewesen. Die historische Entwicklung lässt sich grundlegend so beschreiben: 1. Einzelprozessbetrieb (eine Aufgabe von Anfang bis Ende abarbeiten) 2. Mehrprozessbetrieb (bessere Prozessauslastung, Threads bzw. Prozesse müssen unterbrechbar sein) 3. Mehrnutzerbetrieb Definition 2.5. Prozesse, die nur einen Thread enthalten und damit der Adressraum fest an den Prozess gekoppelt ist, bezeichnen wir alsschwergewichtsprozesse. Im Gegensatz dazu bezeichnen wir Threads (ohne feste Adressraumzuweisung) alsleichtgewichtsprozesse. 2.3 Nebenläufigkeit und Parallelität Definition 2.6. Aktivitäten heißennebenl ug, wenn zwischen ihnen keine kausalen Abhängigkeiten bestehen. Definition 2.7. Aktivitäten heißenparallel, wenn sie zeitlich überlappend ausgeführt werden können. istdie Es gibt bestimmte Voraussetzungen damit Aktivitäten gleichzeitig ausgeführt werden können: genügend freie Resourcen (CPU, Speicher, etc) Aktivitäten beeinflussen sich nicht negativ Folgerung 2.8. Das Managment von Resourcen und Parallelität und Nebenläufigkeit elementare Aufgabe von Betriebssystemen. Die Art und Weise, wie das Betriebssystem dies tut, bestimmt die funktionalen und nichtfunktionalen Eigenschaften von Betriebssystemen. 2.4 Zustandsmodelle für Threads Ein Thread kann verschiedene Zustände besitzen, zwischen denen Zustandübergänge existieren. Threadzustände können dabei z.b. aktiv, bereit, blockiert sein. Beispiele dazu findet man in den Folien zur Vorlesung. 2.5 Kernel-Level-Threads und User-Level-Threads Bei ULT sind dem Betriebssysteme die Threads in einem Prozess nicht bekannt. Die Scheduling- Einheit kann also aus Sicht des Kerns nur der Gesamtprozess sein. Zuständig für die Verwaltung der Threads ist der Prozess selbst. Weitere Schlussfolgerungen: ULT können auch in ein BS implementiert werden, in dem Threads nicht vorgesehen waren. Bei Blockierung eines Threads wird der gesamte Prozess blockiert! Das Umschalten zwischen Threads kann durch eine anwendungsspezifische Strategie erfolgen. Bei KLT sind die Threads dem Kern bekannt und er übernimmt die gesamte Threadverwaltung. Kein Verwaltungscode auf Anwendungsebene

13 2.8 Prozesserzeugung 13 Kern verwaltet sowohl Thread- als auch Prozesskontrollblöcke Kern kann mehre Threads des gleichen Prozesses einplanen Bei Blockierung eines Threads, kann ein anderer Thread des gleichen Prozesses ausgeführt werden Vor- und Nachteile von ULT zu KLT Vorteile: Die Verwaltung von ULT ist wesentlich preiswerter Scheduling auf Anwendungsebene entlasstet BS-Scheduler sind BS-unabhängig Nachteile: Ein einziger Thread blockiert den gesamten Prozess echte Parallelität bei Multiprozessorarchitekturen kann nicht ausgenutzt werden. 2.6 Implementierungsdetails bei Threads und Prozessen Thread-Kontrollblöcke und Prozess-Kontrollblöcke Über jeden Thread und jeden Prozess gibt es eine bestimmte Menge von Informationen, welche vom Betriebssystem zur Verwaltung benötigt werden. Für genaue Inhalte sollte man die Folien zu Rate ziehen Prozess-Abbild Die Grundlage eines Prozesses ist ein Programm, das ausführt werden soll. Ein Prozess benötigt damit Speicherbereiche für: Befehlscode Daten die Prozess- bzw. Threadkontrolleblöcke (-attribute) Befehls- und Datenbereiche werden dabei innerhalb des Prozessadressraumes angelegt. Prozessattribute werden in dem Adressraum des Betriebssystems untergebracht, genauso wie die Threadattribute für Kernel-Level-Threads. Bei User-Level-Threads werden diese im Prozessadressraum untergebracht. 2.7 Prozesszustände und Prozesszustandsdiagramm Ähnlich wie Threads können auch Prozesse verschiedene Zustände besitzen. Bei Prozessen mit nur einem Thread gleichen sich diese, ein Prozess mit mehreren Threads ist aktiv, wenn ein oder mehrere Threads aktiv sind. Ein Prozess bei KLT ist blockiert, wenn alle seine Threads blockiert sind. 2.8 Prozesserzeugung Eltern-Kind-Hierarchie Ein Prozess erzeugt Kinderprozesse, diese können wiederrum Prozesse erzeugen. Daraus ensteht eine baumartige Struktur.

14 14 Prozesse und Threads Ablauf der Prozesserzeugung Erzeugen einer Prozessidentifikation Allokation elementarer Ressourcen Anlegen von Managmentdatenstrukturen Meldung an den Scheduler geben Prozessbeendigung Ein Beispiel hierfür ist der Selbstmord. Dieser tritt auf, wenn eine Aufgabe beendet ist bzw. eine Fehler aufgetreten ist (Division durch 0). Man kann einen Prozess auch ermorden. Dies tritt z.b. auf wenn man einen Prozess beendet (z.b. Browser schließen) oder aufgrund von Betriebsmittelengpässen nichtmehr genügend Ressourcen vorhanden sind Implementierung Bei der Implementierung müssen vor allem die Grundfunktionen vorhanden sind: Prozesserzeugung Prozessbeendigung Schlafen legen und Wecken Scheduling Weiterhin wird auf einer zentralen Datenstruktur gearbeitet, der Prozesstabelle, in der jeder Prozess einen Eintrag hat. 2.9 Privilegierungsebenen Das Ziel solchen Ebenenunterteilungen ist es, das Betriebssystem vor böshafter bzw. fehlerhafter Anwendungssoftware zu schützen. Dies wird vor allem damit erreicht, dass bestimmte Speicherbereiche gesperrt werden und vor kritischen Instruktionen geschützt wird. Die Implementation wird über verschiedene Ringe vollzogen, wobei Ring-0 dann z.b. wichtige Systemprozesse sind und normale Anwendungsprozesse nur im Ring-3 sind. Diese können dann viele Instruktionen nicht ohne Hilfe des Betriebssystem vollziehen.

15 Kapitel 3 Kommunikation und Koordination Hierbei geht es um den Dienst Kommunikation und Koordination der für die Prozessinteraktion zuständig ist. Ziel ist es eine Grundvorstellung und eine Einordnung der Kommunikationsvorgänge in Rechnern zu erlangen, Kenntnisse über das Interrupt-System zu gewinnen, welches besonders für Systemaufrufe später wichtig sein wird und ein genereller Überblick über die Interprozesskommunikation. 3.1 Allgemeines Innerhalb einer Rechenanlage müssen eine Vielzahl von Daten ausgetauscht werden. Dies geschieht sowohl zwischen Hardware- als auch zwischen Softwarekomponenten (natürlich auch zwischen diesen beiden). Dieser Austausch kann als Kommunikation aufgefasst werden. Er wird meist vom Betriebssystem koordiniert und benötigt Kommunikationsressourcen Arten von Kommunikation 1. Zwischen verschiedenen Prozessen (auch IPC - Inter-Prozess-Kommunikation) stellt die wichtigste Form dar weitere Unterteilung: a. Kooperation (Datenaustausch bei der Zusammenarbeit von Prozessen) b. Koordination/Synchronisation (Datenaustausch zur Abstimmung des Ablaufs) 2. Zwischen Bediener und Betriebssystem 3. Zwischen externen Geräten und Betriebssystem (Interruptsystem, E/A) 4. Zwischen Prozessen und Betriebssystem 3.2 Das Interrupt-System Das Interrupt-System stellt eine wichtige Grundlage für eine Reihe von Kommunikationsvorgängen dar. Unter bestimmten Bedingungen kann der Prozessor den Berechnungsvorgang abbrechen und an einem wohldefinierten anderen Punkt aufnehmen (ohne Sprungbefehl). Dafür wird ein sogenannter Interrupt-Vektor definiert, der die Adresse einer Interruptroutine beinhaltet. Eine Anforderung zur Unterbrechung kann dabei durch verschiedene Gegebenheiten ausgelöst werden. Interruptanforderung durch Hardware/Peripherie Es wird ein Signal gebildet und dem Prozessor zugeleitet, um zu zeigen, dass... ein E/A-Gerät seine Vorgang abgeschlossen hat (Synchronisation) Uhrinterrupt Hardwarefehler Prozesswechsel nötig ist wegen externen Bedingungen 15

16 16 Kommunikation und Koordination Paging eine Seite benötigt wird, die nicht im Hauptspeicher liegt Interruptanforderung bei Arbeitung spezieller Maschinenbefehle Der Prozessor erreicht einen besonderen inneren Zustand, weil, z.b. Division durch 0 falscher Befehlscode illegale Adresse angesprochen wurde Es gibt dabei verschiedene Arten von Unterbrechungen. Die asynchronen (zum Prozessortakt) sind extern und enstehen durch Hardware-Interrupts (z.b. durch externe Geräte). Weiterhin gibt es noch synchrone, die intern sind und durch Software-Interrups ausgelöst werden. Dies können z.b. Ausnahmefehler bzw. Traps sein. Bei der Abarbeitung solcher Interrupts gibt es eine gewisse Reihenfolge: 1. Sperren weitere Unterbrechungen Dabei können entweder alle weiteren Interrupts gesperrt werden oder nur diese mit einer geringeren Wichtigkeit. 2. Rettung wichtiger Register-Informationen 3. Bestimmen der Interruptquelle (hardwareseitig realisiert) 4. Laden des Interruptvektors 5. Ausführen einer kurzen Interruptroutine 6. Modelle: a. inline-prozeduraufruf unmittelbar nach Interruptbehandlung wird die längere Interruptsequenz ausgeführt b. goto/return-modell Ausführung des Codes an einer anderen Stelle c. IPC-Modell kürzere Interruptroutine erzeugt Botschaft, die längere Routine auslöst d. Thread-Modell kürzere Routine erzeugt Thread, der längere Sequenz ausführt 7. nach Abarbeitung: Rückkehr zu gesicherter Aufgabe neue Aufgabe nach schwerem Fehler: HALT Interrupts können genauso wie Prozesse verschieden gewichtet werden. Interrupts der gleichen Priorität werden dabei zu einer Interrupt-Ebene zusammengefasst Auswertung Das Interruptsystem ermöglicht ein effizientes Arbeiten. Durch Geräteinterrupts wird ein Parallelbetrieb zwischen CPU und externer Peripherie möglich. Durch Softwareinterrupts wird die Zusammenarbeit zwischen dem Betriebssystem und den Prozessen koordiniert. Definition 3.1. Das Interruptsystem dient dazu, Hardwarewünsche an das Betriebssystem heranzutragen. 3.3 System-Aufrufe Definition 3.2. System-Aufrufe dienen dazu, Programmwünsche an das Betriebssystem heranzutragen.

17 3.4 Interprozesskommunikation 17 Für die Implementation von Systemaufrufen wird meist das Interruptsystem genutzt, weil man dem Nutzer nicht gestatten sollte ins Betriebssystem einzugreifen und die Aufrufe so unabhängig vom Betriebssystem sind. Die Auslösung eines Systemaufrufs ist dabei meist in Unterprogrammbibliotheken verpackt. Dieser stellt dem Betriebssystem die Paramter an einer wohldefineirten Stelle zur Verfügung (meist dem Parameterblock). Die Auslösung des Befehls erfolgt dann durch einen sogenannten Trapbefehl. Danach können eventuell weitere Befehle ausgeführt werden (z.b. Parameterkontrolle). Innerhalb des Betriebssystems sind Systemaufrufe wie folgt implementiert: Nutzung des Interruptvektors Anlauf der Interruptroutine Rufnummer ist wichtigster Paramter, diese wird dem Verteiler zugeteilt dieser sorgt dafür, dass die entsprechende Routine im BS-Kern angesprochen wird diese kann dann weitere Parameter auswerten Aufgabenspektrum von Systemaufrufen Prozessverwaltung Erzeugen und Beenden von Prozessen Laden und Ausführen von Prozessen Warten auf andere Prozesse IPC Signalisierung von Ereignissen Übergabe von Nachrichten und Daten Reaktionsweise auf Nachrichten und Signale einstellen Dateiverwaltung und E/A-Arbeit Parameter- und Statusabfragen bzw. -einstellungen Schutzmechanismen Definition 3.3. Die Menge aller Systemaufrufe fasst man unter derapizusammen Demonstration von Systemaufrufen 1. Prozesserzeugung in Unix/Linux mittels fork() (Prozess wird verdoppelt), exec() (Prozess führt anderes Programm aus) 3.4 Interprozesskommunikation Bei der IPC sind 2 Aspekte klar zu unterscheiden: 1. Informationsaustausch 2. Ablaufabstimmung

18 18 Kommunikation und Koordination Informationsaustausch Hierfür existieren 2 Grundmodelle: 1. Nachrichtenbasierter Informationsaustausch Nachrichten werden explizit untereinander ausgetauscht Betriebssystem fungiert dabei als Transportsystem (entweder von einem Adressraum in den anderen oder zu bestimmten Schnittstellen/Ports) Grundfunktionen: SEND RECEIVE auch in verteilen Systemen nutzbar (im Gegensatz zu Speicherbasiertem Informationsaustausch) 2. Speicherbasierter Informationsaustausch Prozesse nutzen einen gemeinsamen Speicherbereich (und damit gemeinsame Daten) Dafür müssen gemeinsame Datenbereiche defniert werden (meist gemeinsamer Bereich im Hauptspeicher (shared memory) oder temporäre Dateien) kann nur von Architekturen genutzt werden, die gemeinsame Speichernutzung zulassen (Ein-Prozessor, Multi-Prozessor mit gemeinsamer Speichernutzung) 3.5 Koordination Definition 3.4. Unter der Koordination versteht man die zeitliche Abstimmung mindestens zweier Prozesse untereinander. Diese ist nur dadurch zu erreichen, dass man bestimmte Prozesse blockiert bis ein bestimmtes Ereignis eingetreten ist. Man benötigt zur Realisierung einer Koordination folgendes: Möglichkeit zum eventuellen Anhalten (Warten) Möglichkeit, dass ein Prozess signalisieren kann, wenn er eine bestimmte Stelle erreicht hat Möglichkeit, zum Verknüpfen der Prozessabläufen: dies kann durch ein Datenobjekt erreicht werden grundlegendes Element ist ein binäres Element BE, welches Auskunft über den Zustand eines Prozesses geben kann dieses Datenobjekt wird als Signalobjekt(SO) bezeichnet Ein Problem bei der Koordination ist die Tatsache, dass ein Prozess in einem kritischen Abschnitt unterbrochen werden kann und ein neuer Prozess gleichzeitig auf diesen Schreiben könnte (Beispiel Printer-Spooler aus den Folien). Diese Tatsache wird durch Sperrsynchronisation (gegenseitigen Ausschluss) verhindert. Bemerkung 3.5. Im Allgemeinen stellt jeder Zugriff auf ein exklusiv nutzbares Medium (Geräte, Drucker, etc) einen kritischen Abschnitt dar, der mittels Sperrsynchronisation geschützt werden muss. Die Sperrsynchronisation kann dabei mittels des Signalobjekts problemlos implementiert werden, bietet aber nicht die Möglichkeit einer Reihenfolge bei der seriellen Abarbeitung. Eine Lösung ist dabei mittels Semaphoren möglich.

19 3.5 Koordination (binäre) Semaphoren Anmerkung 3.6. Das binäre Element ist eine dem Betriebssystem zugängliche Variable, die entweder den Wert 0 oder 1 besitzt. Die atomaren Operationen Warten (P-Operation) und Signalisieren (V-Operation) sind als Systemaufrufe implementiert. Hinzu kommt noch eine Warteschlange für Prozesse. Ein aktives Warten wird dabei durch den Prozesszustand blockiert vermieden und die V-Operation weckt den ersten Prozess der in der Warteschlange steht Zählsemaphor Anstatt eines binären Elements gibt es eine Zählvariable, deren Anfangswert die maximale Anzahl zulässiger Prozesse in einem durch das Semaphor geschützten Speicherbereich angibt. Jede P-Operation überprüft dann, ob ein Eintreten in den Bereich noch möglich ist (Zählvariable > 0). Wenn dies der Fall ist, wird die Zählvariable dekrementiert und der Prozess darf in den Abschnitt eintreten. Andernfalls wird er in die Prozesswarteschlange eingereiht. Bei jeder V-Operation wird die Zählvariable inkrementiert. Wenn sie > 0 ist, kann ein Prozess aus der Warteschlange genommen werden und die Zählvariable muss dann wieder entsprechend dekrementiert werden Kommunikationsressourcen 1. gemeinsam genutzte Speicherbereiche 2. Transportwege (Bus, Netzwerk) 3. Nachrichtenpuffer (sowohl für Transport als auch für gemeinsam genutzte Speicherbereiche) gemeinsam genutzte Speicherbereiche In den meisten Fällen ist es nicht möglich, alle Daten gleichzeitig zu übergeben, weil der Datenbereich dafür nicht ausreicht. Dieses Problem ist auch als Produzenten-Konsumenten-Schema bekannt. Dabei lauten die Koordiantionsbedingungen wie folgt: der Bereich sei zu Beginn leer der Produzent darf so lang schreiben, bis der Bereich voll ist der Konsument darf lesen, solang der Bereich nicht leer ist gleichzeitiges Lesen und Schreiben ist verboten Dafür werden 2 Signalobjekte benötigt (SO.leer, SO.voll). Das Schema findet man in den Folien zur Vorlesung. Dazu gibt es dann auch noch das verfeinerte Produzenten-Konsumenten- Schema. Damit können gleichzeitig mehrere Datenbereiche beschrieben und gelesen werden (natürlich wieder nicht gleichzeitig). Näheres hierzu findet man wieder im Skript Monitore Die Arbeit mit Semaphoren ist schon bei relativ kleinen Beispielen sehr fehleranfällig, deswegen gibt es noch weitere Konzepte zur Prozesskoordination. Definition 3.7. Die gemeinsam genutzten Daten und Zugriffsfunktionen werden zu einer gesamten Datenstruktur zusammengefasst (Abstrakter-Daten-Typ mit gegenseitigem Ausschluss). Die Prozesse dürfen dafür nichtmehr selbst auf die gemeinsamen Daten zugreifen, sondern müssen die Monitorfunktionen nutzen. Monitore garantieren den gegenseitigen Ausschluss, denn zu jedem Zeitpunkt kann maximal ein Prozess eine Monitorfunktion nutzen. Gegenseitiger Ausschluss allein reicht aber in vielen Fällen nicht aus und es müssen noch bestimmte Bedingungen gestellt werden die erfüllt sein müssen (Implementierung mittels If-Konstrukten).

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel Aufgabe 1 (5 Punkte) (Multiple Choice) Beantworten Sie folgende Fragen durch Ankreuzen der richtigen Antwort. Für jede falsche Antwort wird ein Punkt abgezogen (es werden minimal 0 Punkte vergeben). Welche

Mehr

Rechnernutzung in der Physik. Betriebssysteme

Rechnernutzung in der Physik. Betriebssysteme Rechnernutzung in der Physik Betriebssysteme 1 Betriebssysteme Anwendungsprogramme Betriebssystem Treiber BIOS Direkter Zugriff von Anwenderprogrammen auf Hardware nur in Ausnahmefällen sinnvoll / möglich:

Mehr

Systeme 1. Kapitel 5. Scheduling

Systeme 1. Kapitel 5. Scheduling Systeme 1 Kapitel 5 Scheduling Scheduling Verteilung und Zuweisung von begrenzten Ressourcen an konkurrierende Prozesse Beispiel: -> Zeitablaufsteuerung Zwei Prozesse zur gleichen Zeit rechenbereit auf

Mehr

Inhaltsverzeichnis XII

Inhaltsverzeichnis XII 1 Einführung... 1 1.1 Computersysteme... 1 1.1.1 Einführung... 2 1.1.2 Aufgabe von Betriebssystemen... 3 1.1.3 Grundlegende Hardwaremodelle... 3 1.1.4 CPU-Registersatz... 7 1.1.5 Multicore-Prozessoren

Mehr

^ Springer Vi eweg. Grundkurs Betriebssysteme. Synchronisation, Prozesskommunikation, Virtualisierung. Architekturen, Betriebsmittelverwaltung,

^ Springer Vi eweg. Grundkurs Betriebssysteme. Synchronisation, Prozesskommunikation, Virtualisierung. Architekturen, Betriebsmittelverwaltung, Peter Mandl Grundkurs Betriebssysteme Architekturen, Betriebsmittelverwaltung, Synchronisation, Prozesskommunikation, Virtualisierung 4. Auflage ^ Springer Vi eweg 1 Einführung 1 1.1 Computersysteme 1

Mehr

Betriebssysteme (BTS)

Betriebssysteme (BTS) 9.Vorlesung Betriebssysteme (BTS) Christian Baun cray@unix-ag.uni-kl.de Hochschule Mannheim Fakultät für Informatik Institut für Betriebssysteme 10.5.2007 Exkursion Die Exkursion wird am Freitag, den 18.5.2007

Mehr

Prozesse und Scheduling

Prozesse und Scheduling Betriebssysteme für Wirtschaftsinformatiker SS04 KLAUSUR Vorbereitung mit Lösungen / Blatt 1 Prozesse und Scheduling Aufgabe 1 : Scheduling Gegeben seien die folgenden Prozesse und die Längen des jeweiligen

Mehr

Grundkurs Betriebssysteme

Grundkurs Betriebssysteme Grundkurs Betriebssysteme Architekturen, Betriebsmittelverwaltung, Synchronisation, Prozesskommunikation von Peter Mandl 3., akt. und erw. Aufl. 2013 Springer Vieweg Wiesbaden 2012 Verlag C.H. Beck im

Mehr

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Name: Matrikel-Nr: Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Bitte schreiben Sie leserlich und antworten Sie kurz und präzise. 1. Zeichnen Sie das Schichten-Modell eines Computersystems und markieren

Mehr

Begriff: Scheduling Planung, Schedule Plan. Verplanung der CPU-Zeit an die Threads (bzw. Prozesse)

Begriff: Scheduling Planung, Schedule Plan. Verplanung der CPU-Zeit an die Threads (bzw. Prozesse) 5 CPU-Scheduling Im folgenden wird von Threads gesprochen. Bei Systemen, die keine Threads unterstützen, ist der einzige "Thread" eines Prozesses gemeint. Früher wurde dieser Thread synonym mit dem Begriff

Mehr

Betriebssysteme Kap A: Grundlagen

Betriebssysteme Kap A: Grundlagen Betriebssysteme Kap A: Grundlagen 1 Betriebssystem Definition DIN 44300 Die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften dieser Rechenanlage die Basis der möglichen Betriebsarten

Mehr

Inhaltsverzeichnis. 2.4 Thread-Systeme. 2.1 Was ist ein Prozess? 2.2 Scheduling. 2.3 Interprozesskommunikation

Inhaltsverzeichnis. 2.4 Thread-Systeme. 2.1 Was ist ein Prozess? 2.2 Scheduling. 2.3 Interprozesskommunikation Inhaltsverzeichnis Systemprogrammierung - Kapitel 2 Prozessverwaltung 1/21 2.1 Was ist ein Prozess? Definition Prozesszustände Prozesskontrollblöcke 2.4 Thread-Systeme Sinn und Zweck Thread-Arten Thread-Management

Mehr

CPU-Scheduling - Grundkonzepte

CPU-Scheduling - Grundkonzepte CPU-Scheduling - Grundkonzepte Sommersemester 2015 Seite 1 Gesamtüberblick 1. Einführung in Computersysteme 2. Entwicklung von Betriebssystemen 3. Architekturansätze 4. Interruptverarbeitung in Betriebssystemen

Mehr

13. Übung mit Musterlösung

13. Übung mit Musterlösung 13. Übung mit Musterlösung 1 Lösung 1 Teil 1.Multiple Choice) Bewertung: Ein Punkt für richtige Antwort, für jede falsche Antwort ein Punktabzug. a) Für die Exponentialverteilung ist die Zeit bis zum nächsten

Mehr

6.Vorlesung Betriebssysteme Hochschule Mannheim

6.Vorlesung Betriebssysteme Hochschule Mannheim Christian Baun 6.Vorlesung Betriebssysteme Hochschule Mannheim SS2011 1/40 6.Vorlesung Betriebssysteme Hochschule Mannheim Christian Baun Karlsruher Institut für Technologie Steinbuch Centre for Computing

Mehr

Betriebssysteme I WS 2013/2014. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404

Betriebssysteme I WS 2013/2014. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Betriebssysteme I WS 2013/2014 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 16. Januar 2014 Betriebssysteme / verteilte Systeme Betriebssysteme

Mehr

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 7 Scheduling Maren Bennewitz Version 23.01.2013 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Kapitel 9 Hauptspeicherverwaltung

Kapitel 9 Hauptspeicherverwaltung Kapitel 9 Hauptspeicherverwaltung Einführung: Speicher als Betriebsmittel Speicherkapazität wächst ständig ein PC heute hat 1000 mal soviel Speicher wie 1965 der größte Computer der Welt Anwendungsprogramme

Mehr

Scheduling. Prozess-Ablaufplanung. Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012

Scheduling. Prozess-Ablaufplanung. Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012 Scheduling Prozess-Ablaufplanung Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012 Scheduler Der Scheduler ist ein besonders wichtiges Programmteil jedes Betriebssystems. Prozesse P 1 P

Mehr

Memory Management. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at

Memory Management. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at Memory Management Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1 Speicherverwaltung Effektive Aufteilung und Verwaltung des Arbeitsspeichers für BS und Programme Anforderungen

Mehr

Betriebssystembau (BSB)

Betriebssystembau (BSB) Betriebssystembau (BSB) 6. Übung http://ess.cs.tu-.de/de/teaching/ws2013/bsb/ Olaf Spinczyk olaf.spinczyk@tu-.de http://ess.cs.tu-.de/~os AG Eingebettete System Informatik 12, TU Dortmund Agenda Vorstellung

Mehr

5 Speicherverwaltung. bs-5.1 1

5 Speicherverwaltung. bs-5.1 1 5 Speicherverwaltung bs-5.1 1 Pufferspeicher (cache) realer Speicher Primärspeicher/Arbeitsspeicher (memory) Sekundärspeicher/Hintergrundspeicher (backing store) (Tertiärspeicher/Archivspeicher) versus

Mehr

William Stallings. Betriebssysteme. Prinzipien und Umsetzung. 4., überarbeitete Auflage. Pearson Studium

William Stallings. Betriebssysteme. Prinzipien und Umsetzung. 4., überarbeitete Auflage. Pearson Studium William Stallings Betriebssysteme Prinzipien und Umsetzung 4., überarbeitete Auflage Pearson Studium ein Imprint der Pearson Education Deutschland GmbH Inhaltsverzeichnis Vorwort Leitfaden für den Leser

Mehr

Technische Informa/k II

Technische Informa/k II Technische Informa/k II Prof. Dr. Bernd Freisleben Sommersemester 2013 Vorlesung zur Klausurvorbereitung Folie 00-2 Organisatorisches Klausur: Dienstag, 16.07.13, 12:00-14:00 Uhr im Hörsaal 00/0070 Zugelassene

Mehr

A Kompilieren des Kernels... 247. B Lineare Listen in Linux... 251. C Glossar... 257. Interessante WWW-Adressen... 277. Literaturverzeichnis...

A Kompilieren des Kernels... 247. B Lineare Listen in Linux... 251. C Glossar... 257. Interessante WWW-Adressen... 277. Literaturverzeichnis... 1 Einführung................................................ 1 1.1 Was ist ein Betriebssystem?............................... 1 1.1.1 Betriebssystemkern................................ 2 1.1.2 Systemmodule....................................

Mehr

Übung zu Grundlagen der Betriebssysteme. 7. Übung 27.11.2012

Übung zu Grundlagen der Betriebssysteme. 7. Übung 27.11.2012 Übung zu Grundlagen der Betriebssysteme 7. Übung 27.11.2012 Threads Thread (Faden des (Kontrollflusses)): ist ein sequentieller Abarbeitungsablauf (Kontrollfluss) innerhalb eines Prozesses. Umfasst ein

Mehr

Systeme 1. Kapitel 11. Zusammenfassung

Systeme 1. Kapitel 11. Zusammenfassung Systeme 1 Kapitel 11 Zusammenfassung Aufgaben von Betriebssystemen Grundlegende Funktionen eines Betriebssystems Bereitstellen einer Abstraktionsschicht der Betriebssystemskomponenten für Programmierer

Mehr

Kapitel 2: Betriebssysteme

Kapitel 2: Betriebssysteme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2009 Vorlesung: Dr. Peer Kröger Übungen:

Mehr

Betriebssysteme. 4y Springer. Eine kompakte Einführung mit Linux. Albrecht Achilles. Mit 31 Abbildungen

Betriebssysteme. 4y Springer. Eine kompakte Einführung mit Linux. Albrecht Achilles. Mit 31 Abbildungen Albrecht Achilles 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Betriebssysteme Eine kompakte Einführung mit Linux

Mehr

BP 2 Prozessorvergabe - Multiprozessoren: Kern-Fäden. besten, wenn der Zusatzaufwand für Kontextumschaltungen gering ist.

BP 2 Prozessorvergabe - Multiprozessoren: Kern-Fäden. besten, wenn der Zusatzaufwand für Kontextumschaltungen gering ist. BP 2 Prozessorvergabe - Multiprozessoren: Kern-Fäden 5.2 Prozessorvergabe für Kern-Fäden Scheduler-Struktur Struktur der Warteschlangen Parallele Bearbeitung von Warteschlangen Strategien Statische oder

Mehr

Programme werden durch den Ablauf eines oder mehrerer Prozesse (engl.: process, task) von einem Rechner abgearbeitet.

Programme werden durch den Ablauf eines oder mehrerer Prozesse (engl.: process, task) von einem Rechner abgearbeitet. Prozessverwaltung Prozesse Programme werden durch den Ablauf eines oder mehrerer Prozesse (engl.: process, task) von einem Rechner abgearbeitet. Prozesse sind Abfolgen von Aktionen, die unter Kontrolle

Mehr

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 Verarbeitungsgrundlagen Teil 2 Virtual Storage el0100 copyright

Mehr

Echtzeitfähige Ereignisgetriebene Scheduling-Strategien

Echtzeitfähige Ereignisgetriebene Scheduling-Strategien Friedrich-Alexander-Universität Erlangen-Nürnberg Ausgewählte Kapitel eingebetteter Systeme Echtzeitfähige Ereignisgetriebene Scheduling-Strategien Sven Kerschbaum 1. Einführung Bei einem eingebetteten

Mehr

B.4. B.4 Betriebssysteme. 2002 Prof. Dr. Rainer Manthey Informatik II 1

B.4. B.4 Betriebssysteme. 2002 Prof. Dr. Rainer Manthey Informatik II 1 Betriebssysteme Betriebssysteme 2002 Prof. Dr. Rainer Manthey Informatik II 1 Bekannte Betriebssysteme Windows 2000 CMS UNIX MS-DOS OS/2 VM/SP BS 2000 MVS Windows NT Solaris Linux 2002 Prof. Dr. Rainer

Mehr

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 Verarbeitungsgrundlagen Teil 3 Betriebssystem Überwacher

Mehr

6 Speicherverwaltung

6 Speicherverwaltung 6 Speicherverwaltung 6.1 Hintergrund Ein Programm muß zur Ausführung in den Hauptspeicher gebracht werden und in die Prozeßstruktur eingefügt werden. Dabei ist es in mehreren Schritten zu modifizieren.

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Maren Bennewitz Version 13.2.213 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten

Mehr

8. Vorlesung Betriebssysteme

8. Vorlesung Betriebssysteme Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 1/69 8. Vorlesung Betriebssysteme Dr. Christian Baun Hochschule Mannheim Fakultät für Informatik wolkenrechnen@gmail.com Dr. Christian

Mehr

Hardware Virtualisierungs Support für PikeOS

Hardware Virtualisierungs Support für PikeOS Virtualisierungs Support für PikeOS Design eines Virtual Machine Monitors auf Basis eines Mikrokernels Tobias Stumpf SYSGO AG, Am Pfaenstein 14, 55270 Klein-Winternheim HS Furtwangen, Fakultät Computer

Mehr

Dämon-Prozesse ( deamon )

Dämon-Prozesse ( deamon ) Prozesse unter UNIX - Prozessarten Interaktive Prozesse Shell-Prozesse arbeiten mit stdin ( Tastatur ) und stdout ( Bildschirm ) Dämon-Prozesse ( deamon ) arbeiten im Hintergrund ohne stdin und stdout

Mehr

B.5 Prozessverwaltung B.5. Prozessverwaltung. 2002 Prof. Dr. Rainer Manthey Informatik II 1

B.5 Prozessverwaltung B.5. Prozessverwaltung. 2002 Prof. Dr. Rainer Manthey Informatik II 1 Prozessverwaltung Prozessverwaltung 2002 Prof. Dr. Rainer Manthey Informatik II 1 Prozesse Programme werden durch den Ablauf eines oder mehrerer Prozesse (engl.: process, task) ) von einem Rechner abgearbeitet.

Mehr

Beschreiben Sie stichwortartig, was die folgenden Kommandos bewirken.

Beschreiben Sie stichwortartig, was die folgenden Kommandos bewirken. Betriebssysteme: Auswahl alter Klausuraufgaben Seite 1 Beschreiben Sie stichwortartig, was die folgenden Kommandos bewirken. a) sort < MeineDatei.txt > MeineDateiSort.txt b) find / -type d \( -name man

Mehr

Technische Informatik I. Übung 3 Speicherhierarchie. v t d 0 d 1 d 2 d 3 0 1 2 3. Technische Informatik I Übung 3. Technische Informatik I Übung 3

Technische Informatik I. Übung 3 Speicherhierarchie. v t d 0 d 1 d 2 d 3 0 1 2 3. Technische Informatik I Übung 3. Technische Informatik I Übung 3 Institut für Kommunikationsnetze und Rechnersysteme Technische Informatik I Paul J. Kühn, Matthias Meyer Übung 3 Speicherhierarchie Inhaltsübersicht Aufgabe 3.1 Daten-Cache Aufgabe 3.2 Virtueller Speicher

Mehr

Technische Informatik II

Technische Informatik II Institut für Technische Informatik und Kommunikationsnetze Technische Informatik II Übung 1: Prozesse und Threads Aufgabe 1: Prozesse und Threads a) Wie verhält sich eine Applikation die aus mehreren Prozessen

Mehr

Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene. Andi Drebes Fachbereich Informatik Universität Hamburg

Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene. Andi Drebes Fachbereich Informatik Universität Hamburg Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene Andi Drebes Fachbereich Informatik Universität Hamburg Gliederung Notwendigkeit des Schedulings Einführung: Begriff des Multitaskings

Mehr

Kapitel 2: Betriebssysteme

Kapitel 2: Betriebssysteme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2008 Kapitel 2: Betriebssysteme Vorlesung:

Mehr

Projekt für Systemprogrammierung WS 06/07

Projekt für Systemprogrammierung WS 06/07 Dienstag 30.01.2007 Projekt für Systemprogrammierung WS 06/07 Von: Hassan Bellamin E-Mail: h_bellamin@web.de Gliederung: 1. Geschichte und Definition 2. Was ist Virtualisierung? 3. Welche Virtualisierungssoftware

Mehr

Scheduling in Echtzeitbetriebssystemen. Prof. Dr. Margarita Esponda Freie Universität Berlin

Scheduling in Echtzeitbetriebssystemen. Prof. Dr. Margarita Esponda Freie Universität Berlin Scheduling in Echtzeitbetriebssystemen Prof. Dr. Margarita Esponda Freie Universität Berlin Echtzeitsysteme Korrekte Ergebnisse zum richtigen Zeitpunkt Hart Echtzeitsysteme Eine verspätete Antwort ist

Mehr

Rechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance

Rechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance Rechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance 5. November 2013 Prof. Dr. Christian Tschudin Departement Mathematik und Informatik, Universität Basel Repetition

Mehr

Betriebssysteme WS 2012/13 Peter Klingebiel, DVZ. Zusammenfassung Kapitel 4 - Datenträger/Dateiverwaltung

Betriebssysteme WS 2012/13 Peter Klingebiel, DVZ. Zusammenfassung Kapitel 4 - Datenträger/Dateiverwaltung Betriebssysteme WS 2012/13 Peter Klingebiel, DVZ Zusammenfassung Kapitel 4 - Datenträger/Dateiverwaltung Zusammenfassung Kapitel 4 Dateiverwaltung 1 Datei logisch zusammengehörende Daten i.d.r. permanent

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

Architektur Verteilter Systeme Teil 6: Interprozess-Kommunikation

Architektur Verteilter Systeme Teil 6: Interprozess-Kommunikation Architektur Verteilter Systeme Teil 6: Interprozess-Kommunikation 09.05.15 1 Literatur [6-1] http://php.net/manual/de/book.sockets.php [6-2] http://de.wikipedia.org/wiki/socket_(software) [6-3] http://php.net/manual/de/book.network.php

Mehr

Die L4-Mikrokern. Mikrokern-Familie. Hauptseminar Ansätze für Betriebssysteme der Zukunft. Michael Steil. Michael Steil 18.04.2002

Die L4-Mikrokern. Mikrokern-Familie. Hauptseminar Ansätze für Betriebssysteme der Zukunft. Michael Steil. Michael Steil 18.04.2002 Die L4-Mikrokern Mikrokern-Familie Hauptseminar Ansätze für Betriebssysteme der Zukunft 18.04.2002 Folie 1 Aufbau des Vortrags 1. Mikrokerne: Idee und Geschichte 2. L4: ein schneller Mikrokern 3. L4Linux:

Mehr

Fragenkatalog zum Kurs 1802 "Betriebssysteme" zusammengestellt von Jan Bartelsen nach Fragen von Dr. Lihong Ma

Fragenkatalog zum Kurs 1802 Betriebssysteme zusammengestellt von Jan Bartelsen nach Fragen von Dr. Lihong Ma Fragenkatalog zum Kurs 1802 "Betriebssysteme" zusammengestellt von Jan Bartelsen nach Fragen von Dr. Lihong Ma Hinweis: Ich habe mich bemüht, fehlerfreie Antworten zu finden, kann dies jedoch nicht garantieren.

Mehr

Einführung in die Informationstechnik. II Einführung in Betriebssysteme

Einführung in die Informationstechnik. II Einführung in Betriebssysteme Einführung in die Informationstechnik II Einführung in Betriebssysteme 2 Übersicht Themen Betriebssysteme allgemein Microsoft Windows Unix am Beispiel Linux Bedienoberfläche von Linux Unix am Beispiel

Mehr

Betriebssystem? Übersicht. Ziele. Grundlagen. Das ist nur die Oberfläche... Wissen, was man unter einem Betriebssystem versteht

Betriebssystem? Übersicht. Ziele. Grundlagen. Das ist nur die Oberfläche... Wissen, was man unter einem Betriebssystem versteht Betriebssysteme Grundlagen Quellen: InSy Folien zum Thema Unix/Linux Wikipedia Das ist nur die Oberfläche... 1 Ziele 2 Übersicht Wissen, was man unter einem Betriebssystem versteht Was Was ist istein einbetriebssystem?

Mehr

Quantitative Methoden. Betriebssysteme

Quantitative Methoden. Betriebssysteme Quantitative Methoden Betriebssysteme Problem und Gegenstand Problem Erfüllen von QoS-Anforderungen mit zeit- bzw. größenbeschränkten Ressourcen Gegenstand Scheduling basierend auf deterministischen Modellen

Mehr

2 Echtzeitbetriebssysteme

2 Echtzeitbetriebssysteme 35 2 Echtzeitbetriebssysteme In den letzten Jahren hat sich die Automobilindustrie zu einem der wesentlichen Anwender von Echtzeitbetriebssystemen für eingebettete Systeme entwickelt. Relativ zeitig erkannten

Mehr

CS2101 Nebenläufige und Verteilte Programme Bachelor of Science (Informatik)

CS2101 Nebenläufige und Verteilte Programme Bachelor of Science (Informatik) Prof. Dr. Th. Letschert CS2101 Nebenläufige und Verteilte Programme Bachelor of Science (Informatik) Vorlesung 7 Th Letschert FH Gießen-Friedberg Ressourcen Verwaltung passive Ressourcen aktive Ressourcen

Mehr

1. Prozesse & Threads (10 Punkte)

1. Prozesse & Threads (10 Punkte) Fachbereich Informatik/Mathematik Seite 1/9 1. Prozesse & Threads (10 Punkte) a) Erklären Sie den Unterschied zwischen Prozessen und Threads. [4 P.] Der wesentliche Unterschied ist, dass Prozesse über

Mehr

Zusammenfassung zur Vorlesung im Wintersemester 2009/2010

Zusammenfassung zur Vorlesung im Wintersemester 2009/2010 BETRIEBSSYSTEME Zusammenfassung zur Vorlesung im Wintersemester 2009/2010 INHALT Inhalt... 1 1 Das Betriebssystem... 4 2 Programme und Unterprogramme... 4 2.1 Arten von Unterprogrammen... 4 2.1.1 Offenes

Mehr

6.6 Persistenter virtueller Speicher

6.6 Persistenter virtueller Speicher 6.6 Persistenter virtueller Speicher Idee: alle Segmente sind persistent Datei -Begriff überflüssig! Aber: Segment hat erweiterten Deskriptor. bs-6.6 1 Segment überdauert Tod des erzeugenden Prozesses,

Mehr

POSIX Echtzeit: Kernel 2.6 und Preempt-RT

POSIX Echtzeit: Kernel 2.6 und Preempt-RT POSIX Echtzeit: Kernel 2.6 und Preempt-RT Slide 1 - http://www.pengutronix.de - 21.01.2007 Echtzeit-Systemplanung Wenn das zeitliche Verhalten spezifiziert ist, kann auch spezifiziert werden, welche Applikationsteile

Mehr

OSEKtime - Time-Triggered OSEK/OS

OSEKtime - Time-Triggered OSEK/OS OSEKtime - Time-Triggered OSEK/OS Gregor Kaleta gregor.kaleta@udo.edu PG Seminarwochenende 21.-23. Oktober 2007 1 Überblick Einleitung OSEKtime Task-Zustandsmodell, Scheduling-Verfahren Interrupt-Verarbeitung

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Ausarbeitung zum Thema Approximationsalgorithmen im Rahmen des Fachseminars 24. Juli 2009 Robert Bahmann robert.bahmann@gmail.com FH Wiesbaden Erstellt von: Robert Bahmann Zuletzt berarbeitet von: Robert

Mehr

183.579, SS2012 Übungsgruppen: Do., 14.6. Mi., 20.6.2012

183.579, SS2012 Übungsgruppen: Do., 14.6. Mi., 20.6.2012 VU Technische Grundlagen der Informatik Übung 8: Systemsoftware und Netzwerke 183.579, SS2012 Übungsgruppen: o., 14.6. Mi., 20.6.2012 ufgabe 1: Virtual Memory Zeichnen Sie ein System das Paging zur Speicherverwaltung

Mehr

Zur Erinnerung: Threads. Threadverwaltung. Threads: Prioritäten. Beispiel Flugbuchungsprogramm. Nichtdeterminismus

Zur Erinnerung: Threads. Threadverwaltung. Threads: Prioritäten. Beispiel Flugbuchungsprogramm. Nichtdeterminismus Zur Erinnerung: Threads Programmierung (fortgeschrittene Konzepte) Threads, Monitore, Semaphore und speisende en Wolf-Ulrich Raffel (uli@wuraffel.de) Möglichkeiten, Threads zu definieren Bildung einer

Mehr

2.2 Rechnerorganisation: Aufbau und Funktionsweise

2.2 Rechnerorganisation: Aufbau und Funktionsweise 2.2 Rechnerorganisation: Aufbau und Funktionsweise é Hardware, Software und Firmware é grober Aufbau eines von-neumann-rechners é Arbeitsspeicher, Speicherzelle, Bit, Byte é Prozessor é grobe Arbeitsweise

Mehr

Kap. 2. Prozesse. Version vom 05.10.2009. Kap. 2 - Inhalt. Definition Prozeßzustände Threads Scheduling Beispiele. Folie 2

Kap. 2. Prozesse. Version vom 05.10.2009. Kap. 2 - Inhalt. Definition Prozeßzustände Threads Scheduling Beispiele. Folie 2 Kap. 2 Prozesse Version vom 05.10.2009 Kap. 2 - Inhalt Definition Prozeßzustände Threads Scheduling Beispiele Folie 2 Definition I - Woraus bestehen Prozesse? Prozeß ist ein Programm in seiner Ausführung,

Mehr

Vorbereitung zur Prüfung Echtzeitbetriebssysteme

Vorbereitung zur Prüfung Echtzeitbetriebssysteme Vorbereitung zur Prüfung Echtzeitbetriebssysteme Zugelassene Hilfsmittel: Taschenrechner Bitte verwenden Sie keinen roten Farbstift! 1. Echtzeitbetriebssysteme - Allgemein (15 Punkte) 1.1. Warum setzen

Mehr

Betriebssysteme (BTS)

Betriebssysteme (BTS) 19.Vorlesung Betriebssysteme (BTS) Christian Baun cray@unix-ag.uni-kl.de Hochschule Mannheim Fakultät für Informatik Institut für Betriebssysteme 22.6.2007 Heute 2.Testklausur mit 22 Fragen aus den Vorlesungen

Mehr

Praktikum Informatik 2: Betriebssysteme und Rechnernetze

Praktikum Informatik 2: Betriebssysteme und Rechnernetze Praktikum Informatik 2: Betriebssysteme und Rechnernetze Thema: 4. Speicherverwaltung Datum: 19.03.2008 vorgelegt von: Antje Stoppa Carsten Erdmann Andr é Hartwig Ulrike Saretzki Inhaltsverzeichnis 1 Motivation

Mehr

Modul 9: Betriebssysteme. Informatik I. Modul 9: Betriebssysteme. Semantische Lücke. Definition Betriebssystem. Aufgaben eines Betriebssystems

Modul 9: Betriebssysteme. Informatik I. Modul 9: Betriebssysteme. Semantische Lücke. Definition Betriebssystem. Aufgaben eines Betriebssystems Fall Term 8, Department of Informatics, IFI, UZH, Switzerland Informatik I Prof. Dr. Burkhard Stiller Communication Systems Group CSG Department of Informatics IFI, University of Zürich Binzmühlestrasse,

Mehr

Teil VIII Von Neumann Rechner 1

Teil VIII Von Neumann Rechner 1 Teil VIII Von Neumann Rechner 1 Grundlegende Architektur Zentraleinheit: Central Processing Unit (CPU) Ausführen von Befehlen und Ablaufsteuerung Speicher: Memory Ablage von Daten und Programmen Read Only

Mehr

Vorlesung: Betriebssysteme

Vorlesung: Betriebssysteme Vorlesung: Betriebssysteme T. Fahringer Institut für f r Informatik Universität t Innsbruck Thomas.Fahringer@uibk.ac.at 1 Kapitel I Betriebssysteme: Aufgaben und Überblick 2 Was ist ein Betriebssystem

Mehr

B1 Stapelspeicher (stack)

B1 Stapelspeicher (stack) B1 Stapelspeicher (stack) Arbeitsweise des LIFO-Stapelspeichers Im Kapitel "Unterprogramme" wurde schon erwähnt, dass Unterprogramme einen so genannten Stapelspeicher (Kellerspeicher, Stapel, stack) benötigen

Mehr

Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme Maren Bennewitz 1 Überblick Betriebssysteme Aufgabe von Betriebssystemen Historische Entwicklung von Betriebssystemen Unterschiedliche Arten

Mehr

Task A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003

Task A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003 Task! evt. parallel zu bearbeitende Ausführungseinheit! Beispiel: Task A Zündung Task B Einspritzung Task C Erfassung Pedalwert Zeit t J. Schäuffele, Th. Zurawka:, Vieweg, 2003 Echtzeitbetriebssysteme

Mehr

Rechnerarchitektur. 11. Betriebssysteme und Prozesse. Inhalt. Ziele von Betriebssystemen. Betriebssystemkomponenten. Betriebssystemkomponenten

Rechnerarchitektur. 11. Betriebssysteme und Prozesse. Inhalt. Ziele von Betriebssystemen. Betriebssystemkomponenten. Betriebssystemkomponenten Inhalt Rechnerarchitektur 11. e und Soft- und eines Rechners Ziele von en komponenten dienste und -funktionen Mehrprogrammbetrieb Dateisysteme Ein-/Ausgabe architekturen Monolithische Systeme Geschichtete

Mehr

Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008

Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008 Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008 Jörg Rödel Virtualization - Whats out there? Virtualisierung hat bereits längere Geschichte auf x86 Startete mit VMware Setzte

Mehr

Linux-Kernel- Programmierung

Linux-Kernel- Programmierung Michael Beck, Harald Böhme, Mirko Dziadzka, Ulrich Kunitz, Robert Magnus, Dirk Verworner Linux-Kernel- Programmierung Algorithmen und Strukturen der Version 1.0 ADDISON-WESLEY PUBLISHING COMPANY Bonn Paris

Mehr

Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS. geschrieben von Oliver Botschkowski

Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS. geschrieben von Oliver Botschkowski Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS geschrieben von Oliver Botschkowski 1 Offene Systeme und deren Schnittstelle für die Elektronik im Kraftfahrzeug 1 Oliver Botschkowski - OSEK-OS

Mehr

Inhalte der heutigen Vorlesung

Inhalte der heutigen Vorlesung Inhalte der heutigen Vorlesung Wiederholung und Fortsetzung Hardware Von-Neumann-Architektur (Rechnerarchitektur) Speicher Software Wie groß ist ein Gigabyte? http://www.spiegel.de/netzwelt/tech/0,1518,606308,00.html

Mehr

RTEMS- Echtzeitbetriebssystem

RTEMS- Echtzeitbetriebssystem RTEMS- Echtzeitbetriebssystem Name: Hussein Hammoud Matrikel- Nr.: 230768 Studiengang: Technische Informatik Fach: Projekt Eingebettete Kommunikation Technische Universität Berlin Sommersemester 2006 RTEMS-

Mehr

7.Vorlesung Betriebssysteme Hochschule Mannheim

7.Vorlesung Betriebssysteme Hochschule Mannheim Christian Baun 7.Vorlesung Betriebssysteme Hochschule Mannheim SS2011 1/70 7.Vorlesung Betriebssysteme Hochschule Mannheim Christian Baun Karlsruher Institut für Technologie Steinbuch Centre for Computing

Mehr

Betriebssysteme Kap F: CPU-Steuerung CPU-Scheduling

Betriebssysteme Kap F: CPU-Steuerung CPU-Scheduling Betriebssysteme Kap F: CPU-Steuerung CPU-Scheduling 1 termini technici Der englische Fachausdruck scheduler wurde eingedeutscht : Der Scheduler Für scheduling ist im Deutschen auch zu verwenden: Ablaufplanung

Mehr

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper 1. Der Prozess beginnt im Zustand Erzeugt, nachdem sein Vaterprozess den Systemaufruf fork() (s.u.) abgesetzt hat. In diesem Zustand wird der Prozess-Kontext initialisiert. 2. Ist diese Aufbauphase abgeschlossen,

Mehr

4 Planung von Anwendungsund

4 Planung von Anwendungsund Einführung 4 Planung von Anwendungsund Datenbereitstellung Prüfungsanforderungen von Microsoft: Planning Application and Data Provisioning o Provision applications o Provision data Lernziele: Anwendungen

Mehr

Der SUN-Pool. 64 Arbeitsplätze, reine Terminals

Der SUN-Pool. 64 Arbeitsplätze, reine Terminals Der SUN-Pool 64 Arbeitsplätze, reine Terminals 4 SUN-Server (SUN-Fire oder Enterprise) {alexander,delenn,ivanova,winter}.babylon.cs.uni-potsdam.de, vollkommen symmetrisch installiert; verwalten dasselbe

Mehr

Prozesse und Threads. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at

Prozesse und Threads. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at Prozesse und Threads Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1 Ziel: Gleichzeitiges, kontrolliertes Ausführen von Programmen auf einem Rechner Welche Mechanismen sind

Mehr

Kernel Programmierung unter Linux. Programmierung von Kernelmodulen. Referent Klaus Ruhwinkel

Kernel Programmierung unter Linux. Programmierung von Kernelmodulen. Referent Klaus Ruhwinkel Kernel Programmierung unter Linux Programmierung von Kernelmodulen Referent Klaus Ruhwinkel Das Betriebssystem Aufbau des Betriebssystem: Es besteht aus den Betriebssystemkern und den sonstigen Betriebssystemkomponenten

Mehr

20 Eingebettete Software

20 Eingebettete Software 20 Eingebettete Software 20.0 Einführung Lernziele Echtzeitsysteme Eingebettete Systeme 20.1 Entwurf eingebetteter Systeme Modellierung von Echtzeitsystemen Programmierung von Echtzeitsystemen 20.2 Architekturmuster

Mehr

Grundlagen der Informatik. Teil VI Betriebssysteme

Grundlagen der Informatik. Teil VI Betriebssysteme Grundlagen der Informatik Teil VI Betriebssysteme Seite 1 Definition nach DIN: Unter Betriebssystem versteht man alle Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften der Rechenanlage

Mehr

Einführung in die Echtzeitbetriebssysteme

Einführung in die Echtzeitbetriebssysteme Einführung in die Echtzeitbetriebssysteme Hauptseminararbeit in dem Studiengang B.Sc. Informatik von Maximilian von Piechowski Technische Hochschule Mittelhessen Inhaltsverzeichnis 1 Was versteht man unter

Mehr

C. Betriebssystem-Strukturen C.1 Monolithische Betriebssysteme

C. Betriebssystem-Strukturen C.1 Monolithische Betriebssysteme C. Betriebssystem-Strukturen C.1 Monolithische Betriebssysteme Sammlung von Routinen, ohne Hierarchie, Kapselung und Schichtung. Jede Prozedur kann beliebige andere Prozeduren aufrufen und Datenstrukturen

Mehr

Rechnerstrukturen. 6. System. Systemebene. Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1. Prozessor.

Rechnerstrukturen. 6. System. Systemebene. Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1. Prozessor. Rechnerstrukturen 6. System Systemebene 1 (Monoprozessor) 2-n n (Multiprozessor) s L1- in der L2- ( oder Motherboard) ggf. L3- MMU Speicher Memory Controller (Refresh etc.) E/A-Geräte (c) Peter Sturm,

Mehr

Implementierung von Dateisystemen

Implementierung von Dateisystemen Implementierung von Dateisystemen Teil 2 Prof. Dr. Margarita Esponda WS 2011/2012 44 Effizienz und Leistungssteigerung Festplatten sind eine wichtige Komponente in jedem Rechnersystem und gleichzeitig

Mehr

Parallele und funktionale Programmierung Wintersemester 2013/14. 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr

Parallele und funktionale Programmierung Wintersemester 2013/14. 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr Aufgabe 8.1: Zeigerverdopplung Ermitteln Sie an folgendem Beispiel den Rang für jedes Listenelement sequentiell und mit dem in der Vorlesung vorgestellten parallelen

Mehr

Steuerungen. 4 Typen verbindungsprogrammierte Steuerung (VPS), speicherprogrammierte Steuerung (SPS), Mikrokontroller (MC) und Industrie-PCs (IPC)

Steuerungen. 4 Typen verbindungsprogrammierte Steuerung (VPS), speicherprogrammierte Steuerung (SPS), Mikrokontroller (MC) und Industrie-PCs (IPC) Steuerungen 4 Typen verbindungsprogrammierte Steuerung (VPS), speicherprogrammierte Steuerung (SPS), Mikrokontroller (MC) und Industrie-PCs (IPC) VPS - Funktion der Steuerung in der Schaltungstopologie

Mehr