2 Prozesse und Threads

Größe: px
Ab Seite anzeigen:

Download "2 Prozesse und Threads"

Transkript

1 Betriebssysteme Folie Prozesse und Threads Programm statische Folge von Anweisungen und Daten befindet sich im Allgemeinen als Datei auf einer Festplatte der Dateiinhalt entspricht den Regeln des Betriebssystems für ausführbare Programme (exe-format, elf-format,...) Prozess dynamische Folge von Aktionen (Zustandsänderungen) führt ein Programm auf einem Prozessor aus wird vom Betriebssystem infolge eines Auftrags erzeugt Eingabe eines Kommandos von einem Benutzer Aufruf einer Systemfunktion von einem Prozess besitzt zugeordnete Speicherbereiche für den Programmcode, seine statischen und dynamischen Daten sowie seinen Stack

2 Betriebssysteme Folie 2-2 Systemfunktionen zum Erzeugen/Beenden eines Prozesses Windows 95/98/NT/2000/XP/... (Win32/Win64-API) CreateProcess (...) OpenProcess (...) ExitProcess (...) TerminateProcess (...) UNIX fork () execlp (...), execvp (...),... exit (...) kill (...) Struktur eines Prozesses Process Virtual Address Space Resources open files locks sockets... main () count () count () Text Identity pid uid gid... prt_result () global_cnt s_time... Data Heap Registers PC SP... j i p_cnt return address from count ()... Stack

3 Betriebssysteme Folie 2-3 Thread sequenzieller Ausführungsfaden innerhalb eines Prozesses minimaler eigener Kontext CPU-Registersatz Stack Identifikationsnummer, Priorität,... alle Threads eines Prozesses benutzen denselben Adressraum sowie weitere Betriebsmittel des Prozesses gemeinsam jeder Prozess besitzt mindestens einen (initialen) Thread Systemfunktionen zum Erzeugen/Beenden eines Threads Windows 95/98/NT/2000/XP/... (Win32/Win64-API) CreateThread (...) ExitThread (...) TerminateThread (...) POSIX Threads (UNIX,...) pthread_create (...) pthread_exit (...) pthread_kill (...) pthread_cancel (...)

4 Betriebssysteme Folie 2-4 Java Threads (plattformübergreifend) Erweiterung der Klasse Thread Implementierung der Schnittstelle Runnable Aufruf der Methode start ( ) der Klasse Thread Aufruf der Methode interrupt ( ) der Klasse Thread Struktur eines Prozesses mit mehreren Threads (multi-threaded process) Process Virtual Address Space Resources open files locks sockets... main () count () Text Identity pid uid gid... prt_result () Data Heap main Thread Specific Data thread id priority... Thread Specific Data thread id priority... Registers PC SP... Thread 1 Registers PC SP... Thread 2 Registers PC SP... Stack Stack Stack

5 Betriebssysteme Folie 2-5 Prozesserzeugung unter UNIX 1) Betriebssystemkern muss eine Umgebung bereitstellen, in der das Programm ausgeführt werden kann 2) der Prozess besteht aus drei Bereichen: instruction segment user data segment system data segment 3) das Programm wird zur Initialisierung des instruction segments und user data segments benutzt (nach der Initialisierung besteht zwischen dem Prozess und dem Programm, das er ausführt, keine weitere Verbindung) 4) das Betriebssystem legt im system data segment alle erforderlichen Datenstrukturen zur Verwaltung des Prozesses an bzw. aktualisiert bereits vorhandene Datenstrukturen (es wird z. B. ein Prozesskontrollblock für den Prozess angelegt und initialisiert, ein Verweis auf den Prozesskontrollblock in die Prozesstabelle eingefügt und der Prozess dann in die bereit -Warteschlange eingefügt) 5) der Prozess kann weitere Betriebsmittel (mehr Speicher, neue Dateien, usw.) anfordern, die im Programm nicht vorhanden sind mehrere parallel ablaufende Prozesse können mit demselben Programm initialisiert werden der Betriebssystemkern kann Hauptspeicher sparen, wenn solche Prozesse ein gemeinsames instruction segment verwenden (die beteiligten Prozesse können die gemeinsame Nutzung nicht feststellen, da die Segmente nur Lesezugriffe erlauben)

6 Betriebssysteme Folie 2-6 Prozessverwaltung Prozesse stellen Verwaltungseinheiten bzw. Objekte dar auf einem Multiprozessorsystem können Prozesse parallel ausgeführt werden auf einem Einprozessorsystem können sie durch eine geeignete zeitliche Verschachtelung quasi-parallel (concurrent) ausgeführt werden das Betriebssystem unterscheidet Anwendungs- bzw. Benutzerprozesse und Systemprozesse Systemprozesse erbringen Betriebssystemleistungen, die aus dem Betriebssystemkern ausgelagert wurden Anwendungs- und Systemprozesse werden im Benutzermodus (user mode) ausgeführt im Benutzermodus sind nur nicht-privilegierte Befehle des Prozessors erlaubt der Betriebssystemkern wird im Systemmodus (system mode, kernel mode) ausgeführt, in dem auch privilegierte Befehle des Prozessors erlaubt sind das Betriebssystem benötigt geeignete Datenstrukturen zur Verwaltung der Prozesse

7 Betriebssysteme Folie 2-7 Prozessobjekte unter Windows NT/2000/XP/... Prozessobjekte werden durch den Objektmanager erzeugt und abgebaut jedes Prozessobjekt enthält einen Kopf, der unter der Verwaltung des Objektmanagers steht Aufbau des Prozessobjekts Objekttyp Prozess Attribute Prozess-ID Access Token Basispriorität Prozessorzugehörigkeit Kontingentbeschränkung Ausführungsdauer I/O-Zähler VM-Arbeitszähler Exception/Debugging Ports Beendigungsstatus Dienste Prozess erzeugen Prozess öffnen Prozessinformationen einholen Prozessinformationen einstellen Aktueller Prozess Prozess beenden VM reservieren/freigeben VM lesen/schreiben Virtuellen Speicher schützen VM sperren und entsperren VM-Informationen einholen Virtuellen Speicher aktualisieren

8 Betriebssysteme Folie Prozess/Thread-Zustände Prozesszustände und die zugehörigen Zustandsübergänge new ready create I/O completion, event occurs, sleep interval expires dispatch blocked timeout, yield running I/O wait, event wait, sleep,... terminate resume suspend suspend exit resume suspend suspended ready I/O completion, event occurs, sleep interval expires suspended blocked Thread-Zustände und -Zustandsübergänge in Java born ready start I/O completion, sleep interval expires blocked timeout, interrupt, yield dispatch running I/O wait, sleep,... notify or notifyall waiting wait dead finished

9 Betriebssysteme Folie 2-9 Prozess/Thread-Verwaltung basiert auf Zustandsmodell Grundzustände, erweiterte Zustände, Pseudozustände Übergänge zwischen den Zuständen Prozess/Thread kann einige Zustände im Laufe seines Lebens mehrfach durchlaufen typische Grundzustände bereit (Synonyme: rechenwillig, rechenbereit, ausführbar, ready, runnable) Prozess/Thread wartet nur auf Zuteilung eines Prozessors im Allgemeinen gibt es verschiedene Prioritätswarteschlangen neue Prozesse werden im Allgemeinen am Ende ihrer Prioritätswarteschlange eingefügt aktiv (Synonyme: rechnend, running) Prozess/Thread hat einen Prozessor zugeteilt bekommen auf einem Einprozessorsystem kann sich nur ein Prozess/Thread in diesem Zustand befinden blockiert (Synonyme: wartend, blocked, waiting) Prozess/Thread wartet auf ein Ereignis, z. B. Ein-/Ausgabe im Allgemeinen gibt es für verschiedene Wartebedingungen verschiedene Warteschlangen

10 Betriebssysteme Folie 2-10 erweiterte Zustände gibt es z. B. bei vielen UNIX-Systemen suspendiert (Synonyme: ausgelagert, suspended) Prozess/Thread wurde angehalten und im Allgemeinen auf externes Speichermedium ausgelagert häufig über zwei Zustände realisiert: suspendiert blockiert und suspendiert bereit warum wird ein Prozess/Thread suspendiert? schlechte Systemleistung wegen kurzfristiger Überlast Betriebssystem unterstützt keinen virtuellen Speicher, sodass ganze Prozesse ein-/ausgelagert werden müssen Benutzer will einen Prozess stoppen, aber noch nicht abbrechen (bei vielen UNIX-Systemen z. B. mit <Ctrl-z> oder <Strg-z>; Fortsetzung z. B. mit fg (im Vordergrund) oder bg (im Hintergrund)) wer kann einen Prozess/Thread suspendieren? ein Prozess/Thread (selbst) über entsprechende Systemfunktionen der Benutzer/das Betriebssystem Suspendierung durch Prozess/Thread kann schwerwiegende Folgen haben Blockierung mehrerer Prozesse/Threads, falls der suspendierte Prozess /Thread eine Betriebsmittelsperre hält u. U. sogar Deadlock, falls die Funktion zur Fortsetzung des Prozesses/Threads dieselbe Betriebsmittelsperre benötigt

11 Betriebssysteme Folie 2-11 Zombie Zwischenzustand bevor ein Prozess das System verlässt Prozess hat seine Aufgabe erledigt und muss nur noch einen Status an seinen Vaterprozess liefern Zombie-Prozesse belegen nur noch einen Eintrag in der Prozesstabelle des Betriebssystems Pseudozustände Beginn (Synonyme: nicht existent, new, born) notwendiger Zustand, um einen Prozess/Thread in das System zu bringen wichtig ist nur der Zustandsübergang Ende (Synonyme: nicht existent, exit, exited, dead) notwendiger Zustand, um einen Prozess/Thread aus dem System zu entfernen wichtig ist nur der Zustandsübergang Zustandsübergänge Beginn bereit neuer Prozess/Thread wird erzeugt Speicherbereiche und Datenstrukturen für neuen Prozess anlegen und initialisieren (z. B. Codesegment, Datensegment, Prozesskontrollblock,...) Prozess/Thread in Warteschlange bereit einketten

12 Betriebssysteme Folie 2-12 bereit aktiv Prozess/Thread wird einem freien Prozessor zugeteilt letzten Prozess/Thread-Kontext wiederherstellen Prozess/Thread-Zustand auf aktiv setzen Prozess/Thread starten aktiv bereit Prozessor wird dem Prozess/Thread entzogen Zeitscheibe des Prozesses/Threads ist abgelaufen Prozess/Thread höherer Priorität wurde rechenwillig Prozess/Thread-Kontext retten Prozess/Thread-Zustand auf bereit setzen und Prozess/ Thread in Warteschlange bereit einketten aktiv blockiert Prozess/Thread muss auf ein Ereignis warten Beendigung einer Ein-/Ausgabeoperation Beendigung eines erzeugten Prozesses/Threads... Prozess/Thread-Kontext retten Prozess/Thread-Zustand auf blockiert setzen und Prozess/ Thread in Warteschlange blockiert einketten

13 Betriebssysteme Folie 2-13 aktiv Ende Prozess/Thread verlässt das System Aufräumarbeiten durchführen (im Allgemeinen nur bei Prozessen) ggf. offene Dateien des Prozesses schließen ggf. andere Betriebsmittel des Prozesses freigeben (alle) Datenstrukturen und Speicherbereiche freigeben (im Allgemeinen nur bei Prozessen; einige Datenstrukturen (UNIX System V Semaphore, Shared Memory,...) werden nicht automatisch freigegeben) blockiert bereit Ereignis ist eingetreten Prozess/Thread-Zustand auf bereit setzen und Prozess/Thread in Warteschlange bereit einketten blockiert suspendiert blockiert, bereit suspendiert bereit, suspendiert blockiert blockiert, suspendiert bereit bereit (im Allgemeinen nur bei Prozessen; suspendierte Threads werden im Allgemeinen über Zustand blockiert des Prozesses verwaltet) nur in Ausnahmefällen (siehe Zustand suspendiert ) Prozess/Thread-Zustand ändern und Prozess/Thread in entsprechende Warteschlange einketten aufwendig, da Datentransport zwischen Haupt- und Hintergrundspeicher erforderlich

14 Betriebssysteme Folie 2-14 suspendiert blockiert suspendiert bereit (im Allgemeinen nur bei Prozessen) Ereignis ist eingetreten Prozess kann ausgeführt werden, sobald er in Hauptspeicher geladen worden ist Prozesszustand ändern und Prozess in Warteschlange suspendiert bereit einketten aktiv suspendiert bereit (nur bei Prozessen) kommt eigentlich nicht (mehr) vor könnte benutzt werden, wenn ein Prozess der Warteschlange suspendiert blockiert mit hoher Priorität rechenwillig wird, der sehr viel Hauptspeicher benötigt und der aktuelle Prozess viel Hauptspeicher belegt Prozesskontext retten Prozesszustand ändern und Prozess in Warteschlange suspendiert bereit einketten

15 Betriebssysteme Folie 2-15 Prioritätsklassen in den Zuständen können über verkettete Listen realisiert werden, z. B. einfach verkettete Listen n first last count... process 0 first last count process process process ringförmig doppelt verkettete Listen priority priority n current count... process 0 current process process process count Vor-/Nachteile?

16 Betriebssysteme Folie 2-16 Warteschlangenmodelle für Prozesszustände Modell mit mehreren blockiert -Warteschlangen swap in partially executed swapped-out processes (in disk swap area) swap out new process ready queue dispatch CPU... terminated process CPU time slice expired I/O I/O queue I/O request event occurs wait for termination wait for interrupt fork a child call sleep () blocked queues Modell kann durch bereit -Warteschlangen erweitert werden real-time processes ready queues system processes interactive processes dispatch CPU... CPU terminated process batch processes process with higher priority is ready, time slice expired, I/O finished,...

17 Betriebssysteme Folie Prozesskontrollblock das Betriebssystem verwaltet für jeden Prozess einen Prozesskontrollblock, der alle relevanten Informationen über den Prozess enthält (Synonyme: Prozesskennblock, Prozesskontext, process control block, task control block Abkürzungen: PCB, TCB) typische Komponenten eines Prozesskontrollblocks Identifikatoren Prozessnummer/-name Nummer/Name des Benutzers, der den Prozess gestartet hat Gruppennummer Stellung in der Prozesshierarchie Prozessnummer des Vaterprozesses Prozessnummern der Sohnprozesse Prozessor-Zustandsinformation Register der Programmierumgebung (Datenregister, Adressregister, Segmentregister, Indexregister,...) Kontroll-, Steuer-, Statusregister (System-/Benutzer-Stack-Register, Programmzähler, Prozessorstatuswort,...) Informationen zur Prozesssteuerung Prozesszustand Priorität Informationen zur Interprozesskommunikation

18 Betriebssysteme Folie 2-18 Zeiger auf Vorgänger und/oder Nachfolger Zeiger auf Threads des Prozesses Rechte Zugriffsrechte auf Speicherbereiche, Dateien,... Art der erlaubten Prozessorbefehle (privilegiert/nicht privilegiert) Speicherverwaltung Zeiger auf Segment- und/oder Seitentabellen Zeiger auf Tabelle mit offenen Dateien Betriebsmittelkonten Maximalwerte für erlaubte Betriebsmittel noch verfügbare Kontingente Abrechnungsdaten (CPU-Zeiten im System-/Benutzermodus, Anzahl Seitenfehler,...) sonstiges (Uhren, Sperren,...) Prozesskontext wird manchmal aufgeteilt in Hardware-Kontext (i. w. Abbild der Prozessorregister) Benutzer-Kontext (i. w. Speicherabbild des Prozesses) System-Kontext (betriebssysteminterne Verwaltungsdaten)

19 Betriebssysteme Folie 2-19 Prozesstabelle enthält Verweise auf Prozesskontrollblöcke process table... process control block process identification process state process priority pointer to parent process pointer to child processes CPU register save area pointers to locate process's memory pointers to allocated resources NULL Beispiele Linux Prozesstabelle bis Version 2.2.x (linux/kernel/sched.c) struct task_struct *task[nr_tasks] = &init_task, ; Prozesstabelle ab Version 2.4.x struct task_struct *init_tasks[nr_cpus] = &init_task, ; Prozesstabelle wurde in Prozessliste je CPU überführt Solaris struct proc (/usr/include/sys/proc.h) struct _klwp (/usr/include/sys/klwp.h) struct _kthread (/usr/include/sys/thread.h)

20 Betriebssysteme Folie 2-20 Verweisstrukturen zur Verwaltung der Sohnprozesse Linux p_cptr struct task_struct parent p_pptr p_pptr p_pptr youngest child p_osptr p_ysptr child p_osptr p_ysptr oldest child jeder Prozess wird zusätzlich in der Prozesstabelle geführt (bis Linux Version 2.2.x) jeder Prozess befindet sich zusätzlich in der Prozessliste Solaris (auch bei Linux bis Version 2.2.x) struct proc parent p_child p_parent youngest child p_psibling p_sibling child p_parent p_psibling p_sibling p_parent oldest child

21 Betriebssysteme Folie 2-21 Aufgabe 2-1: a) Definieren Sie die Begriffe Programm, Prozess und Thread. b) Beschreiben Sie stichwortartig die Prozesserzeugung unter UNIX. Aufgabe 2-2: Nennen Sie einige Komponenten des Prozesskontrollblocks und beschreiben Sie stichwortartig, warum die Komponenten vorhanden sind.

22 Betriebssysteme Folie Dispatcher/Scheduler Scheduler (Ablaufplaner) ist für die zeitliche Ablaufplanung der Prozesse zuständig erledigt seine Arbeit aufgrund einer gewählten Strategie setzt Anfangspriorität der Prozesse fest kann die Priorität aufgrund des Prozessverhaltens ändern wird z. B. aktiviert, wenn Prozesse erzeugt/beendet werden Prozesseigenschaften (z. B. Priorität) geändert werden eine Zeit abgelaufen ist oder bestimmte Systemfunktionen aufgerufen werden, die indirekt in die Prozessverwaltung eingreifen (z. B. zur Koordinierung/Synchronisation von Prozessen) Dispatcher (Prozessumschalter, low-level scheduler) ist für den Prozesswechsel (task switch, context switch) zuständig muss sehr effizient implementiert werden, da Prozesswechsel im 10 bis 100 Millisekundenbereich vorkommen wird z. B. aktiviert, wenn der aktive Prozess unterbrochen wird (z. B. Ablauf der Zeitscheibe) auf ein Ereignis warten muss (z. B. Ende einer Ein-/Ausgabeoperation) freiwillig auf den Prozessor verzichtet (spezielle Systemfunktion) endet

23 Betriebssysteme Folie 2-23 Aufgaben des Dispatchers sichert den (gesamten) Hardware-Kontext des bisher aktiven Prozesses in dessen Prozesskontrollblock Die Intel Pentium Familie führt diese Aktion automatisch bei einem Prozesswechsel durch. Ein Prozesswechsel wird hier z. B. durchgeführt, wenn ein CALL -Befehl auf einen TSS-Deskriptor (task state segment) in der globalen Deskriptortabelle ausgeführt wird.) ändert den Zustand des Prozesses ( bereit, blockiert,...) kettet den Prozess in die entsprechende Warteschlange ein sucht den nächsten zu aktivierenden Prozess ändert den Zustand des Prozesses von bereit auf aktiv restauriert den (gesicherten) Hardware-Kontext des Prozesses (Die Intel Pentium Familie führt diese Aktion automatisch bei einem Prozesswechsel durch.) startet den Prozess (Erfolgt im Allgemeinen automatisch durch die Rückkehr aus der Dispatcher-Routine, da die Prozessorregister nach dem Kontextwechsel den früher unterbrochenen Zustand des restaurierten Prozesses enthalten.)

24 Betriebssysteme Folie 2-24 Aufgaben des Schedulers Minimierung der Gesamtkosten des Systems möglichst hoher Durchsatz (Stapelbetrieb) Verwaltungsaufwand reduzieren (wenig Prozesswechsel) möglichst kurze Antwortzeiten (Dialogbetrieb) häufige Prozesswechsel garantierte Antwortzeiten (Echtzeitbetrieb) widersprüchliche Anforderungen Verhältnis Stapelbetrieb zu Dialogbetrieb wird voreingestellt Scheduler kann Stapel- und Dialogbetrieb unabhängig voneinander optimieren sollte die bisherigen Verläufe der Prozesse bei seinen Entscheidungen berücksichtigen ordnet die Prozesse/Threads verschiedenen bereit - Warteschlangen zu (z. B. aufgrund von Prozessklassen oder Warte- und Rechenzeiten)

25 Betriebssysteme Folie 2-25 bereit -Warteschlangen unter Solaris scheduling order class-specific priorities scheduler classes global priorities process queues first last RT max 0 + TS max 0 - TS max interrupts real-time class (RT) system class (SYS) timesharing class (TS) highest lowest der Scheduler konvertiert klassenspezifische Prioritäten in globale Prioritäten die globale Priorität ist für den Dispatcher maßgebend ein Prozess behält die CPU bis seine Zeitscheibe abgelaufen ist er sich selbst blockiert oder endet ein Prozess höherer Priorität rechenwillig wird Prozesse derselben Priorität benutzen die Round-Robin-Strategie für alle Prozesse gilt im Allgemeinen eine Standard-Zeitscheibe Echtzeitprozesse können prozessspezifische Zeitscheiben haben Prioritäten von Echtzeitprozessen werden durch das System nicht geändert (können nur vom Benutzer geändert werden)

26 Betriebssysteme Folie 2-26 Prioritäten von Systemprozessen werden nur vom Betriebssystem verwaltet (können vom Benutzer nicht beeinflusst werden) Prioritäten von Timesharing-Prozessen haben benutzer- und systemorientierte Komponente systemorientierte Komponente wird dynamisch geändert Priorität wird erhöht, wenn der Prozess nur einen kleinen Teil seiner Zeitscheibe nutzt Priorität wird erniedrigt bei rechenintensiven Prozessen die Länge der Zeitscheibe wird größer je kleiner die Priorität ist (wenn Prozesse geringer Priorität aktiv werden, dürfen sie länger arbeiten, wenn sie nicht durch einen Prozess höherer Priorität unterbrochen werden) benutzerorientierte Komponente kann vom Benutzer zwischen -TS max und TS max geändert werden (im Allgemeinen -20 bis 20; siehe Kommando nice ) Standardpriorität: 0 Sohnprozesse erben die benutzerorientierte Priorität globale Priorität ergibt sich aus den beiden Komponenten

27 Betriebssysteme Folie 2-27 bereit -Warteschlangen unter Windows NT/2000/XP/... scheduling order first last dispatcher ready queues real-time variable priorities system 0 priorities highest lowest process queues für variable priorities Priorität eines Prozesses/Threads wird jedes Mal erniedrigt, wenn er seine Zeitscheibe ausgenutzt hat Priorität eines blockierten Prozesses/Threads wird erhöht großer Wert, falls auf Tastatureingabe gewartet wurde kleiner Wert, bei anderen Ein-/Ausgaben Verfahren führt mittelfristig zu einer Dreiteilung hohe Priorität für interaktive Prozesse/Threads mittlere Priorität für E/A-orientierte Prozesse/Threads geringe Priorität für rechenintensive Prozesse/Threads Auswahl eines Prozesses/Threads aufgrund seiner Priorität und Prozessorzugehörigkeit falls ein ausgewählter Prozess/Thread aufgrund der Prozessorzugehörigkeit nicht auf einem freien Prozessor ausgeführt werden kann, wird der Prozess/ Thread mit der nächstgeringeren Priorität ausgewählt geringste Priorität hat der idle -Prozess ( system )

28 Betriebssysteme Folie 2-28 bereit -Warteschlangen für Java-Threads high priority Priority 10 Priority 9 thr1 Priority 8 Priority 7 normal priority Priority 6 Priority 5 thr2 thr6... thrn Priority 4 Priority 3 thr3 thr5 Priority 2 low priority Priority 1 thr4 alle Threads starten mit normaler Priorität 5 Threads erben die Priorität ihres Erzeugers es gibt Implementierungen mit Zeitscheibenverfahren und rein prioritätsgesteuerten Scheduling-Verfahren (Threads derselben Prioritätsklasse werden im ersten Fall im Round-Robin-Verfahren bearbeitet. Im zweiten Fall können sie solange arbeiten bis sie fertig werden, sich selbst blockieren oder durch einen Thread höherer Priorität verdrängt werden) manchmal werden mehrere Prioritätsstufen zu einer Prioritätsstufe zusammengefaßt (unter Solaris 10 und Java 5 gibt es z. B. nur noch die Prioritätsstufen 1-5)

29 Betriebssysteme Folie 2-29 Einteilung der Scheduling-Strategien nicht unterbrechende Verfahren (Prozess bleibt solange aktiv, bis er sich selbst in den Zustand blockiert versetzt) unterbrechende Verfahren (dem Prozess kann der Prozessor entzogen werden; notwendig bei Echtzeit-Betriebssystemen) Prozess kann nur dann unterbrochen werden, wenn der Prozessor im Benutzermodus arbeitet (Standard bei älteren UNIX-Systemen) Prozess kann auch dann unterbrochen werden, wenn der Prozessor im Systemmodus arbeitet (notwendig bei Echtzeit-Betriebssystemen) Ausnutzung der Prozessoren bei Multiprozessorsystemen alle Prozessoren werden genutzt, wenn Arbeit vorhanden ist einzelne Prozessoren dürfen ungenutzt bleiben, obwohl noch Arbeit vorhanden ist

30 Betriebssysteme Folie 2-30 Bewertung von Scheduling-Verfahren CPU-Auslastung (utilization) bzw. Effizienz maximieren (CPU sollte nach Möglichkeit immer Prozesse ausführen) Fairness (jeder Prozess erhält einen fairen Anteil der CPU-Zeit; kein Prozess wird beliebig lange an seiner Arbeit gehindert) Durchsatz (throughput) maximieren Anzahl der pro Zeiteinheit fertiggestellten Aufträge schwankt zwischen vielen Aufträgen pro Sekunde und wenigen pro Tag, Woche oder Monat (abhängig von der erforderlichen Rechenleistung der Aufträge) Durchlaufzeit bzw. Verweilzeit (turnaround time) minimieren Zeit zwischen Betreten und Verlassen des Systems für einen Auftrag Summe aus Rechenzeit und verschiedenen Wartezeiten (warten auf CPU in der bereit -Warteschlange, auf E/A-Ende in der blockiert - Warteschlange, usw.) Wartezeit (waiting time) minimieren Wartezeit in der bereit -Warteschlange nur diese Zeit kann vom Scheduler direkt beeinflusst werden Antwortzeit (response time) minimieren wichtige Zeitspanne für interaktive Prozesse Zeit zwischen Eingabe und Reaktion auf Eingabe

31 Betriebssysteme Folie 2-31 CPU-Auslastung kann bei vielen Systemen grafisch dargestellt werden Windows XP SunOS Linux: X-osview Linux: GNOME-Systemmonitor

32 Betriebssysteme Folie 2-32 mögliche Scheduling-Verfahren First-Come-First-Served (FCFS), First-In-First-Out (FIFO) (Prozesse werden in der Reihenfolge ihrer Ankunft ohne Unterbrechung bis zu ihrem Ende bzw. ihrer Blockierung bedient) das einfachste Verfahren Implementierung über FIFO-Warteschlange u. U. große Wartezeiten und damit schlechte Antwortzeiten im Allgemeinen gute Auslastung der CPU kann zu langen Warteschlangen mit E/A-intensiven Prozessen führen, wenn ein rechenintensiver Prozess mit wenig E/A-Operationen immer wieder die CPU blockiert Beispiel: Zum Zeitpunkt 0 treffen die Prozesse P 1, P 2 und P 3 ein. Die Rechenzeiten der Prozesse betragen t 1 = 24, t 2 = 8 und t 3 = 3 Zeiteinheiten resp. Die folgenden Gantt-Diagramme geben die zeitliche Zuordnung der Prozesse auf einen Prozessor an, wenn sie in der Reihenfolge (P 1, P 2, P 3 ) bzw. (P 3, P 2, P 1 ) ankommen S 1 P 1 P 2 P S 2 P 3 P 2 P 1 Im Vergabeplan S 1 wartet P 1 gar nicht, während P 2 und P 3 24 bzw. 32 Zeiteinheiten warten. Im Mittel warten die Prozesse im Plan S 1 ( )/3 = 56/3 Zeiteinheiten, während sie im Vergabeplan S 2 nur 14/3 Zeiteinheiten warten.

33 Betriebssysteme Folie 2-33 FCFS mit Prioritätswarteschlangen (Regel: rechenintensive Prozesse erhalten eine geringe Priorität und E/A-intensive eine hohe Priorität. Prozesse derselben Prioritätsklasse werden in der Reihenfolge ihrer Ankunft ohne Unterbrechung bis zu ihrem Ende bzw. ihrer Blockierung bedient. Prozesse können durch Prozesse höherer Priorität unterbrochen werden. Der Scheduler kann die Prioritäten der Prozesse ändern.) Shortest-Job-First (SJF), Shortest-Processing-Time (SPT) (der Prozess mit der kürzesten Rechenzeit wird als nächster ohne Unterbrechung bedient; Kenntnis der Rechenzeit ist erforderlich; Prozesse mit gleicher Rechenzeit werden nach FCFS bedient) Verfahren ist optimal bezogen auf die mittlere Wartezeit für eine vorgegebene Menge von Prozessen (Beweis siehe Literatur) nicht geeignet für kurzfristiges Scheduling, da die Rechenzeiten im Allgemeinen nicht bekannt sind wird häufig eingesetzt für langfristiges Scheduling im Stapelbetrieb (in diesem Fall wird das vom Benutzer vorgegebene Zeitlimit benutzt) kann auch als FCFS mit Prioritätswarteschlangen implementiert werden (die Priorität eines Prozesses könnte über den Kehrwert der geschätzten Rechenzeit bestimmt werden je mehr Rechenzeit desto niedriger die Priorität) Shortest-Remaining-Time (SRT), Shortest-Remaining- Processing-Time (SRPT) (im Prinzip SPT mit Unterbrechung, d. h., falls ein neuer Prozess eintrifft, dessen Rechenzeit geringer ist als die verbleibende Rechenzeit des gerade aktiven Prozesses, dann wird ein Prozesswechsel durchgeführt)

34 Betriebssysteme Folie 2-34 Round-Robin (RR) (Der Prozess darf den Prozessor für eine Zeitscheibe benutzen; falls er in dieser Zeit nicht fertig wird, wird er unterbrochen und am Ende der Warteschlange eingereiht; es handelt sich hier um ein zyklisches Verfahren ohne Prioritäten) weit verbreitetes Verfahren für die meisten Multitasking- Betriebssysteme gleichmäßige Aufteilung der CPU-Zeit auf die Prozesse Größe der Zeitscheibe bestimmt die Leistung zu kleine Zeitscheibe hoher Verwaltungsaufwand durch Prozesswechsel nominale Systemleistung wird u. U. nicht erreicht, da Kontextwechsel durchgeführt wird, bevor Cache- Speicher ihre Warmlaufphase überwunden haben zu große Zeitscheibe nähert sich dem FCFS-Verfahren, da mit zunehmender Zeitscheibe blockierende Systemaufrufe wahrscheinlicher werden mittlere Warte- und Antwortzeiten werden größer Shortest-Elapsed-Time (SET), Multilevel Feedback Queue Scheduling (im Prinzip RR mit Prioritätswarteschlangen; neuer Prozess wird in die Warteschlange höchster Priorität eingereiht und erhält hier eine Zeitscheibe; nutzt er die Zeitscheibe aus, wird er in die Warteschlange nächst niedriger Priorität eingereiht; andernfalls wird er blockiert und kommt irgendwann wieder in die Eingangswarteschlange; rechenintensive Prozesse sinken schnell in der Priorität)

35 Betriebssysteme Folie 2-35 Aufgabe 2-3: Die folgenden Prozesse kommen in der Reihenfolge (P 1, P 2, P 3, P 4, P 5 ) zum Zeitpunkt 0 an. Zeichnen Sie die Gantt-Diagramme für die zeitliche Zuordnung der Prozesse auf einen Prozessor für die Scheduling-Verfahren FCFS, SJF, RR (eine Zeitscheibe entspricht einer Zeiteinheit) und ein nicht unterbrechendes Verfahren mit Prioritätswarteschlangen (kleine Prioritätsnummer entspricht hoher Priorität). Geben Sie für die verschiedenen Verfahren die Durchlaufzeit, die mittlere Durchlaufzeit, die Wartezeit und die mittlere Wartezeit der Prozesse an. Prozess Rechenzeit (in Zeiteinheiten) Priorität P P P P P Aufgabe 2-4: Die Prozesse P 1, P 2, P 3, P 4 und P 5 treffen in dieser Reihenfolge ein. Die genauen Ankunfts- und Rechenzeiten können der nachfolgenden Tabelle entnommen werden. Zeichnen Sie die Gantt-Diagramme für die zeitliche Zuordnung der Prozesse auf einen Prozessor für die Scheduling-Verfahren FIFO, SPT, SRT und RR (eine Zeitscheibe entspricht zwei Zeiteinheiten). Geben Sie für die verschiedenen Verfahren die mittlere Verweilzeit der Prozesse im System an. Ein Prozesswechsel erfolgt nur zu den ganzzahligen Zeitpunkten 1, 2, 3, Prozess Ankunftszeit Rechenzeit P 1 0,0 11 P 2 0,2 2 P 3 1,1 6 P 4 3,1 1 P 5 4,1 4

36 Betriebssysteme Folie Prozesssynchronisation Prozesse können folgendermaßen ausgeführt werden zeitlich verschachtelt (quasi-parallel) auf einem Einprozessorsystem zeitlich überlappt (parallel) auf einem Multiprozessorsystem zeitlich verschachtelt und überlappt (heutiger Standard auf einem Multiprozessorsystem) Beispiel: modifizierender Zugriff auf eine gemeinsame Variable 1. Ausführungsreihenfolge Prozess/Thread 1 liest Wert der Variablen i erhöht Wert um 1 speichert neuen Wert in i Prozess/Thread 2 liest Wert der Variablen i erhöht Wert um 1 speichert neuen Wert in i 2. Ausführungsreihenfolge Prozess/Thread 1 liest Wert der Variablen i erhöht Wert um 1 speichert neuen Wert in i Prozess/Thread 2 liest Wert der Variablen i erhöht Wert um 1 speichert neuen Wert in i

3 Prozesse und Threads

3 Prozesse und Threads Betriebssysteme Folie 3-1 3 Prozesse und Threads Programm statische Folge von Anweisungen und Daten befindet sich i.a. als Datei auf einer Festplatte der Dateiinhalt entspricht den Regeln des Betriebssystems

Mehr

Dämon-Prozesse ( deamon )

Dämon-Prozesse ( deamon ) Prozesse unter UNIX - Prozessarten Interaktive Prozesse Shell-Prozesse arbeiten mit stdin ( Tastatur ) und stdout ( Bildschirm ) Dämon-Prozesse ( deamon ) arbeiten im Hintergrund ohne stdin und stdout

Mehr

Ü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

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

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

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

Beschreiben Sie stichwortartig, was die folgenden Kommandos bewirken.

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

Mehr

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

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

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

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

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

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

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

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

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

Softwarelösungen: Versuch 4

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

Mehr

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

Parallele Prozesse. Prozeß wartet

Parallele Prozesse. Prozeß wartet Parallele Prozesse B-66 Prozeß: Ausführung eines Programmes in seinem Adressraum (zugeordneter Speicher) Parallele Prozesse: gleichzeitig auf mehreren Prozessoren laufende Prozesse p1 p2 verzahnte Prozesse:

Mehr

2.2 Prozesse in Java

2.2 Prozesse in Java 2.2 Prozesse in Java! Java sieht kein Schlüsselwort für Prozesse vor, sondern bestimmte Klassen und Schnittstellen. Mit anderen Worten: der Prozessbegriff wird mit Mitteln der Objektorientierung eingeführt.

Mehr

6.Vorlesung Betriebssysteme Hochschule Mannheim

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

Mehr

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

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

5. Threads, Serverprozesse und Benachrichtigungen

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

Mehr

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

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

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

Thread-Konzept in objektorientierten Programmiersprachen. Threads. Threads in Java

Thread-Konzept in objektorientierten Programmiersprachen. Threads. Threads in Java Thread-Konzept in objektorientierten Programmiersprachen 1 Threads ein Thread ist ein eigenständiges Programmfragment, das parallel zu anderen Teilen eines Programmes ablaufen kann alle Threads eines Programmes

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition)

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

Mehr

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

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

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

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

Echtzeitbetriebssysteme (am Beispiel QNX) Dr. Stefan Enderle HS Esslingen

Echtzeitbetriebssysteme (am Beispiel QNX) Dr. Stefan Enderle HS Esslingen Echtzeitbetriebssysteme (am Beispiel QNX) Dr. Stefan Enderle HS Esslingen 3. QNX Neutrino Microkernel 3.1 Einführung Der Neutrino-Kernel (Betriebssystemkern) implementiert (nur) die wichtigsten Teile des

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

Arten der Synchronisation. Koordination nebenläufiger Prozesse. Koordinierung. Reihenschaltung. Einseitige Synchronisation

Arten der Synchronisation. Koordination nebenläufiger Prozesse. Koordinierung. Reihenschaltung. Einseitige Synchronisation Koordination nebenläufiger Prozesse Arten der Synchronisation Systemaufrufe Programmverwaltung Zugriffskontrolle Dateiverwaltung Ein /Auslagerung Vernetzung Ein /Ausgabe Fadenverwaltung Koordination Prozesseinplanung

Mehr

Einführung in die Programmierung Blockkurs Java

Einführung in die Programmierung Blockkurs Java Michael Bader 8. 12. April 2002 Freitag Inhaltsübersicht Exceptions und Errors Ausnahmebehandlung: try/catch/finally Threads Zugriffskontrolle bei gemeinsamen Variablen: synchronized, wait(), notify()

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

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

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

Betriebssysteme Wintersemester 2005/06

Betriebssysteme Wintersemester 2005/06 Betriebssysteme Wintersemester 2005/06 Vorlesung 4 CPU Scheduling Dr. Oliver Waldhorst Rechnernetze und verteilte Systeme Universität Leipzig http://www.informatik.uni-leipzig.de/rnvs Fahrplan Nr. 1 2

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

Betriebssysteme (BTS)

Betriebssysteme (BTS) 13.Vorlesung Betriebssysteme (BTS) Christian Baun cray@unix-ag.uni-kl.de Hochschule Mannheim Fakultät für Informatik Institut für Betriebssysteme 31.5.2007 Wiederholung vom letzten Mal Deadlocks und Verhungern

Mehr

Verteilte Systeme CS5001

Verteilte Systeme CS5001 Verteilte Systeme CS5001 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Client-Server-Anwendungen: Vom passiven (shared state) Monitor zum aktiven Monitor Monitor (Hoare, Brinch-Hansen,

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

Parallele Programmierung in Java

Parallele Programmierung in Java PPJ-1 Parallele Programmierung in Java Prof. Dr. Uwe Kastens Sommersemester 2000 Vorlesung Parallele Programmierung in Java SS 2000 / Folie 01 PPJ-2 Ziele und Durchführung Die Studierenden sollen grundlegende

Mehr

5.3 Prozessumlagerung (process) swapping

5.3 Prozessumlagerung (process) swapping 5.3 Prozessumlagerung (process) swapping = Umlagerung des Adressraums eines Prozesses zwischen Arbeitsspeicher und Hintergrundspeicher, falls Arbeitsspeicher zu klein für alle Prozesse (aber groß genug

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

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

(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

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

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

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

9 Multithreading. 1 Idee des Multithreading

9 Multithreading. 1 Idee des Multithreading 9 Multithreading Jörn Loviscach Versionsstand: 21. Juli 2015, 11:50 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work is licensed

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

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

Schritt 1 - Ein Spielfeld

Schritt 1 - Ein Spielfeld Schritt 1 - Ein Spielfeld Wir beginnen mit zwei einfachen Java-Klassen, dem eigentlichen Spielfeld und dem Applet zum Anzeigen des Spielfeldes (und später der Buttons und der anderen Bedienelemente). Hier

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

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

Synchronisation in Java. Invisible Web

Synchronisation in Java. Invisible Web Synchronisation in Java Studienprojekt Invisible Web Tang Zhihong Synchronisation in Java Synchronisationsproblem Monitore Wait und notify PipedInputStream und PipedOutputStream Synchronisation von Collections

Mehr

ARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH

ARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH ARM Cortex-M Prozessoren Referat von Peter Voser Embedded Development GmbH SoC (System-on-Chip) www.embedded-development.ch 2 Instruction Sets ARM, Thumb, Thumb-2 32-bit ARM - verbesserte Rechenleistung

Mehr

Monitore. Klicken bearbeiten

Monitore. Klicken bearbeiten Sascha Kretzschmann Institut für Informatik Monitore Formatvorlage und deren Umsetzung des Untertitelmasters durch Klicken bearbeiten Inhalt 1. Monitore und Concurrent Pascal 1.1 Warum Monitore? 1.2 Monitordefinition

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

Interrupts. Funktionsprinzip. Funktionsprinzip. Beispiel in C

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

Mehr

Nebenläufige Programmierung in Java

Nebenläufige Programmierung in Java Informatik IV 37-004 SS 2002 Thomas Gross Diese Slides kommen ohne Gewähr. 9-1 Thomas Gross 1997-2000 Nebenläufige Programmierung in Java Threads und deren Zustände Speichermodell Einfache Synchronisation

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

Thread-Synchronisation in in Java. Threads Wechselseitiger Ausschluss Bedingte Synchronisation Beispiel: Warteschlangen

Thread-Synchronisation in in Java. Threads Wechselseitiger Ausschluss Bedingte Synchronisation Beispiel: Warteschlangen Thread-Synchronisation in in Java Threads Wechselseitiger Ausschluss Bedingte Synchronisation Beispiel: Warteschlangen Die Klasse Thread Die Die Klasse Thread gehört zur zur Standardbibliothek von von

Mehr

Prozessverwaltung. Ein Prozess ist das zentrale Konzept in jedem Betriebssystem.

Prozessverwaltung. Ein Prozess ist das zentrale Konzept in jedem Betriebssystem. Prozessverwaltung Ein Prozess ist das zentrale Konzept in jedem Betriebssystem. Wir machen die Annahme, dass jeder Prozess ein Thread innerhalb des Betriebssystems zugeordnet bekommt. Prozesse Parameter

Mehr

2A Basistechniken: Weitere Aufgaben

2A Basistechniken: Weitere Aufgaben 2A Basistechniken: Weitere Aufgaben 2A.3 Programmierung unter UNIX/Linux 1. Gegeben sind einige Ausschnitte von C-Programmen, die unter UNIX/Linux ausgeführt werden sollen. Beantworten Sie die zugehörigen

Mehr

Algorithmen und Programmierung IV: Nichtsequentielle Programmierung. Überblick. Überblick

Algorithmen und Programmierung IV: Nichtsequentielle Programmierung. Überblick. Überblick Algorithmen und Programmierung IV: Nichtsequentielle Programmierung Überblick Robert Tolksdorf Basiert auf ALP IV, SS 2003 Klaus-Peter Löhr Freie Universität Berlin [1] Peter Löhr, Robert Tolksdorf, Berlin

Mehr

Betriebssysteme. Wintersemester 2015. Kapitel 2 Prozess und Threads. Patrick Kendzo ppkendzo@gmail.com

Betriebssysteme. Wintersemester 2015. Kapitel 2 Prozess und Threads. Patrick Kendzo ppkendzo@gmail.com Betriebssysteme Wintersemester 2015 Kapitel 2 Prozess und Threads Patrick Kendzo ppkendzo@gmail.com Programm Inhalt Einleitung Prozesse und Threads Speicherverwaltung Eingabe und Ausgabe Dateisysteme Zusammenfassung

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

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

Versuchsziele Konzepte der parallelen Programmierung am Beispiel von Threads anwenden können. Einbau von Kontrollmechanismen mittels Semaphore.

Versuchsziele Konzepte der parallelen Programmierung am Beispiel von Threads anwenden können. Einbau von Kontrollmechanismen mittels Semaphore. Hochschule Harz Versuch: fcopy Mit Java FB Automatisierung und Informatik Betriebssysteme Thema: Kopieren einer Datei unter der Kontrolle von Semaphoren Versuchsziele Konzepte der parallelen Programmierung

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

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

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

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

Ein Laufzeitsystem für hochgradig parallele Simulationen

Ein Laufzeitsystem für hochgradig parallele Simulationen Ein Laufzeitsystem für hochgradig parallele Simulationen Luc Bläser ETH Zürich / LBC Informatik Seminar für Verkehrssimulation TU Berlin, 6. Juni 2008 Motivation Parallele Simulation Selbstaktive Agenten

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