2. Prozesse. 2.1 Prozesse als zentrales Konzept

Größe: px
Ab Seite anzeigen:

Download "2. Prozesse. 2.1 Prozesse als zentrales Konzept"

Transkript

1 2. Prozesse Überblick 2.1 Prozesse als zentrales Konzept 2.2 Grundoperationen mit Prozessen 2.3 Thread-Modell 2.4 Beispiel für Threadbibliotheken: Pthreads 2.5 Zuteilungsverfahren 2.6 Prozesse und Scheduling in Linux 2.7 Prozesse und Scheduling in Windows O. Kao Betriebssysteme Prozesse als zentrales Konzept Prozesse = Zentrales BS Konzept Eingabeparameter Dynamische Objekte, die sequentielle Aktivitäten in einem System repräsentieren Prozess = in Ausführung befindliches Programm Prozess (process, task) ist definiert durch Adressraum Verarbeitungsvorschrift (Programm) Aktivitätsträger, der die Verarbeitungsvorschrift ausführt, in der Regel als Thread bezeichnet Prozess ist Virtueller Rechner spezialisiert zur Ausführung eines bestimmten Programms Beschreibungseinheit für System- und Anwendungssoftware Interne Daten Ergebnisse Programm O. Kao Betriebssysteme 2-2

2 Prozesszustandsmodell Einfachstes Prozessmodell umfasst zwei Zustände Laufend (running): Prozess wird aktuell auf dem realen Prozessor ausgeführt Nicht-laufend (not-running): Prozess wird aus verschiedenen Gründen Add nicht ausgeführt Nicht-Laufend Dispatchen Suspendieren Laufend Notwendige Komponenten zur Realisierung eines Prozesszustandsmodells Datenstrukturen zur Beschreibung des aktuellen Prozesszustands Mechanismus zur Speicherung der Informationen / Abrufen der gespeicherten Informationen Warteschlange zur Verwaltung wartender Prozesse Exit O. Kao Betriebssysteme 2-3 Dispatcher Warteschlange und Umschaltmechanismus BS-Komponente zur Verwaltung des realen Prozessors, zuständig für Verdrängung von Prozessen und zum Laden neuer Prozesse Zusammenarbeit mit dem Scheduler, der für die Auswahl des nächsten Prozesses zuständig ist Modellierung Add Warteschlange mit Pointern auf Datenstrukturen Dispatchen Suspendieren CPU Verhalten des Dispatchers Dem vom Scheduler ausgewählten Prozess wird die CPU zugeordnet Dispatcher lädt die notwendigen Informationen Prozessunterbrechung Prozess wird in die Warteschlange einsortiert Prozess terminiert Prozess verlässt das System Exit O. Kao Betriebssysteme 2-4

3 Datenstruktur Prozesskontrollblock (Process Control Block, PCB) Datenstruktur zur Implementierung von Prozessen in BS Verwaltungstechnischer Repräsentant des Prozesses in der Maschine Enthält ein Abbild des Registersatzes des realen Prozessors, das den aktuellen Prozesszustand definiert Generell umfasst PCB 3 Kategorien von Informationen 1. Prozessidentifikation Eindeutiger numerischer Identifikator des Prozesses (ProcessID), Identifikator des Elternprozesses, Identifikation des Benutzers 2. Prozesszustandsinformationen Bereich für die aktuellen Registerwerte Zustandsvariable (Prozesszustand, d.h. Kontroll-/Statusregister) Menge der Register mit Statusinformationen wird oft im sog. Programmstatuswort (PSW) gespeichert O. Kao Betriebssysteme 2-5 Prozesskontrollinformationen in PCB Fortsetzung der Informationen in PCB 3. Prozesskontrollinformationen dienen dem BS, aktive Prozesse zu kontrollieren und koordinieren Prozesszustand (laufend, blockiert, bereit, ) Information über angeforderte/zugeteilte Betriebsmittel, insbesondere E/A-Status-Informationen Liste der belegten E/A-Geräte Liste der geöffneten Dateien, Eltern-Kind-Relationen Scheduling-bezogene Zustandsinformationen wie Priorität, Wartezeit, zugeteilter Prozessor in MIMD-Systemen, Signale oder Nachrichten zwischen unabhängigen Prozessen Ereignisse, auf die gewartet wird, Accounting Informationen: Angaben über genutzte CPU-Zeit, reale Zeit seit Aktivierung, Zeitlimits, O. Kao Betriebssysteme 2-6

4 Beispiel: Anzeige von Statusinformationen mit PS -aux USER PID %CPU %MEM VSZ RSS STAT START TIME COMMAND root S Aug10 1:05 init [5] --init root SW Aug10 0:02 [keventd] root S Aug10 3:47 syslogd -m 0 root S Aug10 0:02 /usr/sbin/automou daemon S Aug10 0:00 /usr/sbin/atd root S Aug10 0:16 /usr/sbin/sshd root S Aug10 0:00 xinetd -stayalive root S Aug10 3:46 sendmail: accepti root S Aug10 0:39 crond xfs S Aug10 0:23 xfs -droppriv -da root S Aug10 0:00 /sbin/mingetty tt root SN Aug10 0:00 in.identd -e -n root S Aug10 0:00 /usr/bin/kdm -nod nscd S Aug31 1:06 /usr/sbin/nscd jomu SN 16:24 0:22 java -Xmx256MB -c jomu RN 16:25 157:32 java -Xmx256MB -c jomu SN 16:25 0:15 java -Xmx256MB -c root S 17:05 0:00 /usr/sbin/sshd jomu S 17:05 0:00 /usr/sbin/sshd jomu S 17:05 0:00 -tcsh okao S 19:25 0:00 -tcsh okao R 19:25 0:00 ps -aux O. Kao Betriebssysteme 2-7 Verwaltung der PCBs Zustand Zeiger ProcessID Dynamische verkettete Liste Restliche Informationen P1 P6 P4 P3 P2 P5 NULL PCB PCB-Baumstruktur P1 Array von PCBs P2 P3 P1 P2 P3 P4 P5 P6 P4 P5 P6 O. Kao Betriebssysteme 2-8

5 Effizienzsteigerung durch Teilmengenbildung Aufspaltung der Prozessliste in Teillisten von PCBs mit einem identischen Attribut, z.b. bzgl. Prozesszustand (siehe Grafik) oder Priorität Bereite Prozesse Start Ende P1 P6 P9 P19 P13 P5 NULL Blockierte Prozesse (E/A-Gerät 1) Start Ende P3 P11 P4 NULL Blockierte Prozesse (E/A-Gerät 2) Start Ende P2 P7 P10 P8 P12 NULL O. Kao Betriebssysteme 2-9 Modellierung der Multiprogrammierung Annahmen Ein Prozess verbringt einen Anteil p seiner Zeit mit Warten auf E/A- Operationen Wahrscheinlichkeit p n, dass n Prozesse gleichzeitig auf Ende der E/A- Operationen warten Ausnutzung der CPU: A = 1 p n n = Grad der Multiprogrammierung (Degree of Multiprogramming) Auslastung der CPU Grad der Multiprogrammierung O. Kao Betriebssysteme 2-10

6 Initiiert Swap-out Erweitertes Zustandsmodell (Grafische Darstellung) Add Bereit Swap-in Resign Assign Ready Prozess Umschalten Laufend Block Retire Beendet Bereit Suspendiert Swap-out Blockiert Swap-in Prozess Erzeugen Blockiert Suspendiert Prozess Beenden O. Kao Betriebssysteme 2-11 Erweitertes Modell für Prozesszustände Ein Prozess kann sich abhängig vom aktuellen Status in unterschiedlichen Zuständen befinden Initiiert: Prozess erzeugt, hat aber noch keine Betriebsmittel und bewirbt sich daher noch nicht um den Prozessor Bereit (Ready): Der Prozess hat alle notwendigen Betriebsmittel und wartet auf die Zuteilung des/eines Prozessors Rechnend, Laufend (Running): Der Prozess ist im Besitz des physikalischen Prozessors und wird aktuell ausgeführt Blockiert, Wartend (Waiting): Der Prozess wartet auf die Erfüllung einer Bedingung, z.b. Beendigung einer E/A-Operation und bewirbt sich derzeit nicht um den/einen Prozessor Bereit suspendiert: Der Prozess hat alle Betriebsmittel außer CPU und Hauptspeicher Blockiert suspendiert: Dem Prozess fehlt CPU, Speicher und wartet auf das Ende mindestens einer blockierenden Operation Beendet (Terminated): Zugeteilte Betriebsmittel freigegeben O. Kao Betriebssysteme 2-12

7 Zustandsübergänge Add Assign Block Ready Resign Swap-Out Swap-In Retire Neu erzeugter Prozess kommt in Klasse bereit Kontextwechsel und Prozessorzuteilung Aufruf einer blockierenden E/A-Operation oder Synchronisation Prozessor wird entzogen Blockierende Operation beendet, Prozess wartet auf erneute Prozessorzuteilung Entzug des Prozessors, z.b. aufgrund eines Timer- Interrupts Zeitscheibe abgelaufen Prozess (blockiert, bereit) wird ausgelagert bzw. Hauptspeicher wird erst gar nicht zugeteilt Prozessübertragung aus sekundärem in Hauptspeicher Prozess beendet, alle Ressourcen wieder freigegeben O. Kao Betriebssysteme Grundoperationen mit Prozessen Statische Betriebssysteme Alle Prozesse sind a-priori bekannt und definiert Prozesse werden für eine bestimmte Anwendung realisiert Beschreibende Datenstrukturen (PCB) werden von einem Konfigurationsprogramm einmalig erzeugt Dynamische Betriebssysteme Neue Prozesse können während der Laufzeit hinzukommen bzw. terminieren Dies wird mit folgenden Kernoperationen realisiert create_process(id, initialvalues) // Anlegen des Prozesskontrollblocks // Initialisierung des Prozesses delete_process(id, finalvalues) // Rückgabe der Endwerte // Löschen des Kontrollblocks O. Kao Betriebssysteme 2-14

8 Ereignisse zur Erzeugung von Prozessen Vier Ereignisse zur Erzeugung von Prozessen 1. Initialisierung des Systems: Meistens Hintergrundprozesse (Daemons) wie Terminaldienst, Mailserver, Webserver, 2. Prozesserzeugung durch andere Prozesse: Aufteilung des Prozesses in mehrere nebenläufig oder parallel auszuführende Aktivitäten, die als eigene Prozesse initialisiert werden 3. Benutzerbefehle zum Starten eines Prozesses (Kommandozeile oder grafische Oberfläche) 4. Initialisierung einer Stapelverarbeitung (bei Mainframes) Technischer Ablauf in allen Fällen gleich Bestimmter Prozess analysiert die Eingabe (z.b. von Benutzern oder Konfigurationsdateien) Prozess sendet einen Systemaufruf zur Prozesserzeugung und teilt dem BS mit, welches Programm darin ausgeführt werden soll O. Kao Betriebssysteme 2-15 Einzelne Schritte der Prozessgenerierung Folgende Schritte werden i.a. bei einem Prozess durchlaufen Erzeugung von ProcessID und Eintrag in die primäre Prozesstabelle Zuordnung von Speicherplatz Falls Informationen über Speicherbedarf mitgeliefert OK Sonst werden Defaultwerte abhängig vom Prozesstyp eingesetzt Initialisierung vom entsprechenden PCB Eintrag der ProcessID und der Eltern-ProcessID Alle Zustandsinformationen mit Nullen belegt Programmzähler und Stapelzeiger werden auf Anfangsadresse gesetzt In Abhängigkeit der angeforderten Ressourcen und Zuteilungsstatus wird der Prozesszustand festgelegt Priorität auf Default-Wert, üblicherweise sehr niedrig Setzen der erforderlichen Verknüpfungen, z.b. Integration des PCB in die Schedulingwarteschlangen O. Kao Betriebssysteme 2-16

9 Prozesserzeugung bei UNIX und Windows Systemaufruf bei UNIX ist fork Exakte Kopie des aufrufenden Prozesses wird erzeugt mit gleichen Umgebungsvariablen, Speicherabbild, geöffneten Dateien Üblicherweise ruft der Kindsprozess einen Befehl wie execve auf, um das Speicherabbild zu wechseln und ein neues Programm auszuführen Systemaufruf bei Windows ist CreateProcess mit 10 Parametern wie auszuführendes Programm, Parameter, Sicherheitseinstellungen, Priorität, Spezifikation über die zu erzeugenden Fenster, Zeiger auf Datenstruktur für die Prozessdaten In beiden Systemen haben Vater- und Kindprozess getrennte Adressräume Speicheränderungen z.b. vom Kindprozess sind für den Vater nicht sichtbar Kommunikation über gemeinsame Dateien allerdings möglich O. Kao Betriebssysteme 2-17 Manpage zu execve (Ausschnitt) BEZEICHNUNG execve - zum Ausführen von Programmen SYNTAX #include <unistd.h> int execve (const char *dateiname, const char * argv[], const char *envp[]); BESCHREIBUNG execve() führt das Programm aus, auf das dateiname zeigt. dateiname muss entweder ein binäres ausführbares Programm oder ein Shell-Skript ( ) sein. execve() kehrt beim Erfolg nicht zurück und der Text, die Daten und den Stapel des aufrufenden Prozesses wird durch das geladene Programm überschrieben. Das aufgerufene Programm erbt die PID des aufrufenden Prozesses, sowie jeden offenen Dateideskriptor, der zur Ausführung nicht geschlossen wurde. Signale bezüglich des elterlichen Prozesses werden gelöscht. Falls das aktuelle Programm ptraced wird, wird nach erfolgreichem execve() ein SIGTRAP gesendet. RÜCKGABEWERT Bei Erfolg kehrt execve() nicht zurück, bei Fehlern wird -1 zurückgegeben und errno wird dem entsprechend gesetzt. O. Kao Betriebssysteme 2-18

10 Prozesshierarchien Erzeugen die Kindprozesse weitere Prozesse (Kindkind prozesse), so entsteht eine Prozesshierarchie UNIX: Vaterprozess und Kindprozesse bilden eine Familie, d.h. Signale werden an alle Prozesse in der Familie verteilt und jeder Prozess entscheidet über Annahme und Verwertung Bei UNIX-Initialisierung wird init gestartet und erzeugt die Terminals (Anzahl definiert in Konfigurationsdatei) Nach Anmeldung erzeugen die Terminals shell-prozesse Shells erzeugen neue Prozesse bei Eingabe von Befehlen, Alle Prozesse gehören zu einem Baum mit init als Wurzel Windows: kein Konzept einer Prozesshierarchie Vaterprozess kann Kindprozess über ein Handle steuern Allerdings darf der Handle an andere Prozesse weitergegeben Prozesshierarchie wird außer Kraft gesetzt O. Kao Betriebssysteme 2-19 Typische Prozesshierarchie bei UNIX O. Kao Betriebssysteme 2-20

11 Prozessumschaltung (Process Switching) Aktuell aktiver Prozess wird aus dem Zustand laufend verdrängt Bereiter Prozess wechselt in den Zustand Laufend Notwendige Aktionen Sicherung des alten Kontextes Aktualisierung des PCBs und Einordnung in Warteschlange Laden des Kontextes des neuen Prozesses Aktualisierung des PCBs und der Speicherinformationen Aktualisierung des Kontextes durch Anpassung aller Verknüpfungen Auswahlprozess nahe Umschaltzeitpunkt unter dynamischer Auswertung von z.b. Prozessnummer (zyklisches Umschalten), Fairness, Priorität, O. Kao Betriebssysteme 2-21 Umschalttechniken Einfachste Umschaltform durch direkten Sprung Umschaltzeitpunkt und -ziel werden in Quellcode einprogrammiert Diese Minimallösung erlaubt effiziente Umschaltvorgänge und wird vor allem bei Realzeitsystemen eingesetzt Allerdings wenig flexibel und nur in Spezialfällen einsetzbar P1 L11 jump L21 L12 jump L22 P2 jump L11 L21 jump L12 L22 Bedingtes Umschalten Im Ablauf eines Prozesses können Situationen auftreten, welche zu einer Blockierung der Prozessausführung führen Eine solche Situation wird durch Bedingungsvariable ausgedruckt Falls die Bedingung erfüllt ist, wird umgeschaltet O. Kao Betriebssysteme 2-22

12 Automatisches Umschalten Einfügen von Umschaltstellen ist oft nicht möglich/sinnvoll Automatisches Umschalten Programme unverändert, das Umschalten wird von außen ausgelöst Wecker (Timer): E/A-Gerät mit zwei Funktionen Vorgabe einer Frist, z.b. Länge der Zeitscheibe Initialisierung einer Unterbrechung bei Fristablauf Sofern Unterbrechungen nicht unterbunden, wird beim Signal des Weckers ein automatischer Umschaltvorgang durchgeführt Umschalten im Allgemeinen wesentlich komplexer Unbekannter Umschaltzeitpunkt Merken der Fortsetzstelle Unbekanntes Umschaltziel Auswahl des nächsten Prozesses Überschneidung der benötigten Register, Attribute, Rettung des Kontextes des alten Prozesses und Laden des Kontextes des neuen Prozesses erforderlich O. Kao Betriebssysteme 2-23 Merken der Fortsetzstelle Vor der Umschaltung wird die Adresse des nächsten auszuführenden Befehls in einer speziellen Variable ni des PCB (next instruction) gespeichert L: SWITCH p_run.ni :=L Store address L in ni in PCB of the running process p_run Jump(p_next.ni) Was passiert, wenn der Prozess ausgelagert und anschließend in einen anderen Speicherbereich geladen wird? Befehlszähler gibt immer eine relative Adresse an Herstellung der Verknüpfung mit dem aktuellen Speicherbereich über Basis-, Index- und ähnliche Register Ermittlung der neuen Position der Fortsetzstelle im Speicher durch Laden des Kontextes und Aktualisierung der Registerwerte O. Kao Betriebssysteme 2-24

13 Leerlaufproblem Ist ein Wartezustand vorhanden, so können alle Prozesse in diesen Zustand übergehen Sonderfall bei Prozessumschaltung, da kein Prozess verdrängt werden muss Leerlaufprozess (idle process) Elegante Lösung zur Integration dieses Falls in den bestehenden Mechanismus mit folgenden Eigenschaften Beispiele Zyklischer Prozess, der nicht angehalten werden darf Geringste Priorität, so dass eine Verdrängung jederzeit möglich ist Leere Schleife while (TRUE) { } Dynamischer Stopp Spezialbefehl, der keinen Speicherzugriff durchführt und auf externe Signale reagiert Einlagerung nützlicher Aufgaben wie Prüfungen, Speicherbereinigung, O. Kao Betriebssysteme 2-25 Moduswechsel (Mode Switching) Die meisten Prozessoren unterscheiden aus Sicherheitsgründen zwischen Systemmodus (Kernmodus): Das BS besitzt die CPU und hat uneingeschränkten Zugriff auf alle Ressourcen Benutzermodus: Prozessor ist einer Anwendung zugeordnet, kritische Zugriffe können gesteuert/gesperrt werden Aktueller Modus wird im Programmstatuswort festgehalten O. Kao Betriebssysteme 2-26

14 Übergang Benutzermodus Systemmodus z.b. durch Unterbrechung Sicherung des Kontextes des laufenden Prozesses, vor allem der Informationen, die durch eine Unterbrechungsbehandlung verändert werden können Sprung zum Anfang der Unterbrechungsbehandlungsroutine Änderung des Systemmodus Moduswechsel (Mode Switching) Nach Behandlung der Unterbrechung wird unter Umständen wieder der alte Prozess ausgeführt (Bei Prozesswechsel kommt immer ein neuer Prozess zur Ausführung!) O. Kao Betriebssysteme 2-27 Normales Beenden (freiwillig) Prozessbeendigung Benutzer beendet Prozess oder Prozess ist abgearbeitet Aufruf von exit() bzw. ExitProcess() Aktion: Freigabe aller Ressourcen, Löschen temporärer Dateien Bedienungsfehler, z.b. falsche Parameter Einfache Programme beenden sich sofort Komplexe Programme fordern zur neuen Parametereingabe auf Schwerwiegender Fehler aufgetreten (Zugriff auf ungültige Adressen, unzulässige Befehle, Division durch 0, ) In einigen BS kann sich der Prozess um das Problem kümmern und die Verarbeitung mit einer Meldung unterbrechen Bei anderen BS terminiert der Prozess evtl. mit einer Fehlerbeschreibung Ein Prozess beendet anderen Prozess (Berechtigung vorausgesetzt) mit Aufrufen wie kill() oder TerminateProcess() O. Kao Betriebssysteme 2-28

15 2.3 Thread-Modell Das Prozess-Konzept bietet 2 voneinander unabhängige Einheiten 1. Einheit zur Ressourcenbündelung: ein Prozess verfügt über (Virtuellen) Adressraum Beschreibende Datenstrukturen wie PCB Quelltexte und Daten Weitere Betriebsmittel wie E/A-Geräte, Dateien, Kindprozesse 2. Ausführungseinheit, der der reale Prozessor zugeteilt wird Ausführungsablauf mit einem oder mehreren Programmen Verzahnte Ausführung mit anderen Prozessen Zustände (bereit, laufend, blockiert, terminiert, ) Priorität Bezeichnungen Bündelungseinheit (1): Prozess (Task) Ausführungseinheit (2): Leichtgewichtsprozess (Thread ) (Wiederholung KMS) O. Kao Betriebssysteme 2-29 Definition eines Threads Thread: Teil eines Prozesses mit folgenden Eigenschaften Keine vollständige Prozesstabelle wie der ursprüngliche Prozess Operiert im selben virtuellen und realen Adressraum Entspricht einem separaten Kontrollfluss dieses Prozesses Ein Thread besitzt eine eigene Threadtabelle mit Separatem Befehlszähler Eigenem Code- und Datenteil Register und Stapel (vollständige Verknüpfungsumgebung) Zustand Threads erweitern das Prozessmodell um die Möglichkeit der nebenläufigen Ausführung mehrerer, im hohen Grad voneinander unabhängiger Kontrollflüsse (Wiederholung KMS) O. Kao Betriebssysteme 2-30

16 Zusammenhang Prozesse und Threads Multi-Threaded: mehrere Threads innerhalb eines Prozesses Single-Threaded: ein Thread pro Prozess (klassisches Prozessverständnis) Prozesse Mac OS Ältere UNIX-Versionen Windows NT Solaris Mehrere Prozesse, aber ein Thread/Prozess MS-DOS Ein Prozess, ein Thread Mehrere Prozesse, mehrere Threads/Prozess Java run time engine Ein Prozess, mehrere Threads/Prozess Threads O. Kao Betriebssysteme 2-31 (Wiederholung KMS) Single- vs. Multi-Threaded Prozessmodell Zur Prozessausführung benötigte Daten (Wiederholung KMS) Single Threaded Programm Statische Daten Dynamische Daten Laufzeitkeller Niedrige Adresse Hohe Adresse Multi Threaded Programm Statische Daten Dynamische Daten Stapel 1 Stapel n Komponenten PCB Stapel Adressraum Adressraum PCB Thread Thread CB Stapel Thread Thread CB Stapel Single Threaded Multi Threaded O. Kao Betriebssysteme 2-32

17 Realisierung von Multithreading Verarbeitung startet üblicherweise mit einem einzigen Thread Thread_create(): dynamische Erzeugung weiterer Threads Funktionsparameter: auszuführende Prozedur und Startparameter Rückgabewert: Threadidentifikator Thread_yield(): Freiwillige Abgabe der CPU Kein Uhr-Interrupt vorhanden Für die Aufteilung der Rechenzeit zwischen der Threads ist der Entwickler zuständig Synchronisationsaufrufe wie thread_wait() legen eine Ausführungsreihenfolge fest Thread_exit() beendet einzelne Threads Wichtig Threads operieren im selben Adressraum kein Schutz durch das BS Konzepte wie fork() oder der Umgang mit gemeinsamen Datenstrukturen können zu Problemen führen Sorgfältiges und durchdachtes Design notwendig O. Kao Betriebssysteme 2-33 (Wiederholung KMS) Vorteile der multithreaded Programmierung Besseres Antwortverhalten bei interaktiven Anwendungen: Teile der Anwendung können weiter laufen / auf Benutzeranfragen reagieren, obwohl ein Teil durch E/A-Operationen blockiert ist BM-Teilung: Effiziente, flexible Nutzung zugeteilter Ressourcen Zeitersparnis bei grundlegenden Threadoperationen Allokierung von Speicher und anderen BM ist zeitaufwendig Erzeugen und wechseln von Prozessen dauert lange Diese Zeit wird bei Threads durch Ressourcenteilung verkürzt Beispiel Solaris: Prozesserzeugung 30 Mal langsamer als Threaderzeugung, Prozesswechsel 5 Mal langsamer als Threadwechsel Nutzung paralleler Architekturen: Ein-Prozess-Anwendungen laufen auf einer CPU, selbst wenn mehrere CPUs vorhanden sind. Multithreaded Anwendungen nutzen die echte Parallelität aus O. Kao Betriebssysteme 2-34 (Wiederholung KMS)

18 Threadtypen Grundsätzlich werden Threads aufgeteilt in Kernel-Level-Threads (KL-Threads): realisiert im Kernadressraum User-Level-Threads (UL-Threads): realisiert im Benutzeradressraum Hybride Realisierung sind allerdings auch möglich Realisierung im Benutzeradressraum Realisierung im Kernadressraum (Wiederholung KMS) O. Kao Betriebssysteme 2-35 Multithreading-Modelle Modelle für hybride Unterstützung von KL- und UL-Threads Zuordnung vieler UL-Threads zu einem KL-Thread (many-to-one) Zuordnung eines UL-Threads zu einem KL-Thread (one-to-one) Zuordnung mehrerer UL- zu mehreren KL-Threads (many-to-many) UL-Threads KL-Threads (Wiederholung KMS) O. Kao Betriebssysteme 2-36

19 2.4 Beispiel für Threadbibliotheken: Pthreads Spezifikation (keine Implementierung!) der Pthreads bezieht sich auf den POSIX Standard API definiiert Verhalten, Implementierung betriebssystemabhängig UL-Thread Bibliothek, keine deutliche Verbindung zu KL-Threads Pthreads üblicherweise beschränkt auf UNIX Systeme Für Windows Systeme sind Sharewarebibliotheken verfügbar Wichtige Elemente pthread.h: Headerfile mit Deklarationen und Definitionen pthread_t handle: Grundlegende Datenstruktur für den zu erstellenden Thread pthread_attr_t attr: Festzulegende Threadattribute (Defaultwerte, wenn nichts angegeben) pthread_func_t thread_func: Auszuführende Funktion arg: Zeiger auf Anwendungsparameter O. Kao Betriebssysteme 2-37 Verwaltungsroutinen für Pthreads Erzeugen und Starten eines Threads int pthread_create(pthread_t *handle, pthread_attr_t *attr, pthread_func_t *thread_func, pthread_addr_t *arg); Rückgabewert: Null bei erfolgreiche Ausführung; Sonst Fehler Rückgabe des Ergebnisses int pthread_exit(pthread_addr_t *result) Warten auf das Ergebnis an beliebiger Stelle int pthread_join(pthread_t *handle, pthread_addr_t *result); Beendigung (cancel) und Löschung (detach) eines Threads int pthread_cancel(pthread_t *handle); int pthread_detach(pthread_t *handle); Ausschlussoperation, um Unterbrechungen zu unterbinden int pthread_setcancel (int state); O. Kao Betriebssysteme 2-38

20 Wechselseitiger Ausschluss Binäre Semaphore mit den Zuständen gesperrt und frei int pthread_mutex_init (pthread_mutex_t *mutex, pthread_mutexattr_t attr); Sperren eines Semaphors int pthread_mutex_lock(pthread_mutex_t *mutex); Testoperation int pthread_mutex_trylock(pthread_mutex_t *mutex); Freigabe eines gesperrten Semaphors int pthread_mutex_unlock(pthread_mutex_t *mutex); Löschen eines Semaphors int pthread_mutex_destroy(pthread_mutex_t *mutex); Analog mit Bedingungsvariablen Formulierung allgemeiner Synchronisationsbedingungen Dient zum längeren Warten, bis eine Bedingung wahr wird O. Kao Betriebssysteme 2-39 Beispielprogramm #include <pthread.h> int sum; /* globale Variable für alle Threads */ void *runner(void *param); /* Thread */ main(int argc, char *argv[]) { pthread_t handle; pthread_attr_t attr; pthread_attr_init(&attr); /* Aktuelle Attribute */ pthread_create(&handle, &attr, runner, argv[1]); /* Erzeuge Thread */ pthread_join(&handle, NULL); /* Warte bis Thread fertig */ printf( sum=%d\n,sum); } void *runner(void *param) { /* Der Thread bekommt die Kontrolle in dieser Funktion */ int upper=atoi(param); int i; sum = 0; if (upper>0) { for (i=1;i<=upper;i++); sum += i; } pthread_exit(null); /* Thread beendet sich und übergibt die Kontrolle an das Hauptprogramm */ O. Kao Betriebssysteme 2-40

21 Threadbibliothek in Solaris 2 Solaris 2 unterstützt KL- und UL-Threads, symmetrische Multiprozessoren (SMP) und Echtzeitscheduling (Pthread API) Erweiterung: Leichtgewichtsprozesse (LWP) als Zwischenstufe zwischen UL- und KL-Threads Zuordnung UL-Threads zum Pool von LWPs (many-to-many) Jeder LWP ist einem KL-Thread zugeordnet (one-to-one) Sind n UL-Threads einem LWP zugeordnet, dann sind n-1 inaktiv (blockiert, wartend für LWP) und nur 1 UL-Thread aktuell rechnend (oder bereit) O. Kao Betriebssysteme 2-41 Threadbibliothek in Solaris 2 (2) Wichtiges Attribut für die UL-Threads Gebunden an LWP (bound): Permanent bereit oder auf einer dedizierten CPU laufend, wichtig z.b. bei Echtzeitanwendungen Ungebunden (unbound): Zuordnung UL -> LWP erfolgt dynamisch während der Laufzeit (Default-Einstellung) Eigenschaften dieser Lösung Beliebig viele UL-Threads möglich, LWP-Anzahl wird von der Threadbibliothek automatisch bestimmt beste Leistung für die Anwendung Erzeugung, Zuordnung, Scheduling, Löschung von UL-Threads effizient im Benutzerraum durchführbar BS versetzt KL-Threads in Zustand laufend/bereit/blockiert Blockiert ein KL-Thread, so sind auch der LWP und die zugeordneten UL- Threads blockiert Zusätzlicher LWP notwendig, damit bereite UL- Threads dennoch ausgeführt werden können LWPs werden automatisch nach Timeout (üblicherweise 5 Minuten) wegen Inaktivität gelöscht O. Kao Betriebssysteme 2-42

22 2.5 Zuteilungsverfahren Grundlegende Zuteilungsaufgaben Koordination und Synchronisation von Prozessen Sicherstellung der Benutzererwartungen Statische und dynamische Zuordnung von Betriebsmitteln Ziele der Strategien zur Betriebsmittelzuteilung Optimierung der Betriebsmittelauslastung Konfliktfreie Zuteilung Zumindest Minimalverfügbarkeit von Betriebsmitteln sicherstellen Typen von Zuteilungsverfahren Long-term Medium-term Short-term Start eines neuen Prozesses Erstzuweisung von Hauptspeicher Zustandswechsel des Prozesses } Scheduler } Dispatcher Koordination der Ein- und Ausgabeaktivitäten Kernaufgabe: Effiziente Zuteilung des Prozessors (Scheduling) O. Kao Betriebssysteme 2-43 Prozessverhalten Bei fast allen Prozessen wechseln sich Zeiten mit hoher Rechenlast und Zeiten mit hoher Ein- und Ausgabelast ab Unterscheidung Berechnungslastige Prozesse: lange, ununterbrochene Nutzung der CPU, relativ seltene E/A-Phasen E/A-lastige Prozesse: kurze CPU-Nutzungszeiten, häufige E/A-Phasen CPU-Belastung Warten auf E/A Schlüsselfaktoren für Scheduling Länge der CPU-Nutzung in einem Zyklus Verwaltungsoverhead für E/A z.b. bei Festplatten unabhängig von der Größe der gelesenen Daten Schere zwischen Geschwindigkeiten von E/A-Geräten und Prozessorgeschwindigkeiten geht immer weiter auf Scheduling von E/Alastigen Prozessen entscheidend für die Effizienz des Gesamtsystems O. Kao Betriebssysteme 2-44

23 Typen von Zuteilungsverfahren Initiiert Beendet Bereit Bereit Suspendiert Laufend Blockiert Blockiert Suspendiert Short-Term-Scheduling Mid-Term-Scheduling Lomg-Term-Scheduling O. Kao Betriebssysteme 2-45 Typen von Zuteilungsverfahren (2) Long-term-Scheduling Verantwortlich für Multiprogramming: je höher die Anzahl nebenläufig ablaufender Prozesse, desto länger die Antwortzeit Aktivierung bei Unter/Überschreitung von CPU-Auslastungsgrenzen Auswahlkriterien zur Initialisierung eines neuen Prozesses Priorität Geschätzte Laufzeit und Prozessverhalten, weitere BM-Anforderungen Mid-term Scheduling Zuständig für die Feinabstimmung des Multiprogramming, hauptsächlich durch Ein- und Auslagerung von Prozessen Aktivierung abhängig von den Speicheranforderungen der Prozesse Short-term Scheduling Direkte Umsetzung des Prozesszustandwechsels Verwaltung von Ereignissen wie Timessignale und E/A-Unterbrechungen Systemaufrufe und Umschalten in privilegierten Modus O. Kao Betriebssysteme 2-46

24 Bekannte Strategien Schedulingstrategien FCFS (First Come First Served) LCFS-PR (Last Come First Served Pre-emptive Resume) SJN (Shortest Job Next), SRTN (Shortest Remaining Time Next) PRIO-NP (Priorities Non pre-emptive) Zeitscheibenverfahren (Round Robin) Multilevel-Feedback-Scheduling Anpassung an Ausführungsverhalten (Modifikation der Zeitscheibenlänge) und an Ausführungszeit (Stufenweise Prioritätenreduktion) Vorgehensweise Verdrängte Prozesse kommen in darunterliegender Bereit-Liste Bei blockierenden Operationen oder bei freiwilliger CPU-Abgabe verbleiben die Prozesse in der Warteschlange Bevorzugung E/A-intensiver Anwendungen Zusätzliche Feedback-Mechanismen ermöglichen eine Hochstufung (kürzere Zeitscheibe/höhere Priorität) O. Kao Betriebssysteme 2-47 Multilevel-Feedback- Scheduling Zugang Warteschlange 1 Zeitscheibe 8 ms CPU Abgang Hohe Priorität Zugang Warteschlange 2 Zeitscheibe 16 ms CPU Abgang Zugang Warteschlange 3 Zeitscheibe 32 ms CPU Abgang Zugang Warteschlange n FCFS CPU Abgang Geringe Priorität O. Kao Betriebssysteme 2-48

25 Schedulingbeispiel: Solaris 2 Vier Klassen für prioritätenbasierten Scheduling vorhanden Echtzeit, System, Zeitscheiben (Time Sharing) und Interaktiv Jede Klasse kann über unterschiedliche Schedulingpolicies und Prioritäten verfügen Klasse Zeitscheiben wird nach Multilevel-Feedback verwaltet Klasse Interaktiv benutzt die gleiche Policy wie Zeitscheiben, gewährt aber Anwendungen mit GUI-Ausgabe höhere Prioritäten Klasse System umfasst Prozesse, die in Kernmodus laufen, z.b. der Scheduler und der Paging Daemon Keine Zeitscheiben Prozesse laufen, bis sie blockieren, die CPU freiwillig abgeben oder bis Prozesse höherer Priorität da sind Prioritäten ändern sich nicht Echtzeitprozesse haben die höchste Priorität aller Klassen Konvertierung der Klassenprioritäten in globale Prioritäten durch BS Bei mehrerer Prozessen gleicher Priorität wird nach Round-Robin vorgegangen O. Kao Betriebssysteme 2-49 Schedulingbeispiel: Solaris 2 (2) Globale Priorität Scheduling- Reihenfolge Klassenspezifische Prioritäten Warteschlangen Höchste Priorität Erster Echtzeit Kernelthreads von Echtzeit-LWPs System Threads für Kerndienste Niedrigste Priorität Letzter Interaktiv, Zeitscheiben Kernelthreads von interaktiven LWPs und LWPs mit Zeitscheiben O. Kao Betriebssysteme 2-

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

Ü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

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

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

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

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

Mehr

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

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

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

Systeme 1. Kapitel 5. Scheduling

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

Mehr

Systeme I: Betriebssysteme Kapitel 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

Betriebssysteme (BTS)

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

Mehr

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

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

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

Mehr

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

Übung zu Grundlagen der Betriebssysteme. 8. Übung 04.12.2012

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

Mehr

8. Vorlesung Betriebssysteme

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

Mehr

Betriebssysteme Kap F: CPU-Steuerung CPU-Scheduling

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

Mehr

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

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

Mehr

7.Vorlesung Betriebssysteme Hochschule Mannheim

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

Mehr

Betriebssysteme. CPU-Scheduling - Fallbeispiele. Sommersemester 2014 Prof. Dr. Peter Mandl. Prof. Dr. Peter Mandl Seite 1.

Betriebssysteme. CPU-Scheduling - Fallbeispiele. Sommersemester 2014 Prof. Dr. Peter Mandl. Prof. Dr. Peter Mandl Seite 1. CPU-Scheduling - Fallbeispiele Sommersemester 2014 Prof. Dr. Peter Mandl Prof. Dr. Peter Mandl Seite 1 Gesamtüberblick 1. Einführung in 2. Betriebssystemarchitekturen und Betriebsarten 3. Interruptverarbeitung

Mehr

Scheduling. Gliederung. Was ist Scheduling? Scheduling. Übersicht: 1. Einführung und Übersicht. 2. Prozesse und Threads. 3. Interrupts. 4.

Scheduling. Gliederung. Was ist Scheduling? Scheduling. Übersicht: 1. Einführung und Übersicht. 2. Prozesse und Threads. 3. Interrupts. 4. Gliederung 1. Einführung und Übersicht 2. Prozesse und Threads 3. Interrupts 4. 5. Synchronisation 6. Interprozesskommunikation 7. Speicherverwaltung Cl. Schnörr / HM 1 Gliederung Cl. Schnörr / HM 2 Was

Mehr

Prozesse und Logs Linux-Kurs der Unix-AG

Prozesse und Logs Linux-Kurs der Unix-AG Prozesse und Logs Linux-Kurs der Unix-AG Andreas Teuchert 27./28. Juni 2012 Prozesse unter Linux gestartete Programme laufen unter Linux als Prozesse jeder Prozess hat eine eindeutige Prozess-ID (PID)

Mehr

Prozesse und Logs Linux-Kurs der Unix-AG

Prozesse und Logs Linux-Kurs der Unix-AG Prozesse und Logs Linux-Kurs der Unix-AG Benjamin Eberle 22. Januar 2015 Prozesse unter Linux gestartete Programme laufen unter Linux als Prozesse jeder Prozess hat eine eindeutige Prozess-ID (PID) jeder

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

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

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

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

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

5 CPU Scheduling. FH Regensburg BT/SS04 Betriebssysteme Wirtschaftsinformatik. 5.1 Grundlagen - 54 - 5.1.1 CPU Burst / I/O Burst

5 CPU Scheduling. FH Regensburg BT/SS04 Betriebssysteme Wirtschaftsinformatik. 5.1 Grundlagen - 54 - 5.1.1 CPU Burst / I/O Burst FH Regensburg BT/SS04 5 CPU Scheduling 5.1 Grundlagen 5.1.1 CPU Burst / I/O Burst Beobachtung: Programme rechnen typischerweise etwas, dann tätigen sie Ein/Ausgabe: CPU-Burst: das Programm rechnet eine

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

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

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

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

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

Klassisches Scheduling-Problem 6 Prozesse 3 Prozessoren. Strategie und Mechanismus

Klassisches Scheduling-Problem 6 Prozesse 3 Prozessoren. Strategie und Mechanismus Betriebssysteme Sommersemester 0. Einführung Betriebssysteme. Kapitel Scheduling Prof. Matthias Werner Professur Betriebssysteme Scheduling (etwa: Ablaufplanung): Zeitliche Zuordnung von Aktivitäten zu

Mehr

Vorl. 6: Single- und Multitasking

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

Mehr

Timm M. Steinbeck und Arne Wiebalck Lehrstuhl für Technische Informatik Universität Heidelberg. Prozess-Monitoring auf CPU-Takt Ebene

Timm M. Steinbeck und Arne Wiebalck Lehrstuhl für Technische Informatik Universität Heidelberg. Prozess-Monitoring auf CPU-Takt Ebene Timm M. Steinbeck und Arne Wiebalck Lehrstuhl für Technische Informatik Universität Heidelberg Prozess-Monitoring auf CPU-Takt Ebene Einleitung Unser Arbeitsgebiet: ALICE Teilchenphysik Experiment Cluster

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

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Sep 2012. 4) Task-Verwaltung

DHBW Stuttgart, Studiengang Elektrotechnik, 5. HJ, Vorlesung: Realzeitsysteme Sep 2012. 4) Task-Verwaltung Inhalte Eigenschaften von Rechenprozessen (Tasks) Taskübergänge (process control block) Multitasking (kooperativ und präemptiv) Scheduler Erzeugen, Starten und Beenden von Tasks Taskzustände (running,

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

Betriebssysteme (BS)

Betriebssysteme (BS) Betriebssysteme (BS) Prozesse Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund Olaf.Spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/ http://ess.cs.tu-dortmund.de/de/teaching/ss2011/bs/

Mehr

Kapitel III. Prozesse. Prozessverwaltung. Was ist ein Prozess?

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

Mehr

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

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

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

Mehr

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

1. Prozesse & Threads (10 Punkte)

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

Mehr

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

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

5) Realzeitscheduling

5) Realzeitscheduling Inhalte Anforderungen Klassifizierungen Verschiedene Verfahren: FIFO, Round Robin, Least Laxity, EDF, fixed/dyn. Prio. Beispiele und Aufgaben Seite 1 Motivation Gegeben: Ein Einprozessorsystem, das Multiprogrammierung

Mehr

Scheduling. Teil 2. Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012

Scheduling. Teil 2. Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012 Scheduling Teil 2 Prof Dr Margarita Esponda Freie Universität Berlin WS 2011/2012 Multilevel Feedback Queue Scheduling Vier Prioritätsklassen Beispiel: neue Prozesse Quantum = 4 Höchste Priorität Quantum

Mehr

fork () Hans-Georg Eßer, Hochschule München Betriebssysteme I, SS 2008 2. Prozesse (2/2) Folie 4

fork () Hans-Georg Eßer, Hochschule München Betriebssysteme I, SS 2008 2. Prozesse (2/2) Folie 4 Sep 19 14:20:18 amd64 sshd[20494]: Accepted rsa for esser from ::ffff:87.234.201.207 port 61557 Sep 19 14:27:41 amd64 syslog-ng[7653]: SAS: dropped 0 Sep 20 01:00:01 amd64 /usr/sbin/cron[29278]: (root)

Mehr

3. Unix Prozesse. Betriebssysteme Harald Kosch Seite 57

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

Mehr

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üfungs-)Aufgaben zum Thema Scheduling

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

Mehr

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

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

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

Mehr

6. Tutorium zu Softwaretechnik I

6. Tutorium zu Softwaretechnik I 6. Tutorium zu Softwaretechnik I Parallelität und Testen Michael Hoff 01.07.2014 INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

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

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

Parallelverarbeitung mit Ruby

Parallelverarbeitung mit Ruby Fachhochschule Wiesbaden - Fachbereich DCSM Parallelverarbeitung mit Ruby Prozess-Ebene Multithreading 04.12.2008 2003, 2008 H. Werntges, FB Design Informatik Medien (DCSM), FH Wiesbaden 1 Fachhochschule

Mehr

Quantitative Methoden. Betriebssysteme

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

Mehr

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

Prozesse. Stefan Janssen. sjanssen@cebitec.uni-bielefeld.de. Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de

Prozesse. Stefan Janssen. sjanssen@cebitec.uni-bielefeld.de. Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de Netzwerk - Programmierung Prozesse Stefan Janssen sjanssen@cebitec.uni-bielefeld.de Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de Madis Rumming mrumming@cebitec.uni-bielefeld.de Übersicht Prozesse

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

Prozesseinplanung. Kurzfristige Einplanung. Mittelfristige Einplanung. Abfertigungszustände

Prozesseinplanung. Kurzfristige Einplanung. Mittelfristige Einplanung. Abfertigungszustände Prozesseinplanung Kurzfristige Einplanung Systemaufrufe Programmverwaltung Zugriffskontrolle Dateiverwaltung Ein /Auslagerung Vernetzung Ein /Ausgabe Fadenverwaltung Koordination Prozesseinplanung Prozessabfertigung

Mehr

Realtimescheduling im Linux Kernel

Realtimescheduling im Linux Kernel Realtimescheduling im Linux Kernel Der Scheduler von Linux wird in seiner Funktionsweise erklärt. Die Beschreibung basiert auf dem Beitreag Der O(1)-Scheduler im Kernel 2.6 von Timo Hönig im Linux-Magazin.

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

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

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

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

Betriebssystembau (BSB)

Betriebssystembau (BSB) Betriebssystembau (BSB) Kontrollflussverwaltung http://ess.cs.tu-dortmund.de/de/teaching/ws2014/bsb/ Olaf Spinczyk olaf.spinczyk@tu-dortmund.de http://ess.cs.tu-dortmund.de/~os AG Eingebettete Systemsoftware

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

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

OSEKtime - Time-Triggered OSEK/OS

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

Mehr

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

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

bzw. 7. Nebenläufigkeit

bzw. 7. Nebenläufigkeit 7. Nebenläufigkeit 7.1 Terminologie Thread: - In einer bestimmten Reihenfolge (sequentiell) auszuführende Folge von Instruktionen, - Typischerweise ein Ausführungskeller für Prozeduraufrufe und Rekursion,

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. 11. Betriebssysteme und Prozesse. Inhalt. Ziele von Betriebssystemen. Betriebssystemkomponenten. Betriebssystemkomponenten

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

Mehr

www.heimetli.ch Heimetli Software AG HSWModule ... Senden und Empfangen von SMS-Meldungen mit einem GSM-Modul Version 1.01 5.

www.heimetli.ch Heimetli Software AG HSWModule ... Senden und Empfangen von SMS-Meldungen mit einem GSM-Modul Version 1.01 5. www.heimetli.ch. Heimetli Software AG HSWModule........ Senden und Empfangen von SMS-Meldungen mit einem GSM-Modul Version 1.01 5. August 2005 Inhaltsverzeichnis Was ist HSWModule?... 1 Installation...

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

Dynamic Ressource Management

Dynamic Ressource Management best Open Systems Day Fall 2006 Dynamic Ressource Management Unterföhring Marco Kühn best Systeme GmbH kuehn@best.de Agenda Überblick Dynamic Resource Pools und FSS Dynamic Resource Memory RCAP Oracle

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

1.6 Anwendung/Prozesse, Umleitung und Verkettung

1.6 Anwendung/Prozesse, Umleitung und Verkettung 1.6 Anwendung/e, Umleitung und Verkettung 1.6.1 e Ein (englisch task) ist ein im Lauf befindliches Programm. Auf einem Linux-System erhält man mit den Befehlen ps (process list), top (table of processes)

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 WS 2012/13 Peter Klingebiel, DVZ. Zusammenfassung Kapitel 4 - Datenträger/Dateiverwaltung

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

Mehr

^ 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

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

PIWIN 1 Übung Blatt 5

PIWIN 1 Übung Blatt 5 Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:

Mehr

Zusammenfassung zur Vorlesung im Wintersemester 2009/2010

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

Mehr

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

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

Der linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v)

Der linke Teilbaum von v enthält nur Schlüssel < key(v) und der rechte Teilbaum enthält nur Schlüssel > key(v) Ein Baum T mit Knotengraden 2, dessen Knoten Schlüssel aus einer total geordneten Menge speichern, ist ein binärer Suchbaum (BST), wenn für jeden inneren Knoten v von T die Suchbaumeigenschaft gilt: Der

Mehr

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

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

Mehr

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

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

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

Führen Sie zum Einstieg in die Materie einige Systemdiagnosen durch. Benutzen Sie dabei winmsd.exe.

Führen Sie zum Einstieg in die Materie einige Systemdiagnosen durch. Benutzen Sie dabei winmsd.exe. Aufgabe 1.1: Systeminformationen Führen Sie zum Einstieg in die Materie einige Systemdiagnosen durch. Benutzen Sie dabei winmsd.exe. a) Wie lautet der Name des von Ihnen verwendeten Rechners? Der Systemname

Mehr