Betriebssysteme Unterlagen zur Vorlesung Seite 1 Wintersemester 2014/15

Größe: px
Ab Seite anzeigen:

Download "Betriebssysteme Unterlagen zur Vorlesung Seite 1 Wintersemester 2014/15"

Transkript

1 Seite 1 Wintersemester 2014/15 Inhaltsverzeichnis 1 Einführung Zweck eines Betriebssystems Hochlauf eines Computers Die Bedeutung von Programmunterbrechungen Architektur von Betriebssystemen Schichtengliederung: Funktions- und Abstraktionsebenen Realisierungsformen Monolithische Architektur Microkernel Vergleich beider Architekturen 10 2 Prozesse (Tasks) und Threads Prozesse als virtuelle CPU Prozesserzeugung Repräsentation von Prozessen im Betriebssystem Prozesszustände Lebenszyklus eines Prozesses Ereignisorientierter Prozesszustandswechsel CPU-Zuteilung (Prozess-Scheduling) Mögliche Scheduling-Strategien Fallbeispiel Prioritätsgesteuertes FIFO-Scheduling Threads Mehrprozessorsysteme 21 3 Probleme der Nebenläufigkeit Prozesssynchronisation Kritische Abschnitte Problemlösungsversuch mit Sperrvariablen Problemlösungsversuch Unterbrechungssperre Problemlösung Semaphor (Dijkstra 1965) Monitore, Clients und Server für kritische Abschnitte Interprozesskommunikation Basismechanismus Höhere Formen der Prozesskommunikation Pipes und Fifos POSIX Message Queues Socket-Programmierung: Prozesskommunikation über TCP/IP "Ada-Rendezvous" Verklemmungen (Deadlocks) Modellbeispiele Ressourcenzuordnungsgraph Entdecken, Behandeln und Vermeiden von Verklemmungen Deadlock-freie Server-Server-Kommunikation 36 4 Arbeitsspeicherverwaltung Der reale Adressraum Reale Adressierung und Speicherzuteilung.. 40 Speicherplatzzuteilung bei realer Adressierung Logische Adressierung Segmentierung Paging Kombiniertes Paging mit Segmentierung Assoziative und invertierte Seitentabellen Auslagerungsstrategien bei virtuellem Speicher Globale Strategien Bedarfsbezogene Auslagerungsstrategie (Demand Paging) Working Sets Ein- und Ausgabe (in Bearbeitung) Einbettung in eine abstrakte Computerstruktur Blockschema eines abstrakten E/A-Bausteins ohne DMA Organisationsmodell der E/A-Grundtypen DMA Ein-Ausgabesystem in Dreischichten-Architektur ("Middleware") Dateisystem Prozesse bzw. Funktionen des Dateisystems Anwendersicht (Abstraktion) Speichergeräte-Controller Speicherorganisation FAT.. 60

2 Seite 2 Wintersemester 2014/ ext2 ("Second Extended Filesystem", Linux) NTFS (New Technology File System, Windows) Besondere Dateitypen Spezialdateien (Systemressourcen) Executable-Format Rechte und Attribute, Benutzerverwaltung Netzwerke und verteilte Systeme. 65

3 Seite 3 Wintersemester 2014/15 1 Einführung 1.1 Zweck eines Betriebssystems Was erwarten wir von einem "guten" Betriebssystem? automatischen Systemstart stabiles und sicheres Laufzeitverhalten effiziente Ressourcennutzung (CPU, Speicher, Adressraum) Parallelbetrieb: Programme, Anwender Rechteverwaltung und Schutzmechanismen komfortable Ressourcenverwaltung produktive Nutzeroberfläche: GUI produktive Programmierschnittstelle: Bibliotheken, Builder für GUI-Anwendungen gute Unterstützung bei Änderung/Erweiterung der Hardware Langlebigkeit bzw. investitionsfreundlicher Lebenszyklus Unterstützung spezieller Zielsystemanforderungen: Echtzeit, Mobilität, GUI, Embedded-Einsatz Wie definiert die akademische Lehre die Anforderungen an ein Betriebssystem? Aktuelle Betriebssysteme: zum universellen Einsatz MS Windows ("IBM-PC" mit CPU 80x86) UNIX (BSD, System V) Solaris Linux z/os (IBM-Großrechner, Vorgänger: OS/390) (Quelle: Plate, TU München) für Embedded- und Echtzeit-Anwendungen: QNX LynxOS Linux-Erweiterung: RTLinux, RTAI Windows CE Windows-Erweiterung: VxWorks für mobile Zielgeräte: Mobile Linux Palm OS RIM Windows Mobile, Windows RT

4 Seite 4 Wintersemester 2014/ Hochlauf eines Computers Wird in der Vorlesung behandelt. 1.3 Die Bedeutung von Programmunterbrechungen Programmunterbrechungsanforderungen, kurz Unterbrechungen, unterbrechen den normalen Programmfluss. Dieser entsteht, indem die CPU die Speicheradresse eines jeden neuen Befehls auf vereinbarte Weise bestimmt, um ihn dann zu laden und auszuführen. Bei Sprungbefehlen wie if, while, goto ist die Adresse des Folgebefehls ein Operand. Bei Prozeduraufrufen kommt zusätzlich ein Retten des CPU-Kontexts hinzu, womit die Menge derjenigen Register gemeint ist, deren Inhalte für Programmfortsetzung nach Rückkehr aus der Prozedur wichtig sind. Unterbrechungen wirken ähnlich wie Prozeduraufrufe, werden aber nicht immer vom laufenden Programm ausgelöst. Unterschiede zu Prozeduraufrufen sind: Nicht das gerade laufende Programm, sondern die CPU bestimmt die Prozedur, die den Programmfluss fortsetzt. Im Fall eines Interrupt Request ("Hardwareunterbrechung") bestimmt die Hardware des Rechners indirekte die aufzurufende Prozedur, und nicht eine Funktion des laufenden Programms. Der Zeitpunkt einer solchen Unterbrechung und die Synchronität zur laufenden Programmausführung sind dabei nicht voraussehbar. Im Betriebsablauf eines Computers ist es gelegentlich nötig, die Programmausführung eines Prozesses zu unterbrechen, damit Ereignisse (engl. events) bearbeitet werden können. Beispiele für solche Ereignisse sind a) Betriebszustandswechsel eines Peripheriegeräts oder Interfaces, auf dessen Dienste die laufende oder einen anderen Prozess wartet. b) Anfordern eines Hardwaresystemdienstes durch den laufenden Prozess. c) Schwerwiegende formale Ausführungsfehler des Programms. Zu a): Auslöser einer Unterbrechung sind hier Baugruppen des Rechners. Das Ereignis nennt man Interrupt Request, abgekürzt IRQ, also eine Unterbrechungsanforderung der Hardware. IRQs werden über dafür vorgesehene Bussignale (auf Steuerleitungen des Systembusses) an die CPU geschickt. Interrupt Requests (kurz Interrupts) kommen typischerweise zum Einsatz, um die Aktivität von Peripheriegeräten mit dem Ablauf betroffener Programme zu synchronisieren. So könnte die Hardware eines Festplatteninterface per Interrupt Request der CPU melden, dass ein neuer Block angeforderter Daten gerade bereitgestellt worden ist. Die CPU unterbricht daraufhin den momentan laufende Prozess und startet die zuständige Interrupt Service Routine (Abk. ISR). Diese holt dann die Daten aus dem Speicherbereich des Festplatteninterface ab und leitet deren Weiterverarbeitung ein, z.b. indem sie die Prozessverwaltung des Betriebssystems veranlasst, denjenigen Prozess in einen laufbereiten Zustand zu versetzen, der bisher blockier auf das Eintreffen der Daten gewartet hat. Interrupts befreien auf Daten wartende Programme davon, das Eintreffen der Daten per Programm abzufragen: es ist kein Polling nötig. Zu b): Wenn ein Prozess eine Trap-Instruktion (kurz Trap) ausführt, führt er damit gezielt seine eigene Unterbrechung herbei. Wie bei den IRQs unter bewirken auch Traps den Start einer ISR. Sinnvoll ist das z.b. nachdem ein Prozess ein Eingabeinterface auf Empfangsbereitschaft parametriert hat und nun eine nicht genau bestimmbar lange Zeit auf das Eintreffen der gewünschten Daten wartet. Die Behandlung dieser Unterbrechung besteht u.a. darin, dass das Betriebssystem einerseits aufgefordert wird, den Zustand des Prozesses auf "blockiert" zu setzen ( Prozessverwaltung). Andererseits wird das Betriebssystem davon informiert, dass eine bestimmte IRQ später die Nachricht liefern wird, dass die Daten nun eingetroffen sind. Daraufhin soll der Prozess wieder in den laufbereiten Zustand versetzt werden, s.o. bei der Beschreibung des IRQ.

5 Seite 5 Wintersemester 2014/15 Zu c) Charakteristische Anwendung von Traps ist die Benachrichtigung des Betriebssystems von der Notwendigkeit einer Prozesszustandsänderung. Konkrete Einsatzvarianten sind neben der Geräte-E/A u.a. Semaphoroperationen und die Interprozesskommunikation. Auch bei einem Einprogrammbetrieb (Single Task), z.b. unter DOS, spielen Traps eine wichtige Rolle: es gibt dort keine parallel zur Anwendung existierenden Systemprozesse. Ein Anwendungsprogramm beauftragt einen gewünschten Systemdienst über die zuständige Trap-Instruktion. Daraufhin übernimmt die zur Trap gehörende ISR die Ausführung des Systemdiensts. Im Normalfall sind Traps in der benutzten höheren Programmiersprache nicht direkt erkennbar. Sie stecken innerhalb der vom Anwenderprogramm aufgerufenen Systemfunktionen. Fall c) stellt eine Betriebsausnahme dar und wird Exception genannt. Sie entsteht durch Fehler, die zur Programmier- und Compilierzeit nicht absehbar sind. Beispiele: Division durch Null Zeigeroperation an hardwaretechnisch unerlaubter Adresse Overflow oder Underflow in Gleitkommaoperationen Die folgende Tabelle fasst die drei Unterbrechungstypen zusammen. Unterbrechungstyp Anfordernde Stelle Ursache Beispiele Interrupt Request (IRQ): Hardwareunterbrechung Baugruppen des Rechners (Interfaces, Gerätecontroller) Setzen eines IRQ-Signals auf dem Systembus Angeforderte Daten von sind von einem externen Gerät eingetroffen Gerät ist bereit zur Annahme neuer Aufträge Trap: Softwareunterbrechung der laufende Prozess Ausführung einer TRAP-Instruktion Der Prozess soll blockiert auf das Ergebnis eines von ihr beauftragten Diensts warten. Exception: Ausnahmebehandlung die CPU Fehler in der Befehlsausführung ungültige Instruktion Division durch 0 unerlaubte Adressierung (Zeiger!) Overflow / Underflow bei Gleitkommarechnungen Bei einer vektorisierten Unterbrechung geschieht immer folgendes: (a) Der Prozessor beendet den aktuellen Befehl. (Der Befehlszyklus selbst ist nicht unterbrechbar!) (b) Nur im Fall eines IRQ quittiert er die Unterbrechungsanforderung und wartet auf die Unterbrechungsvektornummer der anfordernden Hardwarebaugruppe. (c) Durch Nachschlagen in der Unterbrechungsvektortabelle bestimmt der Prozessor aus Trap- oder Exceptionnummer bzw. Unterbrechungsvektornummer die Startadresse der Interruptserviceroutine (ISR). Die ISR ist die Prozedur, die das Unterbrechungsereignis verarbeiten soll. (d) Der Prozessor rettet den CPU-Kontext des unterbrochenen Prozesses in dessen Stack, merkt sich den Stack Pointer in der Prozesstabelle und bearbeitet die ISR. (e) Nach Beendigung der ISR durch einen return from interrupt - Befehl entscheidet die Prozessverwaltung, ob der unterbrochene Prozess fortgesetzt werden soll, oder ob eine Umschaltung auf einen anderen Prozess vorgenommen wird. (f) Der CPU-Kontext des nächsten Prozesses wird wiederhergestellt, und dessen Programm wird fortgesetzt. Das oben erwähnte Zusammenspiel zwischen Trap und Interrupt z. B. bei der blockierenden Ein- und Ausgabe soll hier im Einzelnen erklärt werden: (1) Das Programm eines laufenden Prozesses ruft eine E/A-Funktion auf mit einem Leseauftrag auf. (2) Die E/A-Funktion parametriert das entsprechende Geräteinterface für die gewünschte Leseoperation. (3) Die E/A-Funktion führt eine Trap aus. Die CPU unterbricht den Prozess und startet die zugehörige ISR.

6 Seite 6 Wintersemester 2014/15 (4) Diese bereitet das Betriebssystem auf den irgendwann eintreffenden Interrupt Request (IRQ) vor, mit dem das Interface anzeigt, dass die geforderten Daten bereitstehen. (5) Der Betriebssystemkern überprüft die geänderten Prozesszustände und führt eine CPU-Umschaltung auf den nächsten laufbereiten Prozess aus; weitere hier nicht betrachtete Umschaltungen auf andere Prozesse folgen. (6) Nach einer Dauer, die wesentlich von äußeren Faktoren bestimmt ist, hat das Interface die angeforderten Daten empfangen und erzeugt einen Interrupt Request (IRQ). (7) Die CPU startet die ISR zu diesem IRQ. Diese sorgt für die Übergabe der Daten und für die Änderung des Prozesszustands bei dem Prozess, der die Daten angefordert hatte, so dass dieser laufbereit wird. (8) Ab dem nächsten Prozessscheduling kann der Prozess sein Programm fortsetzen, falls kein anderer Prozess mit höherer Priorität dann ebenfalls laufbereit ist. Andernfalls muss dieser Prozess laufbereit auf Zuteilung der CPU warten, bis alle Prozesse mit höherer Priorität bzw. mit besseren Plätzen in der Warteschlange der eigenen Priorität im Sinne der Regeln des Scheduling bearbeitet sind. Der beschriebene Ablauf der Punkte 1. bis 8. soll im folgenden Sequenzdiagramm anschaulich gemacht werden: anfordernder Prozess andere Prozesse B.S. mit Scheduler ISR der TRAP ISR des IRQ TRAP Interface 6 mit Umschaltlatenzzeit Ausführungszeit IRQ Zeit Nicht nur die Standardfunktionen z.b. der Ein- und Ausgabe nutzen intern diesen Mechanismus des Zusammenspiels von "Softwareunterbrechung" (Trap) bei der Anforderung eines Gerätediensts und "Hardwareunterbrechung" (IRQ) bei Abschluss der Erbringung des Diensts. Anstelle wiederholten Abfragens nach Beauftragung warten die Funktionen auf die "Benachrichtigung" durch den IRQ der Schnittstelle, von der sie Eingabedaten angefordert haben. In etwas verändertem Ablauf kommen IRQ auch bei Ausgabeoperationen zum Einsatz, was im Kapitel zum Thema Ein- und Ausgabe weiter unten erklärt wird. Der ereignissynchronisierte Mechanismus der Interprozesskommunikation z.b. über das Ada-Rendezvous (Send, Receive/Reply) beruhen, ebenso wie Semaphore, auf Traps. Das Prozessscheduling funktioniert überhaupt nur, weil es Unterbrechungen gibt. Bei einfachen Systemen mit präemptiver Prozessumschaltung wird der Scheduler als ISR durch den IRQ eines zyklisch ablaufenden Zeitgebers aufgerufen. Systeme mit rein kooperativer Prozessumschaltung (wie das alte MS-Windows 3.11) müssen sich hingegen auf die "Höflichkeit" der Programme verlassen, von denen verlangt wird, dass sie zyklisch eine Trap (via Windowsfunktion) aufrufen, die den Scheduler startet. Tun sie das nicht, kommt das Betriebssystem zum Stillstand. Echtzeitbetriebssysteme nehmen jede einzelne Unterbrechung zum Anlass, die Prozesszustände zu aktualisieren und den Scheduler aufzurufen, gleichgültig, ob es sich um Trap, IRQ oder Exception handelt, und unabhängig davon, was sie ausgelöst hat. Hier führt jede ISR automatisch erst zur Prozessverwaltung, bevor eine Rückkehr zur Ausführung der Anwenderprogramme folgt.

7 Seite 7 Wintersemester 2014/ Architektur von Betriebssystemen Schichtengliederung: Funktions- und Abstraktionsebenen Logische Schichten "virtueller Maschinen" in UNIX: Dienst- und Anwendungsprogramme P3 M2 Speicherverwaltung Dateiverwaltung P2 Betriebssystem M1 Geräteneutrale E/A Gerätetreiber Taskverwaltung P1 M i P i Interface / Abstraktion Funktionelle Schicht Hardware M0 P0 Schichten in Windows XP: Quelle: Wikipedia Realisierungsformen Programmaufrufe sind auf einer Zielhardware unmittelbar nach dem Starten nur über Unterbrechungsanforderungen möglich, d.h. in dieser Phase des Betriebs funktioniert das Betriebssystem als Verbund von Interrupt-Serviceroutinen (Abk. ISR). Ein Betriebssystem besteht auch im späteren Betrieb zumindest teilweise aus einer Menge von ISR, dem sog. Kernel. Sind alle ISR abgearbeitet und treten keine neuen IRQ, Traps oder Exceptions auf, kann "das Anwenderprogramm" ausgeführt werden. Je nach der Aufteilung der Funktionen eines Betriebssystems auf ISR (Kernel) einerseits und Anwenderprogramme (Prozesse) andererseits spricht man von monolithischer Architektur und Microkernel-Architektur.

8 Seite 8 Wintersemester 2014/ Monolithische Architektur Der Grundarchitektur des Startsystems folgend lässt sich das gesamte Betriebssystem als Kernel realisieren: es ist dann eine Menge vom ISR. Anwenderprogramme oder Konsolenkommandos rufen Funktionen des Betriebssystems über Traps auf. Diese sind im Code der Standardfunktionen bzw. Konsolenkommandos enthalten. Erweiterungen der Hardware offener Systeme, wie PC/x86, ziehen in monolithischen Architekturen die Erweiterung des Kernel um entsprechende Treiberfunktionen nach sich. Im Laufzeitverhalten, insbesondere bei Fehlern in solchen Erweiterungen, wird potentiell die Stabilität des Betriebssystems beeinträchtigt. Die Auswirkungen betreffen zur gleichen Zeit alle Anwendungsprogramme. Speicher Anwendung Trap Dienst A Trap Dienst B Trap Dienst C Kommandoprozessor Kernel ISR Dienst A ISR Dienst B ISR Dienst C Interruptverktortabelle Quelle: Jäger, FH Gießen)

9 Seite 9 Wintersemester 2014/ Microkernel Moderne Betriebssysteme halten den Kernel (Menge der ISR) klein. Außer den Funktionen, die beim Systemstart nötig sind, enthält er im Idealfall nur die Funktionen, die nicht anders als durch ISR realisiert werden können. Das sind, z.b. die maschinennahen Funktionen der Ein- und Ausgabe, die von IRQ ("Hardware-Interrupts") aufgerufen werden, oder zeitgesteuerte Funktionen, die ein Zeitgeber-IRQ aufruft. In Multitask-Betriebssystemen oder Multithreading-Programmanwendungen sind es weiterhin die Funktionen, mit denen die Zuteilung oder der Entzug des Prozessors für Prozesse oder Threads. Alle anderen Komponenten des Betriebssystems werden durch Programme dargestellt, die sich im Ausführungsmodus nicht von Anwenderprogrammen unterscheiden. Speicher Anwendung Trap IPC(Dienst A anfordern) Trap IPC (Dienst B anfordern) Trap IPC (Dienst C anfordern) Kommandoprozessor Dienst A Trap IPC Dienst B Trap IPC Dienst C Trap IPC Kernel ISR IPC (Quelle: Jäger, FH Gießen) Interruptverktortabelle

10 Seite 10 Wintersemester 2014/ Vergleich beider Architekturen wird in der Vorlesung behandelt.

11 Seite 11 Wintersemester 2014/15 2 Prozesse (Tasks) und Threads 2.1 Prozesse als virtuelle CPU Prozesse (Tasks) sind nicht Programme, sondern Prozesse führen Programme aus. Prozesse sind vom Betriebssystem bereitgestellte virtuelle Prozessoren: Programm W Programm X Programm Y Programm Z Laden Virtuelle Prozessoren Prozess A Prozess B Prozess C Prozess D Betriebssystem Ein-Ausgabe Task-Verwaltung Prozess-Scheduler Speicherverwaltung Nutzerdefinierte Erweiterungen (z.b. für zusätzl. Ein-Ausgabe Dateiverwaltung Zeitverwaltung Echtzeituhr 1 realer Prozessor CPU 2.2 Prozesserzeugung Wirkungsschema einer Prozesserzeugung: Muttertask Kindtask fork(); Aufspaltung der Muttertask in "Mutter und Kind" t Kindtask als Kopie der Muttertask Muttertask execl(); Programmumwandlung der Kindtask Kindtask mit eigenem Programm

12 Seite 12 Wintersemester 2014/15 Situation im Arbeitsspeicher: Code IP fork() Mutter Adresse Daten Vor der Taskerzeugung 1 IP Code fork() Mutter IP Code fork() Mutter Daten Daten IP Code fork() Daten Kind vor der Programmumwandlung = Kopie des Mutterspeichers IP Code Daten Kind nach der Programmumwandlung Adresse Adresse Nach der Taskerzeugung, vor der Programmumwandlung 2 Nach der Taskerzeugung, nach der Programmumwandlung 3 Ein Programmbeispiel folgt.

13 Seite 13 Wintersemester 2014/15

14 Seite 14 Wintersemester 2014/15 Der execlp - Parameter pterm bezeichnet hier die Shell ("Eingabeaufforderung") in der GUI des Zielbetriebssystems QNX. Der Kindprozess dieses Beispiels führt diese grafische Shell aus. Dessen Kind, also der Enkelprozess des Beispiels, führt das Programm aus, dessen Name im Parameter progname übergeben worden ist. 2.3 Repräsentation von Prozessen im Betriebssystem CPU Speicher Prozesstabelle Daten- und Adressregister, "CPU-Kontext" Befehle und Daten des Programms Datenstruktur der Betriebssystemkomponente Prozessverwaltung Kenngrößen der Prozesstabelle je Prozess: Priorität, Zustand, "Kinder", "Mutter", belegter Speicher, offene Dateien, zugeordnete IRQ, weitere Ressourcen wird in der Vorlesung behandelt. Zu einem beliebigen Betriebszeitpunkt eines Multitaskbetriebssystems gilt N Prozesse sind im Arbeitsspeicher geladen N Prozesse werden in der Prozesstabelle des Betriebssystems geführt Davon 1 Prozess ist im Besitz der CPU (führt sein Programm aus) Prozessumschaltung; Bedeutung des CPU-Kontexts: IP CPU Code Daten Stack Code momentan ausgeführter Befehl Task A im Besitz der CPU nächster Befehl nach Übernahme der CPU Im Stack gemerkter Zeiger Daten Stack Task B wartet auf die CPU Szenario 1 Adresse Repräsentation von Prozessen im Arbeitsspeicher vor dem Taskwechsel

15 Seite 15 Wintersemester 2014/15 IP CPU Code Daten Stack Code Task A wartet auf die CPU nächster Befehl nach Übernahme der CPU momentan ausgeführter Befehl Daten Stack Task B im Besitz der CPU Szenario 2 Adresse Repräsentation von Prozessen im Arbeitsspeicher nach dem Prozesswechsel 2.4 Prozesszustände Lebenszyklus eines Prozesses (5) wartend (8) nicht existent (1) laufbereit (2) (3) (4) (7) laufend (6) (9) beendet Zustände und Zustandsübergänge von Tasks (1) Erzeugung des Prozesses durch die Prozessverwaltung: der Prozess wartet laufbereit auf Zuteilung der CPU. (2) Zuteilung der CPU durch den Prozess-Scheduler: der Prozess führt sein Programm aus. (3) Der Prozess-Scheduler unterbricht die Programmausführung, weil ein anderer Prozess mit höherer Priorität laufbereit wird oder weil die Zeitscheibe abgelaufen ist: der Prozess wartet laufbereit auf erneute Zuteilung der CPU.

16 Seite 16 Wintersemester 2014/15 (4) Unterbrechung durch die Befehlsausführung des Prozesses selbst: Befehle mit blockierender Wirkung heben die Laufbereitschaft des Prozesses auf. Die CPU kann einem anderen laufbereiten Prozess zugeteilt werden. Der unterbrochene Prozess wird bei der CPU-Zuteilung nicht berücksichtigt. (5) Ein Ereignis, das der Prozess seit dem Übergang (4) erwartet, ist eingetreten (z.b. Ablauf einer eingestellten Wartezeit): die Prozessverwaltung versetzt den Prozess in lauffähigen Zustand; der Prozess wird wieder bei der CPU-Zuteilung berücksichtigt. (6) Die Prozesserreicht das Ende seines Programms oder wird durch ein kill - Signal beendet. (7) oder (8) Der Prozess wird durch ein kill - Signal beendet. (9) Das Betriebssystem zieht die vom Prozess belegten Speicherbereiche sowie alle anderen Ressourcen ein und löscht seinen Eintrag in der Prozesstabelle; dies geschieht i.d.r. erst bei Start eines neuen Prozesses. Darstellung einer Prozesstabelle: wird in der Vorlesung behandelt Ereignisorientierter Prozesszustandswechsel Ursachen für Prozesszustandswechsel: Aufrufe von Standardfunktionen für Ein- und Ausgabe Zeitaufrufe Interprozesskommunikationsaufrufe (Send/Receive usw.) Erläuterung am Beispiel einer Eingabe anhand eines Sequenzdiagramms: Eingabe wird angefordert laufende Task andere Tasks Reaktion des B.S. Taskscheduler des B.S. Reaktion des B.S. Interface Eingabe ist vollständig eingetroffen Zeit Ablauf einer blockierenden Eingabe (1) Der Prozess tritt in eine blockierende Eingabefunktion ein (Normalfall). (2) Die Eingabefunktion parametriert das Interface.

17 Seite 17 Wintersemester 2014/15 (3) Die Eingabefunktion ruft eine Trap ("Softwareunterbrechung") auf. (4) Die CPU führt die Behandlungsfunktion dieser Trap aus. Nach deren Rückkehr startet läuft die Prozessverwaltung und aktualisiert die Prozesszustände. "Unser" Prozess wird nun als "blockiert auf Ereignis " geführt. (5) Das Prozessscheduling teilt die CPU nacheinander anderen, laufbereiten Prozessen zu, während das Eingabeinterface auf die Peripherie wartet (s. Computerstruktur). (6) Das Eingabeinterface benachrichtigt die CPU mit einem Interrupt Request (IRQ, "Hardwareunterbrechung") über die fertig empfangene Eingabeinformation. (7) Die Behandlungsfunktion des IRQ übernimmt die Eingabedaten und führt in die Prozessverwaltung, die den Prozesszustand aktualisiert. "Unser" Prozess ist wieder laufbereit und wartet auf Zuteilung der CPU. (8) Nach einer von Anzahl, Priorität und Zustand anderer Prozesse abhängigen Latenzzeit wird unserem Prozess die CPU zugeteilt. 2.5 CPU-Zuteilung (Prozess-Scheduling) Mögliche Scheduling-Strategien Zeitscheibenverfahren Fairness Deadline Prioritäten Abwägung: Aufwand zur Laufzeit einerseits Anwendungsgerechte CPU-Zuteilung andererseits "mittlere Strategie" durch prioritätsgesteuertes Scheduling: FIFO Warteschlange Zeitkontrolle Prioritätsdekrement Erklärungen folgen in der Vorlesung Fallbeispiel Prioritätsgesteuertes FIFO-Scheduling Priorität Systembereich Anwenderbereich J 12 E I 10 A B C D F G H Nichtblockierte Tasks: Zustand "laufend" und "laufbereit" Blockierte Tasks: Zustand "wartend" 0 IDLE Ausgangssituation eines FIFO-Scheduling mit Prozessprioritäten und -warteschlangen

18 Seite 18 Wintersemester 2014/15 Priorität Systembereich Anwenderbereich J 12 I E 10 A B C D F G H Nichtblockierte Tasks: Zustand "laufend" und "laufbereit" Blockierte Tasks: Zustand "wartend" 0 IDLE Kooperativer Prozess-Wechsel durch das Programm der Prozesses E Priorität Systembereich Anwenderbereich J 12 I E 10 B C D F G H A Nichtblockierte Tasks: Zustand "laufend" und "laufbereit" Blockierte Tasks: Zustand "wartend" 0 IDLE Kooperativer Prozesswechsel durch das Programm der Prozesses A

19 Seite 19 Wintersemester 2014/15 Priorität Systembereich Anwenderbereich J 12 E I 10 B C D F G H A Nichtblockierte Tasks: Zustand "laufend" und "laufbereit" Blockierte Tasks: Zustand "wartend" 0 IDLE Verdrängender (präemptiver) Prozesswechsel nach Eintreten der Laufbereitschaft für Prozess E Priorität Systembereich Anwenderbereich J 12 E I 10 B C D F G H A Nichtblockierte Tasks: Zustand "laufend" und "laufbereit" Blockierte Tasks: Zustand "wartend" 0 IDLE Zustandswechsel des Prozesses F von "wartend" (blockiert) in "laufbereit" ohne Prozesswechsel Beim verdrängenden Scheduling mit Prioritäten entsteht das Problem der Prioritätsinversion, es wird in der Vorlesung erklärt.

20 Seite 20 Wintersemester 2014/ Threads Threads sind zueinander parallel ablaufende Teile eines Prozesses, d.h. sie stellen prozessinterne Parallelität dar. Zustandsübergänge laufbereit laufend wartend etc. im Prinzip wie bei Prozessen. Dabei gilt ohne besondere Extras (z.b. Shared Memory) die gemeinsame Nutzung des Speichers. Implementierung möglich über Koroutinen einer Programmiersprache. 1 Prozess keine programmierten Threads kein Multithreading 1 Prozess 2 programmierte Threads Multithreading anwenderprogrammiert 1 Prozess 2 programmierte Threads Multithreading durch Betriebssystem Prozess A Prozess B Prozess C User Code Stack Daten Code Stack Daten Code Stack Daten Thread B.1 Thread B.2 User Thread User Thread Thread C.1 Thread C.2 Kernel Thread Kernel Thread Kernel Thread Kernel Thread Kernel Prozessverwaltung + Scheduler User-Threads nutzen Code, Daten, Stack und IP ihres Prozesses gemeinsam. Das Betriebssystem teilt die CPU nur dem Prozess zu, der quasi wie 1 Kernel Thread behandelt wird. Multithreading, d.h. Zuteilung der CPU an mehrere Threads, muss im Code des Anwenderprogramms ausgeführt werden. Kernel Threads haben jeweils einen eigenen Stack und IP. Das Betriebssystem bezieht Threads in die CPU-Zuteilung ein. Vorteile gegenüber Prozessen: Gemeinsame Bearbeitung derselben Daten ist ohne Shared Memory z.b. über globale Datenobjekte sehr einfach realisierbar. CPU-Zuteilung benötigt keinen Wechsel des Prozesskontexts. Nachteil: o Der gemeinsame Adressraum bietet keinen Schutz vor fehlerhaftem Code eines Thread. Nicht alle Betriebssysteme unterstützen Multithreading. In diesen Systemen kann es nur über das Anwenderprogramm erfolgen. Auch in Zielbetriebssystemen ohne Multitasking können Anwendungsprogramme mit User Threads ablaufen, falls es eine Entwicklungsumgebung für die Programmierung mit Threads gibt. Threads sind sinnvoll, wo 1 Datenobjekt parallel bearbeitet werden soll, z.b. bei numerischen Verfahren mit parallelen Algorithmen, oder bei GUI. Hier wartet ein Programm auf die Dateneingabe des Benutzers und führt gleichzeitig die Anzeige aktualisierter Daten aus. Die Aktualisierung angezeigter Daten darf weder durch blockiertes Warten auf Benutzereingabe verzögert werden, noch umgekehrt.

21 Seite 21 Wintersemester 2014/ Mehrprozessorsysteme SMP (Symmetrisches Multiprocessing): mehrere CPU nutzen einen gemeinsamen Adressraum des Arbeitsspeichers. Asymmetrisches MP: jede CPU hat ihren eigenen Adressraum. SMP, die vorherrschende Technik lokaler MP-Systeme, erlaubt es, die Prozesse (Tasks) dynamisch auf alle verfügbaren CPU verteilen. Probleme beim Wechsel der Prozessausführung von CPU zu CPU ("CPU Hopping"): a) Systembus kann zum Flaschenhals werden. b) Nutzung des CPU-Cache wird fraglich: "Cache Thrashing", verstärkt Problem a) Lösung: Non-Uniform Memory Architecture (NUMA). d.h. verteilter gemeinsamer Speicher. Konsistenz der CPU-Caches: durch sog. cache-coherent NUMA (ccnuma). Realisiert über Inter-CPU-Kommunikation der jeweiligen Cache-Controlle, sie sichern konsistente Speicherabbilder, falls gleiche Speicherstellen in mehr als einem Cache gemerkt sind. Schlechte Performance, wenn mehrere CPU schnell nacheinander auf dieselbe Speicherstelle zugreifen. B.S. mit NUMA-Unterstützung minimiert/vermindert die Häufigkeit solcher Zugriffe, indem Prozessoren und Speicher den Prozessen (Tasks) bzw. Threads möglichst NUMA-freundlich zugeordnet werden.

22 Seite 22 Wintersemester 2014/15 3 Probleme der Nebenläufigkeit Nutzen einer Programmparallelisierung: 3.1 Prozesssynchronisation Kritische Abschnitte (Quelle: Tanenbaum) Beispiel Druckwarteschlange (nach Tanenbaum): Task A Task B Druckertask aktueller Druckauftrag X Y Z neuer Druckauftrag Druckauftragswarteschlange drucken Drucker _druckaus = 4 _druckein = 7 Sequenzdiagramm einer unsicheren Situation:

23 Seite 23 Wintersemester 2014/15 _druckein = Task A Task B 7 7 Merker a := _druckein Taskumschaltung 7 Merker b := _druckein 8 _druckein := 8 Druckdatei := B _druckein := b + 1 weitere Programmoperationen weitere Taskumschaltungen Druckdatei := A 8 _druckein := 8 _druckein := a + 1 weitere Programmoperationen t Taskzustände: Task läuft Task ist laufbereit unterbrochen Ergebnis: Task A Task B Druckertask aktueller Druckauftrag neuer Druckauftrag drucken X Y Z B A Druckauftragswarteschlange Drucker _druckaus = 4 _druckein = Problemlösungsversuch mit Sperrvariablen Mit Blick auf die obige Druckerwarteschlange erscheint es möglich, den Zugriff auf die Positionszeiger durch eine systemglobale Sperrvariable abzusichern. Sie hat den Anfangswert 0, was heißen soll: "kritischer Abschnitt ist frei". Jedes Programm, das einen Druckauftrag absetzen will, führt vorher folgendes aus:

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 I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 20.11.2013 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Wdhlg.: Attributinformationen in

Mehr

Was machen wir heute? Betriebssysteme Tutorium 2. Organisatorisches. Frage 2.1.a. Theorieblätter Abgabe. Antwort. Probleme mit OS/161?

Was machen wir heute? Betriebssysteme Tutorium 2. Organisatorisches. Frage 2.1.a. Theorieblätter Abgabe. Antwort. Probleme mit OS/161? Was machen wir heute? Betriebssysteme Tutorium 2 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 1

Mehr

Domänenmodell: Fadenkommunikation und -synchronisation

Domänenmodell: Fadenkommunikation und -synchronisation Domänenmodell: Fadenkommunikation und -synchronisation Alexander Humphreys, Reinhard Rösch, Fabian Scheler 15. Mai 2003 Inhaltsverzeichnis 1 Domänendefinition 1 2 Domänenlexikon 1 3 Konzeptmodelle 4 4

Mehr

Verbessertes Konzept: Monitore

Verbessertes Konzept: Monitore Verbessertes Konzept: Monitore Ein Nachteil von Semaphoren ist die Notwendigkeit zur expliziten Anforderung P und Freigabe V des kritischen Bereiches durch den Programmierer Vergißt der Entwickler z.b.

Mehr

Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind

Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind Betriebssysteme Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind Umfaßt z.b. auch Compiler, Interpreter und Dienstprogramme

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

Operating System Kernels

Operating System Kernels Operating System Kernels von Patrick Bitterling 1 Themenübersicht -Eine Einleitung über Kernel -Begriffserklärung, Architekturen -Kernel Subsysteme -Prozess-Scheduling, Speichermanagement,... -Der Networking

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

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

Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun. Übungsklausur

Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun. Übungsklausur Hochschule Mannheim Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun Übungsklausur Aufgabe 1: Definieren Sie den Begriff der Systemsoftware. Nennen Sie die Aufgaben und Komponenten

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

Moderne Betriebssysteme. Kapitel 8. Kapitel 8. Folie: 1. Multiprozessorsysteme. Autor: Andrew S. Tanenbaum

Moderne Betriebssysteme. Kapitel 8. Kapitel 8. Folie: 1. Multiprozessorsysteme. Autor: Andrew S. Tanenbaum Moderne Betriebssysteme Kapitel 8 Multiprozessorsysteme Kapitel 8 Folie: 1 Multiprozessorsysteme Autor: Andrew S. Tanenbaum Pearson Studium 2009 2 3 4 5 6 7 Betriebssystemarten für Multiprozessoren Jede

Mehr

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

Architektur Verteilter Systeme Teil 2: Prozesse und Threads Architektur Verteilter Systeme Teil 2: Prozesse und Threads 21.10.15 1 Übersicht Prozess Thread Scheduler Time Sharing 2 Begriff Prozess und Thread I Prozess = Sequentiell ablaufendes Programm Thread =

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

Softwarelösungen: Versuch 4

Softwarelösungen: Versuch 4 Softwarelösungen: Versuch 4 Nichtstun in Schleife wird ersetzt durch zeitweilige Zurücknahme der Anforderung, um es anderen Prozessen zu erlauben, die Ressource zu belegen: /* Prozess 0 */ wiederhole flag[0]

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

Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition)

Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition) Ein Prozess kann unmittelbar vom Zustand 1. Running in den Zustand Ready 2. Running in den Zustand Blocked 3. Ready in den Zustand Running Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition) Der Adressraum

Mehr

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige

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

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

Vortrag zum Seminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Bruno Kleinert fuddl@gmx.de. 20. Juni 2007

Vortrag zum Seminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Bruno Kleinert fuddl@gmx.de. 20. Juni 2007 User Mode Linux (UML) Vortrag zum Seminar Konzepte und Techniken virtueller Maschinen und Emulatoren Friedrich-Alexander-Universität Erlangen-Nürnberg Bruno Kleinert fuddl@gmx.de 20. Juni 2007 Überblick

Mehr

Datentechnik. => Das Rechenergebnis ist nur dann sinnvoll, wenn es rechtzeitig vorliegt. Die Zeit muß daher beim Programmdesign berücksichtigt werden.

Datentechnik. => Das Rechenergebnis ist nur dann sinnvoll, wenn es rechtzeitig vorliegt. Die Zeit muß daher beim Programmdesign berücksichtigt werden. 5. Steuerung technischer Prozesse 5.1 Echtzeit (real time) Im Gegensatz zu Aufgabenstellungen aus der Büroumgebung, wo der Anwender mehr oder weniger geduldig wartet, bis der Computer ein Ergebnis liefert

Mehr

2. Hintergrundverarbeitung in Android: Services und Notifications

2. Hintergrundverarbeitung in Android: Services und Notifications 2. Hintergrundverarbeitung in Android: Services und Notifications Übersicht 2. Hintergrundverarbeitung in Android: Services und Notifications Übersicht: In Mobis 1: Threads; hier genauerer Blick auf Services

Mehr

Nebenläufige Programmierung

Nebenläufige Programmierung Nebenläufige Programmierung Perspektiven der Informatik 27. Januar 2003 Gert Smolka Telefon-Szenario Eine Telefonzelle Mehrere Personen wollen telefonieren Immer nur eine Person kann telefonieren Ressource

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

RTOS Einführung. Version: Datum: Autor: Werner Dichler

RTOS Einführung. Version: Datum: Autor: Werner Dichler RTOS Einführung Version: 0.0.1 Datum: 20.07.2013 Autor: Werner Dichler Inhalt Inhalt... 2 RTOS... 3 Definition... 3 Anforderungen... 3 Aufgaben... 3 Eigenschaften... 4 Einteilung der Betriebssysteme...

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

Sequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden )

Sequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden ) Threads Sequentielle Programm- / Funktionsausführung innerhalb eines Prozesses ( thread = Ausführungsfaden ) Ein thread bearbeitet eine sequentielle Teilaufgabe innerhalb eines Prozesses Mehrere nebenläufige

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

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

Grundlagen Rechnerarchitektur und Betriebssysteme

Grundlagen Rechnerarchitektur und Betriebssysteme Grundlagen Rechnerarchitektur und Betriebssysteme Johannes Formann Definition Computer: Eine Funktionseinheit zur Verarbeitung von Daten, wobei als Verarbeitung die Durchführung mathematischer, umformender,

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

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013. WebSphere MQ Teil 3

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013. WebSphere MQ Teil 3 UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013 WebSphere MQ Teil 3 Trigger el0100 Copyright W. G. Spruth,

Mehr

Interrupts. Funktionsprinzip. Funktionsprinzip. Beispiel in C

Interrupts. Funktionsprinzip. Funktionsprinzip. Beispiel in C Interrupts Funktionsprinzip Interrupts bei ATmega128 Beispiel in C Funktionsprinzip 1 Was ist ein Interrupt? C muss auf Ereignisse reagieren können, z.b.: - jemand drückt eine Taste - USART hat Daten empfangen

Mehr

OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme

OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme Wilhelm Haas Wilhelm.Haas@informatik.stud.uni-erlangen.de Friedrich-Alexander-Universität Erlangen-Nürnberg Institut für Informatik Lehrstuhl 4

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

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

Prozesse und Prozessmanagement des BS. 1 Unterschied Prozess, Threads. 1.1 Prozess. 1.2 Threads

Prozesse und Prozessmanagement des BS. 1 Unterschied Prozess, Threads. 1.1 Prozess. 1.2 Threads Prozesse und Prozessmanagement des BS 1 Unterschied Prozess, Threads 1.1 Prozess Bei jedem Programm muss gespeichert werden, welche Betriebsmittel (Speicherplatz, CPU- Zeit, CPU-Inhalt,...) es benötigt.

Mehr

Motivation. Motivation

Motivation. Motivation Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2012 Universität Duisburg-Essen Was sind nebenläufige Systeme? Ganz allgemein: Systeme, bei denen mehrere Komponenten/Prozesse nebenläufig arbeiten

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

Protected User-Level DMA in SCI Shared Memory Umgebungen

Protected User-Level DMA in SCI Shared Memory Umgebungen Protected User-Level DMA in SCI Shared Memory Umgebungen Mario Trams University of Technology Chemnitz, Chair of Computer Architecture 6. Halle Chemnitz Seminar zu Parallelverarbeitung und Programmiersprachen

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

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

3 Programmiermodelle für parallele und verteilte Systeme

3 Programmiermodelle für parallele und verteilte Systeme 3 Programmiermodelle für parallele und verteilte Systeme Das vorherrschende Programmiermodell für parallele und verteilte Systeme ist das Client Server Modell. Das Client Server Modell ist unabhängig von

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

Seminar: Mobile Geräte QNX Einführung

Seminar: Mobile Geräte QNX Einführung Seminar: Mobile Geräte QNX Einführung Vortragender: Alex Maurer 2010/2011 Philipps Universität Marburg Echtzeitbetriebssystem QNX QNX ist ein RTOS (Real Time OS) vorhersagbares Zeitverhalten niedrige Latenz

Mehr

Übung zu Grundlagen der Betriebssysteme. 13. Übung 22.01.2012

Übung zu Grundlagen der Betriebssysteme. 13. Übung 22.01.2012 Übung zu Grundlagen der Betriebssysteme 13. Übung 22.01.2012 Aufgabe 1 Fragmentierung Erläutern Sie den Unterschied zwischen interner und externer Fragmentierung! Als interne Fragmentierung oder Verschnitt

Mehr

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Polling vs Interrupts. SoSe bis P

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Polling vs Interrupts. SoSe bis P SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 3(Musterlösung) 2014-05-05 bis 2014-05-09 Aufgabe 1: Polling vs Interrupts (a) Erläutern Sie

Mehr

Prozeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen

Prozeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen Seite 8 A UFGABE 11 INTERP ROZEßKOMMUNIKATION Das folgende Petrinetz zeigt zwei verkoppelte Prozesse P1 und P2. Die Transitionen a und b beschreiben Aktionen von P1, die Transitionen c und d Aktionen von

Mehr

Die Ausführung geschieht über die sequentielle Abarbeitung der Instruktionen.

Die Ausführung geschieht über die sequentielle Abarbeitung der Instruktionen. Kapitel 4 Prozesse Seite 1 4 Prozesse 4.1 Prozeßkonzept Prozess- ein Programm in Ausführung Die Ausführung geschieht über die sequentielle Abarbeitung der Instruktionen. Üblicher Start: über eine Kommandozeileneingabe

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

U6-1 Organisatories. U6-2 Motivation von Threads. U6-3 Vergleich von Thread-Konzepten. Organisatorisches

U6-1 Organisatories. U6-2 Motivation von Threads. U6-3 Vergleich von Thread-Konzepten. Organisatorisches U6 6. Übung U6 6. Übung U6-1 Organisatories U6-1 Organisatories Organisatorisches Zusätzliche Tafelübung zur S1-Klaurvorbereitung Besprechung Aufgabe 5 (crawl) OSIX-Threads Motivation Thread-Konzepte am

Mehr

Musterlösung Prüfung SS 2002

Musterlösung Prüfung SS 2002 Musterlösung Prüfung SS 2002 Fach: I4neu (SEE, KOS, GRS, BTS) Teilprüfung: Betriebssystem Tag: 2.7.2002 8:15 12:15 Raum 1006 Bearbeitungszeit: 72 Minuten Name:... Matr.Nr.:... Punkte:... Note:... Hilfsmittel:

Mehr

Der Scheduler von Windows Konzepte und Strategien

Der Scheduler von Windows Konzepte und Strategien Gliederung Der Scheduler von Windows Konzepte und Strategien Daniel Lohmann 1 Grundbegriffe 2 Eigenschaften des Schedulers Grundlegende Eigenschaften Prioritätenmodell Dynamische Prioritätenanpassungen

Mehr

(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert?

(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert? SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 2 2014-04-28 bis 2014-05-02 Aufgabe 1: Unterbrechungen (a) Wie unterscheiden sich synchrone

Mehr

VORSTELLUNG DER DIPLOMARBEIT

VORSTELLUNG DER DIPLOMARBEIT 1 VORSTELLUNG DER DIPLOMARBEIT Thomas Werner Inhaltsverzeichnis 2 Thema Aufgabenstellung Anwendungsdebugging Threads Remote Debugging Implementierung Ausblick Quellen 3 Thema Untersuchung von Funktionsabläufen

Mehr

Basisinformationstechnologie I

Basisinformationstechnologie I Basisinformationstechnologie I Wintersemester 2012/13 05. Dezember 2012 Betriebssysteme Universität zu Köln. Historisch-Kulturwissenschaftliche Informationsverarbeitung Jan G. Wieners // jan.wieners@uni-koeln.de

Mehr

Übung zu Grundlagen der Betriebssysteme. 10. Übung 18.12.2012

Übung zu Grundlagen der Betriebssysteme. 10. Übung 18.12.2012 Übung zu Grundlagen der Betriebssysteme 10. Übung 18.12.2012 Aufgabe 1 a) Was versteht man unter einem kritischen Abschnitt oder kritischen Gebiet (critical area)? b) Welche Aufgabe hat ein Semaphor? c)

Mehr

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial!

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial! VO 182.711 Prüfung Betriebssysteme 8. November 2013 KNr. MNr. Zuname, Vorname Ges.)(100) 1.)(35) 2.)(20) 3.)(45) Zusatzblätter: Bitte verwenden Sie nur dokumentenechtes Schreibmaterial! 1 Synchronisation

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

Software-Projekt: Mensch ärgere Dich nicht. Dokumentation Softwareprojekt: Mensch ärgere Dich nicht

Software-Projekt: Mensch ärgere Dich nicht. Dokumentation Softwareprojekt: Mensch ärgere Dich nicht Dokumentation Softwareprojekt: Mensch ärgere Dich nicht Das Programm Mensch ärgere Dich nicht ermöglicht das Spielen des gleichnamigen Spieles über Netzwerke. Jeder Spieler verfügt dabei über einen Clienten,

Mehr

Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming

Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming Task Wiederholung 1 System SysCalls (1) Wozu? Sicherheit Stabilität Erfordert verschiedene modes of execution: user mode privileged mode

Mehr

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1)

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1) 1 FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1) In dieser Kurseinheit geht es um verteilte Anwendungen, bei denen wir sowohl ein Client- als auch ein

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

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

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Die Idee Virtuelle Adressen Prozess 1 Speicherblock 0 Speicherblock 1 Speicherblock 2 Speicherblock 3 Speicherblock 4 Speicherblock

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

Round-Robin Scheduling (RR)

Round-Robin Scheduling (RR) RR - Scheduling Reigen-Modell: einfachster, ältester, fairster, am weitesten verbreiteter Algorithmus Entworfen für interaktive Systeme (preemptives Scheduling) Idee: Den Prozessen in der Bereitschaftsschlange

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

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

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

Mehr

Entwicklung eines Mac OS X Treibers für eine PCI-VME Interface Karte

Entwicklung eines Mac OS X Treibers für eine PCI-VME Interface Karte Entwicklung eines Mac OS X Treibers für eine PCI-VME Interface Karte Matthias Lange Informatikstudent, TU-Dresden 27. September 2005 http://www.matze-lange.de Warum entwickelt jemand einen Treiber für

Mehr

Überlegungen beim Entwurf eines Betriebssystems

Überlegungen beim Entwurf eines Betriebssystems Überlegungen beim Entwurf eines Betriebssystems Schnelligkeit Schutz und Sicherheit Korrektheit Wartbarkeit Kommerzielle Faktoren Standards und offene Systeme Schnelligkeit Es ist schwierig, Kenngrößen

Mehr

Client/Server-Systeme

Client/Server-Systeme Frühjahrsemester 2011 CS104 Programmieren II / CS108 Programmier-Projekt Java-Projekt Kapitel 3: /Server-Architekturen H. Schuldt /Server-Systeme Ein zweischichtiges /Server-System ist die einfachste Variante

Mehr

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) 1 Einleitung... 2 2 Download und Installation... 3 2.1 Installation von WindowsXPMode_de-de.exe... 4 2.2 Installation von Windows6.1-KB958559-x64.msu...

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

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant?

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant? Übersicht Aktuelle Themen zu Informatik der Systeme: Nebenläufige Programmierung: Praxis und Semantik Einleitung 1 2 der nebenläufigen Programmierung WS 2011/12 Stand der Folien: 18. Oktober 2011 1 TIDS

Mehr

9 Verteilte Verklemmungserkennung

9 Verteilte Verklemmungserkennung 9 Verteilte Verklemmungserkennung 9.1 Grundlagen Für die Existenz einer Verklemmung notwendige Bedingungen Exklusive Betriebsmittelbelegung Betriebsmittel können nachgefordert werden Betriebsmittel können

Mehr

Einführung in die technische Informatik

Einführung in die technische Informatik Einführung in die technische Informatik Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris Betriebssysteme Aufgaben Management von Ressourcen Präsentation einer einheitlichen

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

Musterlösung Klausur SS 2004

Musterlösung Klausur SS 2004 Musterlösung Klausur SS 2004 Fachrichtung: Informatik Lehrveranstaltung: Verteilte Systeme Dozent: Prof. G. Bengel Tag: 15.6.04 Bearbeitungszeit: 90 Minuten Name:... Matr.Nr.:... Punkte:... Note:... Hilfsmittel:

Mehr

Lösungsskizzen zur Abschlussklausur Betriebssysteme

Lösungsskizzen zur Abschlussklausur Betriebssysteme Lösungsskizzen zur Abschlussklausur Betriebssysteme 24. Januar 2013 Name: Vorname: Matrikelnummer: Studiengang: Hinweise: Tragen Sie zuerst auf allen Blättern (einschlieÿlich des Deckblattes) Ihren Namen,

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

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 3 12.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: a)

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

Prüfungsprotokoll der mündlichen Prüfung Verteilte Systeme 1678 (Bachelor Informatik)

Prüfungsprotokoll der mündlichen Prüfung Verteilte Systeme 1678 (Bachelor Informatik) Prüfungsprotokoll der mündlichen Prüfung Verteilte Systeme 1678 (Bachelor Informatik) Prüfer: Prof. Dr. Haake Semester der Prüfung: WS 10/11 Datum der Prüfung: 02.05.2011 Dauer: ca. 25 min Note: 2.0 Hier

Mehr

OS/2 System- und Netzwerkprogrammierung

OS/2 System- und Netzwerkprogrammierung Hans Joachim Müschenborn OS/2 System- und Netzwerkprogrammierung Multitasking Interprozeßkommunikation Multithreading DB/2-lntegration tewi Verlag sverzeichnis / I Inhaltsverzeichnis 5 In eigener Sache

Mehr

TCP/UDP. Transport Layer

TCP/UDP. Transport Layer TCP/UDP Transport Layer Lernziele 1. Wozu dient die Transportschicht? 2. Was passiert in der Transportschicht? 3. Was sind die wichtigsten Protkolle der Transportschicht? 4. Wofür wird TCP eingesetzt?

Mehr

Game Engine Architecture and Development. Platform Unabhängiger Code Multi Threading in Game Engines Profiling

Game Engine Architecture and Development. Platform Unabhängiger Code Multi Threading in Game Engines Profiling Game Engine Architecture and Development Platform Unabhängiger Code Multi Threading in Game Engines Profiling Folien Die Folien werden auf acagamics.de hochgeladen Das Passwort ist 60fps (ohne ) Rückblick:

Mehr

Aufbau einer Testumgebung mit VMware Server

Aufbau einer Testumgebung mit VMware Server Aufbau einer Testumgebung mit VMware Server 1. Download des kostenlosen VMware Servers / Registrierung... 2 2. Installation der Software... 2 2.1 VMware Server Windows client package... 3 3. Einrichten

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 2013 Kapitel 2: Betriebssysteme Vorlesung:

Mehr

System Monitoring mit strace. Systemcall tracing

System Monitoring mit strace. Systemcall tracing System Monitoring mit strace Systemcall tracing 1 Gliederung Einleitung: Was ist strace Grundlagen zu strace Kernel Kernelspace vs. Userspace Systemcalls ptrace Simple strace (Demo) strace die wichtigsten

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Institut für Informatik Prof. Dr. Bernhard Bauer Stephan Roser Viviane Schöbel Wintersemester 07/08 Übungsblatt 5 08.01.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1:

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

Besprechung Aufgabe 5 (crawl) POSIX-Threads. Problem: UNIX-Prozesskonzept ist für viele heutige Anwendungen unzureichend

Besprechung Aufgabe 5 (crawl) POSIX-Threads. Problem: UNIX-Prozesskonzept ist für viele heutige Anwendungen unzureichend U7 6. Übung U7 6. Übung U7-1 Motivation von Threads U7-1 Motivation von Threads Besprechung Aufgabe 5 (crawl) OSIX-Threads Motivation Thread-Konzepte pthread-ai Koordinierung UNIX-rozesskonzept: eine Ausführungsumgebung

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

^ 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

Klausur zur Vorlesung Grundlagen der Betriebssysteme WS 2011 / 2012

Klausur zur Vorlesung Grundlagen der Betriebssysteme WS 2011 / 2012 Name: Matrikelnummer: Studiengang: INF CV IM Lehramt BSc MSc BEd MEd Diplom Klausur zur Vorlesung Grundlagen der Betriebssysteme WS 0 / 0 Montag, den. Februar 0, 09: Uhr 0: Uhr Prof. Dr. D. Zöbel, Dipl.

Mehr