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

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

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

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

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

Mehr

Ü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

Der Scheduler von Windows Konzepte und Strategien

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

Mehr

Round-Robin Scheduling (RR)

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

Mehr

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

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

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

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

Mehr

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

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

Mehr

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

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

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

Mehr

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

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

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

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

Mehr

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

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

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

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

Mehr

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

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

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

Mehr

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

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

Mehr

RTEMS- Echtzeitbetriebssystem

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

Mehr

Domänenanalyse Threadverwaltung/Scheduling

Domänenanalyse Threadverwaltung/Scheduling Domänenanalyse Threadverwaltung/Scheduling Johannes Handl, Marc Rößler, Christian Strengert 15. Mai 2003 Domänenanalyse Threadverwaltung/Scheduling [1] Domänendefinition Die Erzeugung, Verwaltung, Umschaltung/Wechsel,

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

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

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

Mehr

Kapitel III. Prozessverwaltung. VO Betriebssysteme

Kapitel III. Prozessverwaltung. VO Betriebssysteme Kapitel III Prozessverwaltung V 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

Mehr

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

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

Mehr

4 Threads. FH Regensburg BT/SS04 Betriebssysteme Wirtschaftsinformatik. 4.1 Allgemein

4 Threads. FH Regensburg BT/SS04 Betriebssysteme Wirtschaftsinformatik. 4.1 Allgemein 4 Threads 4.1 Allgemein Prozessmodell: Zwei unabhängige Eigenschaften eines Prozesses: Er hat Resourcen: Adressen, Daten, geöffnete Dateien und ist ausführbar Thread: hat keine eigenen Resourcen (ausser

Mehr

Betriebssysteme Kapitel E : Prozesse

Betriebssysteme Kapitel E : Prozesse Betriebssysteme Kapitel E : Prozesse 1 Inhalt Prozesse Zustand eines Prozesses» Kontext» Kontextswitch Prozessbeschreibungsblock PCB Zustandsübergänge» Zustandsdiagramm 2 Hinweis Ein Programm(code) kann

Mehr

3. Scheduler und Schedulingstrategien

3. Scheduler und Schedulingstrategien 5 3 Scheduler und Schedulingstrategien Unter Scheduling versteht man einen Ablaufplan, einen Fahrplan oder eine Auswahlstrategie, nach der ein knappes Betriebsmittel im Wettbewerb befindlichen Prozessen

Mehr

Betriebssysteme I WS 2015/2016. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404

Betriebssysteme I WS 2015/2016. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404 Betriebssysteme I WS 2015/2016 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 17. Dezember 2015 Betriebssysteme / verteilte Systeme

Mehr

Einführung. Schedulingziel. Klassisches Scheduling-Problem. 6. Kapitel Ressource Prozessor: Scheduling

Einführung. Schedulingziel. Klassisches Scheduling-Problem. 6. Kapitel Ressource Prozessor: Scheduling Wintersemester 06/07 6. Kapitel Ressource Prozessor: Scheduling Prof. Matthias Werner 6 Professur Betriebssysteme Einführung Bisher: Wenn ein Prozesses den Prozessor aufgibt (Zustand laufend verlässt),

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

PThreads. Pthreads. Jeder Hersteller hatte eine eigene Implementierung von Threads oder light weight processes

PThreads. Pthreads. Jeder Hersteller hatte eine eigene Implementierung von Threads oder light weight processes PThreads Prozesse und Threads Ein Unix-Prozess hat IDs (process,user,group) Umgebungsvariablen Verzeichnis Programmcode Register, Stack, Heap Dateideskriptoren, Signale message queues, pipes, shared memory

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

Threads and Scheduling

Threads and Scheduling Vorlesung Betriebssysteme WS 2010, fbi.h-da.de Threads and Scheduling Jürgen Saala 1. Threads 2. Scheduling 2 1. Threads 3 Prozesse mit je 1 Adressraum 1 Ausführungsfaden d.h. Unabhängiger Adressraum mit

Mehr

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

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

Mehr

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

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

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

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

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

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

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

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

Mehr

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

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

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

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

Mehr

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

Operating System Kernels

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

Mehr

Prozesse und Scheduling

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

Mehr

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

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

Mehr

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

Systemsoftware (SYS)

Systemsoftware (SYS) 5.Vorlesung Systemsoftware (SYS) Christian Baun cray@unix-ag.uni-kl.de Hochschule Mannheim Fakultät für Informatik Institut für Robotik 2.11.2007 Wiederholung vom letzten Mal Redundant Array of independent

Mehr

Übungen zum Fach Betriebssysteme Kapitel 3

Übungen zum Fach Betriebssysteme Kapitel 3 Übungen zum Fach Betriebssysteme Kapitel 3 Prof. Dr. Kern & Prof. Dr. Wienkop Prozessverwaltung 1 Prozeßauslagerung Ein Betriebssystem, das die Zustände "rechnend", "bereit" und "wartend" sowie den künstlichen

Mehr

Betriebssysteme (BTS)

Betriebssysteme (BTS) 5.Vorlesung Betriebssysteme (BTS) Christian Baun cray@unix-ag.uni-kl.de Hochschule Mannheim Fakultät für Informatik Institut für Betriebssysteme 30.3.2007 Wiederholung vom letzten Mal Redundant Array of

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

Kapitel 2: Betriebssysteme

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

Mehr

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

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

Mehr

2Binden 3. und Bibliotheken

2Binden 3. und Bibliotheken 3 Vom C-Programm zum laufenden Prozess 3.1 Übersetzen - Objektmodule 1Übersetzen 3. - Objektmodule (2) Teil III 3Vom C-Programm zum laufenden Prozess 2. Schritt: Compilieren übersetzt C-Code in Assembler

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

Musterlösung Prüfung SS 2002

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

Mehr

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

Test (Lösungen) Betriebssysteme, Rechnernetze und verteilte Systeme

Test (Lösungen) Betriebssysteme, Rechnernetze und verteilte Systeme Seite 1 Test (Lösungen) Betriebssysteme, Rechnernetze und verteilte Systeme 1 11.07.2007 Hinweise: Bevor Sie mit der Bearbeitung der Aufgaben beginnen, müssen Sie auf allen Blättern Ihren Namen und Ihre

Mehr

PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN

PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN PROGRAMMIEREN MIT UNIX/LINUX-SYSTEMAUFRUFEN 2. UNIX/Linux-Prozessverwaltung und zugehörige Systemaufrufe Wintersemester 2015/16 2. Die UNIX/LINUX-Prozessverwaltung Aufgaben: 1. Erzeugen neuer Prozesse

Mehr

Betriebssysteme (BS)

Betriebssysteme (BS) Betriebssysteme (BS) Scheduling 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/ss2012/bs/

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

VORSTELLUNG DER DIPLOMARBEIT

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

Mehr

Thread-Erzeugung kostengünstiger als Prozesserzeugung Thread-Umschaltung kostengünstiger als Prozessumschaltung

Thread-Erzeugung kostengünstiger als Prozesserzeugung Thread-Umschaltung kostengünstiger als Prozessumschaltung 1.5 Threaded Server Server als ein Prozess mit mehreren Threads Threads Thread als Aktivitätsträger virtueller Prozessor eigener Programmzähler eigener Stackbereich eingebettet in den Kontext eines Prozesses

Mehr

Prozesse: Prozesskontrollblock, -zustände, -umschaltung

Prozesse: Prozesskontrollblock, -zustände, -umschaltung Prozesse: Prozesskontrollblock, -zustände, -umschaltung Vorweg sollte geklärt werden, was Prozess bedeutet, wenn man im Kontext über Betriebssystemen davon redet Ein Prozess ist ein Programm während der

Mehr

OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme

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

Mehr

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

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

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

Mehr

Hausübung 2(Musterlösung)

Hausübung 2(Musterlösung) SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Hausübung 2(Musterlösung) 2014-05-12 bis 2014-05-23 Hausübungsabgabe: Format: Lösungen in schriftlicher

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

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

(b) Worin besteht der Unterschied zwischen online und offline Scheduling?

(b) Worin besteht der Unterschied zwischen online und offline Scheduling? Universität Paderborn Fachgebiet Rechnernetze SoSe 2013 Konzepte und Methoden der Systemsoftware Präsenzübung 3 2013-05-06 bis 2013-05-10 Aufgabe 1: Scheduling - Grundbegriffe Bekanntlich gibt es für das

Mehr

Technische Informatik 1

Technische Informatik 1 Technische Informatik 1 7 Prozesse und Threads Lothar Thiele Computer Engineering and Networks Laboratory Betriebssystem 7 2 7 3 Betriebssystem Anwendung Anwendung Anwendung Systemaufruf (syscall) Betriebssystem

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

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

Prozesse und Threads. Prozess. Trace. Einfachstes Prozessmodell. Traces

Prozesse und Threads. Prozess. Trace. Einfachstes Prozessmodell. Traces Prozesse und s Begriffe und Konzepte Prozesszustände Kontrollstrukturen des BS Prozesse BS s Peter Puschner 1 Vorlesung Betriebssysteme, Prozesse; WS 05/06 2 Prozess Animated Spirit of a program ausführbares

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

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

Domänenmodell: Fadenkommunikation und -synchronisation

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

Mehr

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

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Wolfram Burgard

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

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

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

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

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl Übung zur Vorlesung Grundlagen Betriebssysteme und Systemsoftware (Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de) http://www11.in.tum.de/veranstaltungen/grundlagenbetriebssystemeundsystemsoftwarews1112

Mehr

Was ist ein Prozess?

Was ist ein Prozess? Prozesse unter UNIX Definition Was ist ein Prozess? Zeitliche Abfolge von Aktionen Ein Programm, das ausgeführt wird Prozesshierachie Baumstruktur INIT-Prozess ist die Wurzel (pid=1) und wird beim Booten

Mehr

Linux Prinzipien und Programmierung

Linux Prinzipien und Programmierung Linux Prinzipien und Programmierung Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2014 1 / 28 Kritische Bereiche bei Threads Deadlocks Conditions/Semaphore 2 / 28 Beispiel aus der letzten Vorlesung

Mehr

Zusammenfassung Modul 223

Zusammenfassung Modul 223 Zusammenfassung Modul 223 von Christian Roth Powered by Schuschu Bison Schweiz AG, Surentalstrasse 10, CH-6210 Sursee, www.bison-group.com Inhaltsverzeichnis 1 Entwurfmuster... 3 1.1 Singleton... 3 1.1.1

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

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

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

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

Mehr

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