Skript zur Vorlesung. Betriebssysteme. Principles of Modern Operating Systems. Wintersemester 2003/2004 Deutsche Telekom Fachhochschule Leipzig

Größe: px
Ab Seite anzeigen:

Download "Skript zur Vorlesung. Betriebssysteme. Principles of Modern Operating Systems. Wintersemester 2003/2004 Deutsche Telekom Fachhochschule Leipzig"

Transkript

1 Skript zur Vorlesung Betriebssysteme Principles of Modern Operating Systems Wintersemester 2003/2004 Deutsche Telekom Fachhochschule Leipzig Prof. Dr. Michael Meßollen Raum A Sollten Sie Fehler, auch Rechtschreibfehler, in diesem Skript entdecken, so bin ich dankbar für jede Rückmeldung.

2

3 INHALTSVERZEICHNIS Inhaltsverzeichnis Inhaltsverzeichnis Literatur 9 1 Einführung in die Betriebssysteme Definition Betriebssystem Grundlegende Aufgaben des BS Klassifikation von Betriebssystemen Historisch Generation: Generation: Generation: Generation: nach Anzahl gleichwertig laufender Programme nach Anzahl gleichzeitig am Rechner arbeitender Benutzer nach Anzahl der verwalteten Prozessoren/Rechner nach Betriebsart des Rechensystems Architektur eines Betriebssystems Systemaufrufe Prozesse Das Prozeßkonzept Das 2-Zustands-Prozeßmodell Generierung und Terminierung von Prozessen Generierung Terminierung Das 5-Zustands-Prozeßmodell Zusammenfassung der Zustände

4 INHALTSVERZEICHNIS INHALTSVERZEICHNIS Zustandsübergänge Ein Prozeßzustand für das Swapping Prozeßbeschreibung Kontrollstrukturen eines Betriebssystems Prozeßkontrollstrukturen Prozeßlokalisierung Prozeßattribute Prozeßkontrolle Prozeßgenerierung Prozeßwechsel (Process switching) Der Unterschied zwischen Prozeß- und Moduswechsel Ausführung des Betriebssystems Nonprocess Kernel Execution within User Processes Process-based Operating System Beispiel: Das Prozeßmanagement unter UNIX Konzepte des Prozeßmanagements Threads Multithreading Threadzustände User-Level-Threads (ULT) Kernel-Level-Threads (KLT) Kombinierte Konzepte Symmetrisches Multiprocessing Einordnung Parallele Prozessoren Prinzip der SMP-Organisation Microkernel Vorteile des Microkernelansatzes Nachteile des Microkernelansatzes Aspekte des Designs eines Microkernel

5 INHALTSVERZEICHNIS INHALTSVERZEICHNIS 4 Interprozeßkommunikation (IPC) Signale Pipes Unnamed Pipes Named Pipes System V IPC IPC Aufrufe - Eine Übersicht Message Queues Semaphoren Shared Memory Sockets Grundlagen der Kommunikation Netzwerkadressen Domänen - Netzwerk und Kommunikation Protokollfamilien Sockettypen Sockets - Funktionsaufrufe Verbindungsorientierte Sockets Verbindungslose Sockets Zusammenfassung Prozeßkoordination 75 Was ist Nebenläufigkeit (Concurrency)? Nebenläufigkeit und kritische Bereiche Softwarelösungen für den wechselseitigen Ausschluß Algorithmus von Dekker Modell des Protokolliglus Algorithmus von Peterson Hardwarelösungen für den wechselseitigen Ausschluß Unterbrechungsvermeidung Spezielle Maschinenbefehle Semaphore Monitore Message Passing Blockierung Adressierung Betriebssysteme und Prozeßkoordination

6 INHALTSVERZEICHNIS INHALTSVERZEICHNIS 6 Deadlocks (Verklemmungen) Das Prinzip der Deadlocks Bedingungen für das Auftreten von Verklemmungen (Coffman, 1971) Deadlock Avoidance, Prevention und Detection Speicher Speicherverwaltung Speicherpartitionierung (Speicheraufteilung) Statische Partitionierung Dynamische Partitionierung Buddy-Systeme Paging und Segmentierung Paging Segmentierung Virtueller Speicher Wie wird Vitueller Speicher durch das BS unterstützt? Organisation von Seitentabellen Resident Set Management Policy Fetch Policy Placement Policy Replacement Policy Optimalstrategie LFD (Longest Forward Distance) First-In-First-Out (FIFO-Strategie) Least Recently Used (LRU-Strategie) Clock-Strategie Working Set Strategie Zusammenfassung

7 INHALTSVERZEICHNIS INHALTSVERZEICHNIS 8 Scheduling Schedulingtypen Short-Term-Scheduling (STS) Medium-Term-Scheduling (MTS) Long-Term-Scheduling (LTS) E/A-Scheduling Bursts Prozeß-Scheduling Schedulingalgorithmen First Come First Serve (FCFS) Round Robin (RR) Shortest Job First (SJF) Shortest Remaining Processing Time (SRPT) Highest Response Ratio Next (HRN) Priority Scheduling (PS) Multilevel Queue Scheduling (MQS) Multilevel Feedback Queue Scheduling (MFQS) Parametrisiertes Scheduling Echtzeitscheduling Scheduling in realen Systemen Scheduling in Unix Scheduling bei BSD-Unix Scheduling in SVR Scheduling in Solaris Scheduling in Linux Scheduling in Windows Multiprozessorscheduling Thread Scheduling A Aufgaben 139

8 INHALTSVERZEICHNIS INHALTSVERZEICHNIS

9 Literaturverzeichnis Literaturverzeichnis [Brause 98] R. Brause, Betriebssysteme, Springer, 1998 [Knuth 73] Donald E. Knuth, The Art of Computer Programming, Reading, Massachusetts, 1973 [Peterson, Silberschatz 85] James L. Peterson, Abraham Silberschatz, Operating System Concepts, 2nd Edition, Addison-Wesley Publ., 1985 [Pinkert, Wear 89] Pinkert und Wear, Operating Systems - Concepts, Policies and Mechanisms, Prentice-Hall, 1989 [Stallings 98] William Stallings, Operating Systems, Prentice Hall, New Jersey, 1998 [Tanenbaum 02] [Tanenbaum 95] Andrew S. Tanenbaum, Moderne Betriebssysteme, 2.Auflage, Pearson- Verlag, 2002 Andrew S. Tanenbaum, Verteilte Betriebssysteme, Prentice-Hall, New Jersey, 1995

10 Literaturverzeichnis

11 Kapitel 1 Einführung in die Betriebssysteme Das Betriebssystem (BS) eines Rechners ist ein Programm, welches die Verbindung zwischen Nutzer und Hardware herstellt. Das Betriebssystem bietet dem Nutzer eine Umgebung, in der seine Programme einfach und schnell ausgeführt werden können. Wir unterteilen die Software deshalb in zwei Klassen: die Anwendungsprogramme, die spezifische Aufgaben des Nutzers lösen grundlegende Systemprogramme, die alle Betriebsmittel verwalten und eine Basis bilden, auf der die Anwendungsprogramme aufsetzen können - das Betriebssystem Das BS muß die vorhandenen Hardware-Ressourcen (CPU, Speicher, I/O, Platten, etc. ) den Anwenderprogrammen unter Berücksichtigung der Kriterien Fairness und Effizienz zur Verfügung stellen um den Nutzer vor der Komplexität zu bewahren, direkt mit der Hardware zu kommunizieren. Deshalb entsteht eine Softwareschicht, die die Hardware des Rechnersystems kapselt und über ein API (Application Program Interface) den Anwenderprogrammen zur Verfügung stellt. Diese Schnittstelle wird auch als virtuelle Maschine bezeichnet und mit Betriebssystem bezeichnet. Ein Computersystem stellt sich aus dieser Sicht als Schichtenmodell dar: User 1 User 2... User n Compiler, Editor,..., Spiele,..., DB Anwendungsprogramme Betriebsystem Computerhardware Abbildung 1.1: Computersystem: Schichtenmodell

12 1.1. DEFINITION BETRIEBSSYSTEM Grundlegende Aufgaben des BS 1.1 Definition Betriebssystem Silberschatz: An operating system is similar to a government... Like a government the operating system performs no useful function by itself. Nach DIN umfaßt ein Betriebssystem Die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften dieser Rechenanlage die Basis der möglichen Betriebsarten des Rechensystems bilden und die insbesondere die Ab- wicklung von Programmen steuern und überwachen 1.2 Grundlegende Aufgaben des BS Das Betriebssystem erfüllt verschiedene Funktionen. Das Betriebssystem verschleiert die Komplexität der Maschine dem Anwender gegenüber stellt eine (ergonomische) Benutzerschnittstelle bereit (Shell, Kommandointerpreter, Desktop) verwaltet Maschinen - Ressourcen: Prozessor(en) Hauptspeicher (Cache) Hintergrundspeicher (Platte, Band,...) Geräte (Terminal, Scanner, Drucker,...) Rechenzeit koordiniert Prozesse nackte Hardware Betriebssystem Benutzerrechner virtuelle Maschine Pentium IV PC mit... SUSE Linux 7.0 Windows XP 3 Abbildung 1.2: Rechner als virtuelle Maschine UNIX-Rechner Windows-Rechner

13 Klassifikation von Betriebssystemen 1.3. KLASSIFIKATION VON BETRIEBSSYSTEMEN 1.3 Klassifikation von Betriebssystemen Betriebssysteme können anhand vieler völlig unterschiedlicher Kriterien klassifiziert werden. Von diesen Kriterien geben wir hier nur eine kleine Auswahl exemplarisch wieder Historisch 1. Generation: (Röhren und Klinkenfelder) etwa gegen Ende des 2. Weltkrieges entstanden die ersten Rechner (John v. Neumann, Konrad Zuse,...). die ersten Rechner bestanden aus den von Röhren, die sehr langsam arbeiteten, fehleranfällig waren und sehr oft ausfielen. die Programmierung erfolgte über Steckbrett bzw. Klinkenfelder. Programmiersprachen, Assemblersprachen und Betriebssysteme waren unbekannt. Anfang der 50er Jahre wurde das Stecken der Klinkenfelder durch Lochkarten abgelöst. 2. Generation: (Transistoren und Stapelsysteme) Mitte der 50er Jahre: Einführung von Transistoren diese waren zuverlässiger als Röhren, aber teuer (eine Rechenanlage kostete mehrere Millionen Dollar)! Es entwickelte sich der Batch-Betrieb, d.h. Rechenaufträge (Jobs) wurden gesammelt, auf einem Magnetband gespeichert und dann im Maschinenraum verarbeitet (Batchsystem, siehe Seite 16). Erste (höhere) Programmiersprachen: Assembler, Cobol, Fortran,... Erste Betriebssysteme: FMS (Fortran Monitoring System) IBSYS (IBM BS für die 7094) Beispiel 1.1 (Arbeitsweise FMS) Die Eingabe eines Auftrags erfolgt in geschlossener Form: Programm + Daten + Steueranweisungen. Die Ausgabe erfolgt nach der Bearbeitung i.d.r. als Ausdruck. Ein Job beginnt mit einer $JOB-Karte, welche die maximale Laufzeit in Minuten, die Abrechnungsnummer und den Namen des Programmierers enthält. Danach folgt eine $FORTRAN-Karte, die das Betriebssystem informiert, den FORTRAN-Compiler zu laden (i.a. vom Band). Nun folgt das zu übersetzende Programm und eine $LOAD-Karte, die das Betriebssystem beauftragt, das - auf ein Hilfsband geschriebene - übersetzte Programm zu laden. Es folgt eine $RUN-Karte, die das Betriebssystem veranlaßt, das Programm mit den nachfolgenden Daten zu bearbeiten. abschließend: $END-Karte

14 Einführung in die Betriebssysteme Klassifikation von Betriebssystemen $LOAD $RUN FORTRAN-Programm $END Programm+Daten $FORTRAN $JOB 10, Nr Fortran-Prog. Abbildung 1.3: FMS: Kartenstapel zur Ausführung eines Jobs 3. Generation: (Integrierte Bauelemente und Multiprogramming) Anfang der 60er Jahre hatten sich zwei Produktlinien entwickelt: Großrechner für wissenschaftlichen/technischen Bereich Rechner für den kommerziellen Bereich IBM schuf mit dem System /360 ein einheitliches Konzept, das sowohl für den wissenschaftlichen als auch für den kommerziellen Bereich konzipiert war. Die /360 war die erste größere Computerfamilie, die integrierte Bauelemente (integrated circuits, IC s) verwendete. Dadurch ergab sich ein besseres Preis/Leistungsverhältnis. Das Betriebssystem war sehr kompliziert (mehrere Millionen Assembler-Zeilen von 100ten Programmierern verfaßt). Der Fortschritt gegenüber der zweiten Generation war: 1. Spooling (Simultaneous Peripheral Operation On Line) D.h. unmittelbare Zwischenspeicherung von Aufträgen, die vom Kartenleser direkt auf Platte übertragen wurden. Terminierte ein Auftrag, so konnte das Betriebssystem (ohne Intervention eines Bedieners!) einen neuen Auftrag in einen (jetzt leeren) Speicherbereich laden und bearbeiten. 2. Mehrprogrammbetrieb (Multiprogramming)(siehe Seite 15) Bisher: blieb die CPU bei Zugriffen auf Bandgeräte oder andere E/A-Geräte untätig (Bei langen Jobs ist dies unwesentlich, aber bei vielen kleinen Jobs kann dies zu einem Bottleneck führen) Nun: Durch die Hauptspeicheraufteilung mit je einem Job in jedem Speicherbereich, ist es möglich, daß ein Job die CPU benutzt, während ein anderer Job darauf wartet, daß seine E/A bearbeitet wird. Aber: ein kleiner Fehler kostet viel Rechenzeit, da der Programmierer keinen Zugang zum Programm hat und dieses nicht abbrechen kann (Lösung Dialogbetrieb, siehe Seite 16).

15 Klassifikation von Betriebssystemen Einführung in die Betriebssysteme 1962 entwickelt das MIT das erste Time-Sharing-System (siehe Seite 16; Timesharing: Variante des Mehrprogrammbetriebs, bei der jeder Benutzer online über ein Terminal mit dem Rechner verbunden ist). Es entwickelte sich MULTICS (Multiplexed Information and Computing Service), das aber nur für Forschungszwecke genutzt wurde. Aus MULTICS schrieb Ken Thompson eine abgespeckte Version für Einbenutzersysteme: UNICS (Uniplexed Information and Computing Service). UNICS wurde von Dennis Ritchie (Bell Labs) neu in der Programmiersprache C geschrieben: UNIX entstand. Die Bell Labs vergaben UNIX-Lizenzen kostenlos an UNIs. Bald wurde dieses UNIX auf andere Systeme portiert. 4. Generation: Durch die Entwicklung von LSI (Large Scale Integration) Schaltkreisen mit mehreren 1000en Transistoren auf 1 cm 2 Silizium, konnten Rechner gebaut werden, die extrem Leistungsfähig und (relativ) billig waren: Das Zeitalter der PC (Personal Computer) brach an. Um den Durchbruch in die Masse zu gewährleisten, versuchte die Softwareindustrie benutzerfreundliche Lösungen für Anwender zu schaffen, die sich nicht mit der Hardware und den zugrundeliegenden Technologien beschäftigen wollen. Im wesentlichen haben sich zwei BS-Lösungen etabliert (die heutigen modernen BS sind ausnahmslos Dialogsysteme, siehe Seite 16): MS-Windows (entstanden aus CP/M DOS MS-DOS) UNIX für leistungsfähigere PC s (ab Motorola CPU) Mitte der 80er Jahre: Entwicklung von Netzwerkfähigen Betriebssystemen (Networking Operating System) Die Nutzer wissen von der Existenz mehrerer Rechner und können diese nutzen, um ihre Aufgaben im Netzwerk zu verteilen (z.b. um Daten zu kopieren oder Programme mit RPC- Calls (Remote Procedure Calls) zu benutzen. Dabei hat jeder Rechner sein eigenes Betriebssystem und eigene Benutzer. Entwicklung von verteilten Betriebssystemen. Ein verteiltes Betriebssystem soll dem Benutzer wie ein traditionelles Einprozessorsystem erscheinen, obwohl es auf mehreren Prozessoren abläuft. In einem echten verteilten System wissen die Benutzer nicht, wo ihre Programme ablaufen und die zugehörigen Daten liegen - dies wird durch das Betriebssystem verwaltet nach Anzahl gleichwertig laufender Programme Einzelprogrammbetrieb (single task) (Abarbeitung der Programme nacheinander). Mehrprogrammbetrieb (multitasking, multiprocessing) (Abarbeitung mehrerer Programme gleichzeitig bei mehreren CPUs oder zeitlich verschachtelt (quasiparallel) bei nur einer CPU).

16 Einführung in die Betriebssysteme Klassifikation von Betriebssystemen nach Anzahl gleichzeitig am Rechner arbeitender Benutzer Einzelbenutzerbetrieb (single user mode) Der Computer arbeitet exklusiv für einen Benutzer. Mehrbenutzerbetrieb (multiuser mode) Mehrere Benutzer greifen via Terminals oder Netzwerkverbindungen auf den Rechner zu. Die Verteilung von Rechenzeit an einzelne Benutzer bzw. Jobs kann z.b. in einem Zeitscheibenverfahren (dazu später mehr) geregelt werden. Man spricht dann von Time-Sharing. Mehrbenutzerbetrieb setzt Mehrprogrammbetrieb voraus, aber nicht umgekehrt nach Anzahl der verwalteten Prozessoren/Rechner Hinweis: Es zählen nur Universalprozessoren! Einprozessorsysteme Mehrprozessorsysteme Es existiert keine Forderung an die Koppelung der Prozessoren, aber ihre Zahl muß > 1 sein. Es existieren zwei unterschiedliche Arten der Realisierung von Betriebssystemen für Mehrprozessorsysteme: Weise jedem Prozessor exklusiv eine Task zu. (Koordinierungsproblem, wenn Anzahl Tasks > Anzahl Prozessoren). Jede Task kann jedem Prozessor zugeordnet werden. Falls die Anzahl Tasks > Anzahl Prozessoren, so bearbeiten einige Prozessoren mehrere Tasks quasiparallel; ansonsten können mehrere Prozessoren zur Bearbeitung einer Task (setzt Parallelismus voraus) genutzt werden. Dabei kann das Betriebssystem auf mehreren Prozessoren verteilt sein ( verteiltes Betriebssystem) nach Betriebsart des Rechensystems Man unterscheidet die Betriebssysteme nach den verschiedenen Betriebsarten: Stapelbetrieb (batch processing) Dabei geschieht die Abarbeitung von Rechenjobs ohne Interaktion mit dem Benutzer. Mögliche Szenarien: Tagesendeverarbeitung, Abwicklung des Überweisungverkehrs zwischen Banken, Rechnungsstellung eines Betriebes,.... Die Ein- und Ausgabe werden dabei häufig getrennt zuerst auf Platte zwischengespeichert (sog. Spooling, siehe Seite 14), damit langsame E/A-Geräte (wie Belegleser oder Drucker) die Verarbeitung nicht bremsen. Dialogbetrieb Interaktive Form der Nutzung, z.b. für Online-Eingaben, Textverarbeitung, etc. Durch die langsame Reaktion des Benutzers wird der Rechner nur schwach genutzt. Deshalb bietet es sich an, Dialogbetrieb mit Mehrprogrammbetrieb und ggf. Mehrbenutzerbetrieb zu koppeln. Transaktionssystem Dies ist der Spezialfall eines Dialogsystems für hohen Datendurchsatz (Kurze Antwortzeiten sind eine zentrale Forderung). Beispiele: Flugreservierung, Fahrkartenterminals, Server für Bankautomaten.

17 Architektur eines BS 1.4. ARCHITEKTUR EINES BETRIEBSSYSTEMS single user / single task MS-DOS single user / multiple task alte Windows-Formen (non preemptive) single user / multiple task OS/2, Windows NT,... (preemptive) multiuser / multitasking UNIX,... Distributed Mach multiuser / multitasking Abbildung 1.4: Beispiele zu Betriebsarten von Rechnersystemen Echtzeitbetrieb (realtime processing) Nach oben begrenzte Antwortzeiten, z.b. in technischen Prozessen. Der Begriff preemptiv bezieht sich auf die Fähigkeit des Betriebssystems, den Prozessor einem arbeitenden Programm jederzeit zu entziehen, etwa aufgrund einer Zeitscheibenregelung. Den Vorgang der Prozessorzuteilung nennt man Scheduling. Bei Systemen, die kein preemptive Scheduling können, setzt der Prozessorwechsel zu einem anderen Prozeß den Eintritt eines Warteereignisses für den laufenden Prozeß voraus. Ein solches externes Ereignis, z.b. Erreichen eines Lesebefehls (Tastatur, Platte,...), hat immer eine Abgabe des Prozessors zur Folge (später mehr dazu). 1.4 Architektur eines Betriebssystems Moderne Betriebssysteme sind in mehrere Schichten strukturiert: 1. Erste Schicht: Diese Schicht umfaßt alle hardwareabhängigen Teile eines Betriebssystems (insbesondere Verarbeitung von Interrupts). Sie setzt direkt auf der Rechner-Hardware auf, verwaltet reale Betriebsmittel und stellt statt dessen virtuelle Betriebsmittel bereit. Diese Schicht wird auch als BIOS (Basic I/O System) bezeichnet. Alle weiteren Schichten arbeiten dann hardwareunabhängig. Das Betriebssystem läßt sich dadurch leichter an unterschiedliche Rechnerausstattungen anpassen. 2. Zweite Schicht: Diese Schicht enthält grundlegende E/A Dienste für Plattenspeicher und Peripheriegeräte. 3. Dritte Schicht: Diese Schicht behandelt die Kommunikations- und Netzwerkdienste, Dateien und Dateisysteme. 4. Weitere Schichten je nach Anforderung möglich. Jede Schicht bildet eine abstrakte (virtuelle) Maschine, die mit benachbarten Schichten mittels wohl definierter Schnittstellen kommuniziert. Sie ruft Funktionen in der nächstunteren Schicht auf und stellt selbst Funktionen der nächsthöheren Schicht zur Verfügung.

18 Einführung in die Betriebssysteme Architektur eines BS Die Gesamtheit der Funktionen einer Schicht nennt man Dienste der Schicht. Die Gesamtheit der Vorschriften, die für die Nutzung der Dienste einzuhalten sind, heißen Protokoll. Die modernen Betriebssysteme sind in einer Schichtenarchitektur aufgebaut, wobei man zwischen monolithisch (spez. Windows, OS/2, BS2000, IBM/MVS) oder modular (alle UNIX Varianten) aufgebauten Betriebssystemen unterscheidet. Mit der Frage Ist der Kommandointerpreter austauschbar läßt sich dies leicht beantworten. Als Beispiele für Systemarchitekturen seien aus [Peterson, Silberschatz 85] die OS/2- und die UNIX- Architektur gezeigt: Anwendung Anwendung Anwendung Application Programming Interface API-Erweiterungen Subsystem Subsystem Subsystem Systemkern - Speicherverwaltung - Task Verteilung - Geraeteverwaltung Geräte treiber Geräte treiber Geräte treiber Abbildung 1.5: (monolithische) OS/2 Schichtenarchitektur (aus [Peterson, Silberschatz 85]) Anwender Shell und Kommandos Compiler und Interpreter Systembiliotheken signals terminal handling character I/O terminal drivers Systemaufrufe als Schnittstelle zum BS-Kern file system swapping block I/O disk and tape drivers BS-Kern Schnittstelle zur Hardware CPU scheduling page replacement demand paging virtual memory terminal control. terminals device controllers disk and tapes memory controllers physical memory Abbildung 1.6: (modulare) Unix-Systemstruktur (aus [Peterson, Silberschatz 85])

19 1.5. SYSTEMAUFRUFE Ein weiterer Architekturansatz ist das Konzept des microkernel (Mikrokern), der minimale Funktionalität für Prozessorumschaltung, Hauptspeicherverwaltung und Unterbrechungsbehandlung übernimmt. Alle anderen Aufgaben werden an Dienstprozesse delegiert die untereinander (über das Systems Programmers Interface, SPI, des Mikrokerns) per Botschaftenkonzept miteinander kommunizieren. Die Abbildung 1.7 zeigt die Verwendung eines Mikrokerns zur Realisierung virtueller Maschinen. Anwendung Anwendung Anwendung UNIX als Laufzeitbibliothek VMS als Laufzeitbibliothek Win32 als Laufzeitbibliothek Mikrokern Rechnerhardware Abbildung 1.7: Virtuelle Maschinen auf einem Mikrokernel aufgesetzt Anders als ein normaler Prozeß wird der Mikrokernel nichtblockierend ausgelegt, d.h. seine Betriebszustände sind nur rechnend und bereit, nicht wartend (später dazu mehr). 1.5 Systemaufrufe Dienste des Betriebssystems werden durch einen speziellen Aufrufmechanismus, system call, angefordert, wobei vom user mode in den kernel mode umgeschaltet wird. Nach Beendigung der Dienste wird wieder zurückgeschaltet. UNIX hat als Benutzeroberfläche eine Shell, aus der Benutzer- und Systemprogramme des Betriebssystems gestartet werden. Die Kommunikation zwischen User und Betriebssystem geschieht dabei über E/A-Kanäle.

20 user mode USER Shell 1 USER Shell 2 USER USER USER Programm 1 Programm 2 Programm 3 kernel mode Schnittstellen der obersten BS-Schicht Display Serielle E/A Drucker Maus Dateisystem Platte Floppy CD Netz Speicherverwaltung Prozess- Management Abbildung 1.8: UNIX: user mode / kernel mode

21 Das Prozeßkonzept Kapitel 2 Prozesse Das zentrale Konzept eines jeden Betriebssystems ist der Prozeß. 2.1 Das Prozeßkonzept Im Vergleich zum Prozessor sind E/A-Geräte oft langsam. In der Zeit des Zugriffs auf langsame Geräte steht die CPU still. Um dies zu vermeiden, geht man zu Multiprogramming (Multitasking) über. Beispiel 2.1 Lesen eines Datensatzes Ausführen von 100 Befehlen Schreiben des Datensatzes 15 msec. 1 msec. 15 msec. 31 msec. 1msec. Die CPU Auslastung beträgt 31msec. 3.2%, d.h. mehr als 96% der Zeit verbringt die CPU in diesem Beispiel mit warten auf E/A-Operationen. Beim Multitasking/Multiuser-Betrieb ist die Verteilung der Betriebsmittel auf die Programme von großer Bedeutung, da diese sich nicht gegenseitig blockieren sollen. Dazu muß ein Programm vom Prozessor zu einem beliebigen Zeitpunkt bearbeitet bzw. die Arbeit an diesem Programm unterbrochen werden können. Um das zu gewährleisten, muß zu jedem Programm vermerkt werden, welche Betriebsmittel wie Speicherplatz, CPU-Zeit usw. von ihm benötigt werden. Diese Informationen (wir werden diese später genauer spezifizieren) über benötigte Betriebsmittel für Programme werden auch Prozeß (task) genannt. Gelegentlich sagt man auch: Definition 2.2 Ein Prozeß ist ein sich im Stadium der Ausführung befindliches Programm. Dies beinhaltet: den aktuellen Wert des Programmzählers aktuelle Werte der Register + Variablen (siehe Abb. 2.1) Bei gleichzeitigem Zugriff von zwei Prozessen auf das gleiche Betriebsmittel muß dieser Zugriff koordiniert werden. Dazu ordnet man den Prozessen Zustände zu, die die Koordination herstellen. Die Zuteilung des Prozessors zu einem Prozeß geschieht dabei durch einen sogenannten Scheduler, den wir später genauer betrachten. Dazu beginnen wir mit einer Vorüberlegung:

22 Prozesse Das Prozeßkonzept Prozess Daten Programm Stack CPU Register Prozesskontext Dateiinfo Zugriffsrecht FPU Register Kernel Stack Abbildung 2.1: Prozeßdaten Das 2-Zustands-Prozeßmodell Prinzipiell kann sich ein Prozeß in der Ausführung befinden (also dem Prozessor zugeteilt sein) nicht in der Ausführung befinden (später werden wir die Gründe dafür verfeinern; siehe Kapitel 2.1.3) Wir sprechen hier also nur von den Zuständen running und not running. Dies ist das einfachste Prozeßmodell, das wie folgt aussieht (Abb. 2.2): enter not running dispatchen running exit suspendieren Abbildung 2.2: 2-Zustands-Prozeßmodell Daraus können schon zwei Anforderungen an die Infos zu einem Prozeß abgeleitet werden: der aktuelle Zustand des Prozesses muß beschrieben werden Speicherinformationen bzgl. des Prozesses müssen abrufbar sein (d.h. wo ist der Prozeß gespeichert). Aus der Modellierungssicht müssen Prozesse im Zustand not running in einer Art Warteschleife zwischengespeichert werden, um auf ihre Ausführung zu warten. Dies ergibt folgendes Warteschlangenmodell (siehe Abb. 2.3): Dieses Modell beschreibt auch das Verhalten des Dispatchers: ein Prozeß, der unterbrochen wird, kommt in die Warteschlange oder verläßt bei Abbruch bzw. Terminierung das System.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ü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

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

Betriebssysteme eine Einführung. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at

Betriebssysteme eine Einführung. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at Betriebssysteme eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1 Betriebssystem Was ist das? Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS

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

Vorl. 6: Single- und Multitasking

Vorl. 6: Single- und Multitasking Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme Vorl. 6: Single- und Multitasking Peter B. Ladkin Single Tasking Command Interpreter (ComInt) läuft wartet auf Tastatur-Eingabe

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

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

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

^ 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

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

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

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

Kapitel 2. Betriebssysteme

Kapitel 2. Betriebssysteme Systeme 1 Kapitel 2 Betriebssysteme WS 2009/10 1 Übersicht Aufgabe von Betriebssystemen Historische Entwicklung von Betriebssystemen Unterschiedliche Arten von Betriebssystemen Komponenten und Konzepte

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

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

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

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

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

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

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

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

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

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

Von Prozessen und Prozessoren (Prozess-Management)

Von Prozessen und Prozessoren (Prozess-Management) Von Prozessen und Prozessoren (Prozess-Management) V1.1 Technische Berufsschule Zürich IT Seite 1 Aus dem Geschichtsbuch: Grossrechner IBM 7094, 1965: Online- und Batchbetrieb IBM-Lochkarte Technische

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

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

Embedded-Linux-Seminare. Linux als Betriebssystem

Embedded-Linux-Seminare. Linux als Betriebssystem Embedded-Linux-Seminare Linux als Betriebssystem http://www.embedded-linux-seminare.de Diplom-Physiker Peter Börner Spandauer Weg 4 37085 Göttingen Tel.: 0551-7703465 Mail: info@embedded-linux-seminare.de

Mehr

3. Betriebssystemorganisation

3. Betriebssystemorganisation 3. Betriebssystemorganisation 3.1 Monolithische Betriebssysteme Sammlung von Routinen, ohne Hierarchie, Kapselung und Schichtung. Jede Prozedur kann beliebige andere aufrufen und Datenstrukturen ändern.

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

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

Kapitel I Betriebssysteme: Aufgaben und Überblick Betriebssysteme: VO Betriebssysteme 2

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

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 III. Prozesse. Prozessverwaltung. Was ist ein Prozess?

Kapitel III. Prozesse. Prozessverwaltung. Was ist ein Prozess? Kapitel III Prozessverwaltung 1 Was ist ein Prozess? Prozesse ein exekutierendes Programm (aktive Einheit) ein Prozess benötigt Ressourcen: CPU-Zeiten, Speicher, Files, I/O Systeme Betriebssystem ist verantwortlich

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

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

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

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

Blätter zur Vorlesung Sommersemester 2004. Betriebssysteme. Prof. Dr. P. Schulthess Dr. M. Schöttner & al.

Blätter zur Vorlesung Sommersemester 2004. Betriebssysteme. Prof. Dr. P. Schulthess Dr. M. Schöttner & al. Blätter zur Vorlesung Sommersemester 2004 Betriebssysteme Prof. Dr. P. Schulthess Dr. M. Schöttner & al. Verteilte Systeme, Informatik, Universität Ulm 1. Vorschau 1.1 Einordnung & Organisation Voraussetzungen:

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

Die Mikroprogrammebene eines Rechners

Die Mikroprogrammebene eines Rechners Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.

Mehr

(Prüfungs-)Aufgaben zum Thema Scheduling

(Prüfungs-)Aufgaben zum Thema Scheduling (Prüfungs-)Aufgaben zum Thema Scheduling 1) Geben Sie die beiden wichtigsten Kriterien bei der Wahl der Größe des Quantums beim Round-Robin-Scheduling an. 2) In welchen Situationen und von welchen (Betriebssystem-)Routinen

Mehr

Themenfelder. programmierung programme aufrufe funktionen. UNIX-ähnlicher

Themenfelder. programmierung programme aufrufe funktionen. UNIX-ähnlicher Themenfelder SoS i System programmierung programme aufrufe funktionen in C UNIX-ähnlicher Betriebssysteme SoS ii Datenbanksysteme SoS iii Softwaretechnik 2 Einleitung SoS i, c 2004 wosch [Einleitung.tex,v

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

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

1.1 Zweck. Betriebssysteme. Was leistet ein Betriebssystem? -> Zwei Grundfunktionen:

1.1 Zweck. Betriebssysteme. Was leistet ein Betriebssystem? -> Zwei Grundfunktionen: 1.1 Zweck Was leistet ein Betriebssystem? -> Zwei Grundfunktionen: Erweiterte Maschine: - verbirgt viele kleine, applikationsunabhängige Teilfunktionen - kann einfacher benutzt, d.h. auch programmiert

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

Einleitung Aufbau und Struktur Kommunikation Ein einfacher Treiber. Linux - Der Kernel. Daniela Staritzbichler, Felix Wolfersberger, Bernhard Schauer

Einleitung Aufbau und Struktur Kommunikation Ein einfacher Treiber. Linux - Der Kernel. Daniela Staritzbichler, Felix Wolfersberger, Bernhard Schauer Daniela Staritzbichler, Felix Wolfersberger, Bernhard Schauer 18. Jänner 2008 Übersicht 1 Einleitung Was ist Linux? 2 Aufbau und Struktur Mikro/Monolithischer Kern Der Linux Kernel VFS 3 Kommunikation

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

Redwood Cronacle und REALTECH theguard! Integration

Redwood Cronacle und REALTECH theguard! Integration Redwood Cronacle und REALTECH theguard! Integration Einleitung Redwood Software und REALTECH haben gemeinsam eine Lösung entwickelt, die die Systemverfügbarkeit von SAP und mysap Systemen signifikant erhöht.

Mehr

3. Unix Prozesse. Betriebssysteme Harald Kosch Seite 57

3. Unix Prozesse. Betriebssysteme Harald Kosch Seite 57 3. Unix Prozesse Ein Prozeß ist die Umgebung eines laufenden Programms. Ein bißchen Analogie. Wer kocht gerne? Papa möchte mit Hilfe eines Rezeptes eine Torte für seine Tochter backen. Das Rezept ist das

Mehr

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note:

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note: Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 95 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel

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

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

VIRTUALISIERUNG IN MIKROKERN BASIERTEN SYSTEMEN

VIRTUALISIERUNG IN MIKROKERN BASIERTEN SYSTEMEN Fakultät Informatik Institut für Systemarchitektur, Professur Betriebssysteme VIRTUALISIERUNG IN MIKROKERN BASIERTEN SYSTEMEN Henning Schild Dresden, 5.2.2009 Definition Einführung von Abstraktionsschichten

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

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

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

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

Betriebssystem-Architekturen. Prof. Dr. Margarita Esponda Freie Universität Berlin

Betriebssystem-Architekturen. Prof. Dr. Margarita Esponda Freie Universität Berlin Betriebssystem-Architekturen Prof. Dr. Margarita Esponda Freie Universität Berlin Betriebssystem-Architekturen Monolithische Systeme Mikrokernel-Architekturen Hybride-Architekturen Systeme mit Objektorientierten

Mehr

Einführung in UNIX 1. Das Betriebssystem UNIX ist fähig, mehrere Aufgaben scheinbar gleichzeitig zu erledigen. Dies wird mit Multitasking bezeichnet.

Einführung in UNIX 1. Das Betriebssystem UNIX ist fähig, mehrere Aufgaben scheinbar gleichzeitig zu erledigen. Dies wird mit Multitasking bezeichnet. Einführung in UNIX 1 7 Prozesse Das Betriebssystem UNIX ist fähig, mehrere Aufgaben scheinbar gleichzeitig zu erledigen. Dies wird mit Multitasking bezeichnet. Auf einem UNIX-Rechner können hundert oder

Mehr

Lokales Storage Teil 1

Lokales Storage Teil 1 Lokales Storage Teil 1 Zinching Dang 08. Juli 2015 1 Lokales Storage im Allgemeinen Lokales Storage im Allgemeinen Datenträger, die direkt am Host angeschlossen sind Anbindung über verschiedene Bus-Systeme

Mehr

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick Vorlesung Objektorientierte Softwareentwicklung Sommersemester este 2008 Kapitel 0. Java-Überblick Was sind die Ziele? Warum Java? Komplexe Anwendungen e-business verteilt zuverlässig sicher mobil persistent

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

Übersicht / Geschichte. Übersicht / Geschichte der Betriebssysteme Tanenbaum Kap. 1.1, 1.2, 1.5, 1.7 Stallings Kap. 2.1-2.5 Glatz Kap.

Übersicht / Geschichte. Übersicht / Geschichte der Betriebssysteme Tanenbaum Kap. 1.1, 1.2, 1.5, 1.7 Stallings Kap. 2.1-2.5 Glatz Kap. Übersicht / Geschichte Übersicht / Geschichte der Betriebssysteme Tanenbaum Kap. 1.1, 1.2, 1.5, 1.7 Stallings Kap. 2.1-2.5 Glatz Kap. 1 1 1 Inhalt Lehrziele Geschichtliche Entwicklung Batch Systeme, Multiprogramming,

Mehr

Informatik II. Betriebssysteme. Betriebssysteme. Betriebssysteme. Betriebssysteme. Rainer Schrader. 26. November 2008

Informatik II. Betriebssysteme. Betriebssysteme. Betriebssysteme. Betriebssysteme. Rainer Schrader. 26. November 2008 Informatik II Rainer Schrader Zentrum für Angewandte Informatik Köln 26. November 2008 1 / 73 2 / 73 Gliederung Aufgaben Scheduling Speicherverwaltung ist ein Standardthema in jedem Informatik-Curriculum

Mehr

Military Air Systems

Military Air Systems Trennung von Applikationen unterschiedlicher Kritikalität in der Luftfahrt durch Software en am Beispiel des Real-time Operating Systems PikeOS Dr. Bert Feldmann DGLR Workshop Garching, 09.10.2007 Seite

Mehr

Betriebssystem-basierte Virtualisierung

Betriebssystem-basierte Virtualisierung Betriebssystem-basierte Virtualisierung Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2011/2012 Betriebssystem-basierte Virtualisierung

Mehr

User Level Device Driver am Beispiel von TCP

User Level Device Driver am Beispiel von TCP September 17, 2004 Einleitung Motivation für Userlevel Device Driver Probleme von Userlevel Device Driver Motivation für Userlevel Device Driver Modularität, leichterer Austausch/Erneuerung von Komponenten.

Mehr

VMware als virtuelle Plattform

VMware als virtuelle Plattform VMware als virtuelle Plattform Andreas Heinemann aheine@gkec.informatik.tu-darmstadt.de Telekooperation Fachbereich Informatik Technische Universität Darmstadt Übersicht Einführung VMware / Produkte /

Mehr

Betriebssysteme. Vorlesungsskript WS 2001/2002. Version vom 15. Oktober 2001. Fachbereich Mathematik/Informatik Universität Osnabrück

Betriebssysteme. Vorlesungsskript WS 2001/2002. Version vom 15. Oktober 2001. Fachbereich Mathematik/Informatik Universität Osnabrück Betriebssysteme Vorlesungsskript WS 2001/2002 Jürgen Schönwälder Version vom 15. Oktober 2001 Fachbereich Mathematik/Informatik Universität Osnabrück Vorwort Betriebssysteme sind notwendig, um auf einer

Mehr

1.2 Entwicklungsgeschichte

1.2 Entwicklungsgeschichte 1.2 Entwicklungsgeschichte Begriff Operating System wurde in den 60er Jahren in den USA geprägt und in Deutschland als Betriebssystem übernommen. Zunächst später dann dazu Stapelbetrieb, Teilnehmerbetrieb,

Mehr

TIMI: Technische Informatik für Medieninformatiker

TIMI: Technische Informatik für Medieninformatiker TIMI: Technische Informatik für Medieninformatiker Bachelor-Studiengang Digitale Medien Medieninformatik SS 2004 Niels Pollem Arbeitsgruppe Rechnernetze (Prof. Dr.-Ing. Ute Bormann) Scheduling:

Mehr

1. Einführung. Aufgaben eines Betriebssystems

1. Einführung. Aufgaben eines Betriebssystems 1. Einführung Aufgaben eines Betriebssystems Steuerung der Ausführung der Anwendungsprogramme Schnittstelle zwischen Anwendung und Hardware Verdecken der Hardware; Virtuelle Maschine Libraries (z.b. Sprachumgebungen)

Mehr

Betriebssysteme (1) Ziele und Funktionen von Betriebssystemen. Bequemlichkeit Durch ein Betriebssystem kann ein Computer bequemer genutzt werden

Betriebssysteme (1) Ziele und Funktionen von Betriebssystemen. Bequemlichkeit Durch ein Betriebssystem kann ein Computer bequemer genutzt werden Betriebssysteme (1) Ziele und Funktionen von Betriebssystemen Bequemlichkeit Durch ein Betriebssystem kann ein Computer bequemer genutzt werden Effizienz Durch ein Betriebssystem können Computerressourcen

Mehr

Windows Vista Windows Phone 7

Windows Vista Windows Phone 7 Windows Vista Windows Phone 7 Softwarearchitekturen Referent: Frank Urrigshardt Übersicht Windows Vista Historische Entwicklung Programmierung NT Programmierschnittstelle Win32 Programmierschnittstelle

Mehr

Betriebssystemschichten (11.03.2011)

Betriebssystemschichten (11.03.2011) Proseminar Speicher- und Dateisysteme (11.03.2011) Bernd Ihnen 1 Übersicht 2/20 Einleitung Betriebssysteme/ Übersicht Mikrokernel Monolithischer Kernel Vergleich der Kernel Fallbeispiel Linux Kernelaufbau

Mehr