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

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

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

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

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

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

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

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

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

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

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

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

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

Betriebssysteme Kap A: Grundlagen

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

Mehr

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

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

Mehr

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

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

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

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

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

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

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

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

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

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

Rapid I/O Toolkit. http://projects.spamt.net/riot. Alexander Bernauer alex@copton.net 08.12.08

Rapid I/O Toolkit. http://projects.spamt.net/riot. Alexander Bernauer alex@copton.net 08.12.08 Rapid I/O Toolkit http://projects.spamt.net/riot Alexander Bernauer alex@copton.net 08.12.08 Inhalt Motivation Architektur Beispiel I/O Features Ausblick Motivation Problemstellung Vorgaben Datenverarbeitung

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

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

POSIX Echtzeit: Kernel 2.6 und Preempt-RT

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

Mehr

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

Real Time Operating Systems (RTOS) = Echtzeit-Betriebssysteme. Eine Einführung. Klaus Kusche, Okt. 2011

Real Time Operating Systems (RTOS) = Echtzeit-Betriebssysteme. Eine Einführung. Klaus Kusche, Okt. 2011 Real Time Operating Systems (RTOS) = Echtzeit-Betriebssysteme Eine Einführung Klaus Kusche, Okt. 2011 Ziele des Vortrags Überblick über das Thema Praktisches Verständnis von Anforderungen Problembereichen

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

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

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

Vorbereitung zur Prüfung Echtzeitbetriebssysteme

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

Mehr

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

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

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

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

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

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

Ü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

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

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

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

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

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

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

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

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

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

Musterlösung Übungsblatt 1 Netzprogrammierung WS 05/06

Musterlösung Übungsblatt 1 Netzprogrammierung WS 05/06 Musterlösung Übungsblatt 1 Netzprogrammierung WS 05/06 Block Verteilte Systeme und Middleware 1. Beschreiben Sie die Entwicklung verteilter Systeme von einer Zentralisierung bis zu Peer-to-Peer. Nicht

Mehr

Beschreiben Sie stichwortartig, was die folgenden Kommandos bewirken.

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

Mehr

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

5. Threads, Serverprozesse und Benachrichtigungen

5. Threads, Serverprozesse und Benachrichtigungen 5. Threads, Serverprozesse und Benachrichtigungen Threads allgemein Threads in Android: Handler und Messages Services: Local, Remote, Binding Benachrichtigungen Entwicklung mobiler Anwendungen Europäische

Mehr

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. Java Connection Architecture Teil 3

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. Java Connection Architecture Teil 3 UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 Java Connection Architecture Teil 3 CICS Transaction Gateway el0100 copyright W. G. Spruth,

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

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

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

Implementierung von Dateisystemen

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

Mehr

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

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

Steffen Heinzl Markus Mathes. Middleware in Java

Steffen Heinzl Markus Mathes. Middleware in Java Steffen Heinzl Markus Mathes Middleware in Java Leitfaden zum Entwurf verteilter Anwendungen - Implementierung von verteilten Systemen über JMS - Verteilte Objekte über RMI und CORBA Mit 50 Abbildungen

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

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

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

http://www.cis.upenn.edu/~bcpierce/unison/download/stable/unison- 2.9.1/

http://www.cis.upenn.edu/~bcpierce/unison/download/stable/unison- 2.9.1/ Einführung Was ist Unison? Unison ist ein Dateisynchronisationsprogramm für Windows und Unix. Es teilt sich viele Funktionen mit anderen Programmen, wie z.b. CVS und rsync. Folgend einige Vorteile des

Mehr

Teil VIII Von Neumann Rechner 1

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

Mehr

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

Einführung in die Echtzeitbetriebssysteme

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

Mehr

Systemsoftware Praktikum

Systemsoftware Praktikum Praktikum Client-Server-Projekt : Textretrievalsystem Übungsziel: Prozesserzeugung und Interprozesskommunikation unter UNIX / Linux Softwareerstellung im Team In dem Projekt soll eine Client - Server Architektur

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

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

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

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

Prof. Dr.-Ing. Dagmar Meyer Architekturen verteilter SW-Systeme 5 SYNCHRONISATION

Prof. Dr.-Ing. Dagmar Meyer Architekturen verteilter SW-Systeme 5 SYNCHRONISATION Prof. Dr.-Ing. Dagmar Meyer 5 SYNCHRONISATION Warum braucht man Synchronisation? Ausgangssituation Prozesse müssen sich koordinieren / synchronisieren, z. B. beim Zugriff auf gemeinsame Ressourcen. Alle

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

Echtzeitanforderung und Linux

Echtzeitanforderung und Linux Echtzeitanforderung und Linux Slide 1 - http://www.pengutronix.de - 21.01.2007 Definition Harte Echtzeit I Was zeichnet ein Echtzeitsystem aus? Zeitverhalten ist Teil der System-Spezifikation! Bei Embedded-Systemen

Mehr

Betriebssysteme Kap B: Hardwaremechanismen

Betriebssysteme Kap B: Hardwaremechanismen 1 Betriebssysteme Kap B: Hardwaremechanismen 2 Beispielprozessor Ein- / Ausgabe p[ ] ir Leitwerk pc Register a f sp Rechenwerk Speicher m[ ] Spezielle Register Flagregister f f.i: Interrupt-Enable-Flag

Mehr

Hardware-basierte Virtualisierung

Hardware-basierte Virtualisierung Hardware-basierte Virtualisierung Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 V. Sieh Hardware-basierte

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

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

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

Mehr

8.4 Das Andrew File System 393 8.5 Ausblicke 404 8.6 Zusammenfassung 410 Übungen 411

8.4 Das Andrew File System 393 8.5 Ausblicke 404 8.6 Zusammenfassung 410 Übungen 411 Inhaltsverzeichnis Vorwort 11 Aufgabenbereiche und Leserschaft 11 Aufbau dieses Buches 12 Literatur 12 Änderungen in dieser Auflage 13 Danksagungen 14 Web-Site 14 Kapitel 1 Charakteristische Eigenschaften

Mehr

ChatServer. Unser Server

ChatServer. Unser Server ChatServer Wir wollen einen universell verwendbaren Server programmieren, der die wichtigsten Funktionen eines Chat-Servers erfüllt: es soll ein 'Threaded TCP Server' sein Clients können sich mit Port

Mehr

Performance Messungen von FreeRTOS und

Performance Messungen von FreeRTOS und Performance Messungen von FreeRTOS und µc/os-iii auf ARM-Architekturen Tim Wacher (wht4@bfh.ch) Master of Science in Engineering MRU Production Technology 16. August 2011/ CH-3400 Burgdorf Outline 1 Ziel

Mehr

1.) Nennen Sie Aufgaben und mögliche Dienste der Transportschicht (Transport Layer) des ISO/OSI-Schichtenmodells.

1.) Nennen Sie Aufgaben und mögliche Dienste der Transportschicht (Transport Layer) des ISO/OSI-Schichtenmodells. Übung 7 1.) Nennen Sie Aufgaben und mögliche Dienste der Transportschicht (Transport Layer) des ISO/OSI-Schichtenmodells. 2.) Charakterisieren Sie kurz das User Datagram Protokoll (UDP) aus der Internetprotokollfamilie

Mehr

Kapitel 4: Design von Client/Server-Software. Middleware in Java vieweg 2005 Steffen Heinzl, Markus Mathes

Kapitel 4: Design von Client/Server-Software. Middleware in Java vieweg 2005 Steffen Heinzl, Markus Mathes Kapitel 4: Design von Client/Server-Software Definition: Client und Server Client Ein Client ist ein Dienstnutzer, der von einem Server aktiv einen Dienst anfordert und anschließend darauf wartet, dass

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

PARAGON Encrypted Disk

PARAGON Encrypted Disk PARAGON Encrypted Disk Anwenderhandbuch Paragon Technologie, Systemprogrammierung GmbH Copyright Paragon Technologie GmbH Herausgegeben von Paragon Technologie GmbH, Systemprogrammierung Pearl-Str. 1 D-79426

Mehr

3 Task-Leiste Ziele des Kapitels:

3 Task-Leiste Ziele des Kapitels: 3 Task-Leiste Ziele des Kapitels: $ Die Task-Leiste ist ein zentrales Element von Windows 95. Dieses Kapitel zeigt Ihnen, wie Sie die Task-Leiste bei Ihrer Arbeit mit Windows 95 sinnvoll einsetzen können.

Mehr

Installationsanleitung

Installationsanleitung Installationsanleitung POP3 und Bridge-Modus Inhaltsverzeichnis 1 POP3 und Bridge-Modus 2 1.1 Funktionsweise von POP3 mit REDDOXX 2 1.2 Betriebsarten 3 1.2.1 Standard-Modus 3 1.2.2 Bridge-Modus 6 1.2.3

Mehr

Prozessinformationsverarbeitung. Echtzeitbetriebssysteme. Professur für Prozessleittechnik Wintersemester 2009/2010

Prozessinformationsverarbeitung. Echtzeitbetriebssysteme. Professur für Prozessleittechnik Wintersemester 2009/2010 Fakultät Elektrotechnik und Informationstechnik, Professur für Prozessleittechnik Prozessinformationsverarbeitung (PIV) Echtzeitbetriebssysteme Professur für Prozessleittechnik Wintersemester 2009/2010

Mehr

Echtzeitbetriebssysteme

Echtzeitbetriebssysteme Echtzeitbetriebssysteme QNX 409 Geschichte: Einführung 1980 entwickeln Gordon Bell und Dan Dodge ein eigenes Echtzeitbetriebssystem mit Mikrokernel. QNX orientiert sich nicht an Desktopsystemen und breitet

Mehr

Beispiel 3. Shared Memory und Explizite Synchronisation. Daniel Prokesch. 27. April 2015. Überblick. Shared Memory. Semaphore. Ressourcenverwaltung

Beispiel 3. Shared Memory und Explizite Synchronisation. Daniel Prokesch. 27. April 2015. Überblick. Shared Memory. Semaphore. Ressourcenverwaltung 3 e 3 und Explizite Synchronisation Daniel Prokesch Institut für Technische Informatik Technische Universität Wien 27. April 2015 1 2 3 e Bisher betrachtet... Implizite Synchronisation Blockierende Lese-

Mehr

1 Hochverfügbarkeit. 1.1 Einführung. 1.2 Network Load Balancing (NLB) Quelle: Microsoft. Hochverfügbarkeit

1 Hochverfügbarkeit. 1.1 Einführung. 1.2 Network Load Balancing (NLB) Quelle: Microsoft. Hochverfügbarkeit 1 Hochverfügbarkeit Lernziele: Network Load Balancing (NLB) Failover-Servercluster Verwalten der Failover Cluster Rolle Arbeiten mit virtuellen Maschinen Prüfungsanforderungen von Microsoft: Configure

Mehr

Von der UML nach C++

Von der UML nach C++ 22 Von der UML nach C++ Dieses Kapitel behandelt die folgenden Themen: Vererbung Interfaces Assoziationen Multiplizität Aggregation Komposition Die Unified Modeling Language (UML) ist eine weit verbreitete

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