Einführung in die technische Informatik
|
|
- Paulina Dressler
- vor 5 Jahren
- Abrufe
Transkript
1 inführung in die technische Informatik hristopher Kruegel etriebssysteme ufgaben Management von Ressourcen Präsentation einer einheitlichen Schnittstelle für nwendungen wichtige Gebiete Prozessmanagement Speichermanagement ateisystem ingabe und usgabe System alls Funktionen, die ein etriebssystem den nwendungen zur Verfügung stellt infuehrung in die technische Informatik
2 Prozessmanagement Konzept etriebssystem stellt eine Reihe von virtuellen omputern zur Verfügung usführung eines Programms auf einem dieser virtuellen omputer heißt Prozess virtuelle omputer vermitteln den indruck, dass jeder Prozess auf einer eigenen PU mit eigenem Speicher läuft in Wirklichkeit wird zwischen den Prozessen hin- und hergeschaltet und diese laufen auf einer einzigen realen PU! Quasi-Parallelität oder logische Parallelität infuehrung in die technische Informatik Prozessmanagement Programm statisches Objekt im ateisystem Folge von Instruktionen unveränderlich über die Zeit Prozess dynamische bbild eines Programms läuft in einer bestimmten, veränderlichen Umgebung ab! ontext Folge von ausgeführten Instruktionen auf der PU existiert nur für eine bestimmte Zeit mehrere Prozesse können das selbe Programm ausführen infuehrung in die technische Informatik
3 Prozessmanagement Prozessablauf Prozesse können erzeugt werden durch das etriebssystem init task durch andere Prozesse fork() Prozesse können beendet werden freiwillig exit() wegen eines Fehlers (bsturz) durch einen anderen Prozess kill() infuehrung in die technische Informatik 5 Prozessmanagement Prozesszustand Prozesse kann auf der PU exekutiert werden (RUNNING) Prozess bereit sein, auf der PU exekutiert zu werden (RY) Prozess kann auf externe reignisse warten (LOK) Zustandsübergänge ausgelöst durch Prozess selbst (Termination) Scheduler Ressourcen werden verfügbar beschrieben durch Zustandsgraph infuehrung in die technische Informatik 6
4 Prozessmanagement Zustandsgraph Initialisierung Scheduling lockierung Ready locked e-lockierung Suspend Suspended Suspend infuehrung in die technische Informatik 7 Prozesse etriebssystem verwaltet Prozesse mittels process table Process table speichert Prozessdeskriptor (oder process control block) für jeden Prozess Prozessdeskriptor speichert relevante Informationen eines Prozesses Prozess-I Zustand Priorität esitzer des Prozesses (z.., UI) Zugriffsrechte (z.., UI) Registerinhalte Verweise auf benutzte Speicherbereiche (aten, Stack) Verweise auf offene Files infuehrung in die technische Informatik 8
5 Prozesse Prozesse besteht aus Ressourcen (dressraum, geöffnete ateien) usführung von Instruktionen (threads of execution) Zustand des Prozesses bei der usführung Werte in den Registern (und des Program ounters) Verlauf (History) der usführung und lokale Variablen am Stack infuehrung in die technische Informatik 9 Prozesse : : g() : { : g(); : } : : int main(int argc, char **argv) : { 5: i = get_input(); 6: f(); return ; 8: } dressraum (aten) i =? Registerinhalte (hier Program ounter) P = 5 infuehrung in die technische Informatik
6 Prozesse : : g() : { : g(); : } : : int main(int argc, char **argv) : { 5: i = get_input(); 6: f(); return ; 8: } dressraum (aten) i = Registerinhalte (hier Program ounter) P = 6 infuehrung in die technische Informatik Prozesse : : g() : { : g(); : } : : int main(int argc, char **argv) : { 5: i = get_input(); 6: f(); return ; 8: } dressraum (aten) i = Registerinhalte (hier Program ounter) P = 7 [ return value of f() ] infuehrung in die technische Informatik
7 Prozesse : : g() : { : g(); : } : : int main(int argc, char **argv) : { 5: i = get_input(); 6: f(); return ; 8: } dressraum (aten) i = Registerinhalte (hier Program ounter) P = 5 7 [ return value of f() ] [ return value of g() ] infuehrung in die technische Informatik Prozesse : : g() : { : g(); : } : Wert von i ist : int main(int argc, char **argv) : { 5: i = get_input(); 6: f(); return ; 8: } dressraum (aten) i = Registerinhalte (hier Program ounter) P = 6 7 [ return value of f() ] [ return value of g() ] infuehrung in die technische Informatik
8 Prozesse : : g() : { : g(); : } : : int main(int argc, char **argv) : { 5: i = get_input(); 6: f(); return ; 8: } dressraum (aten) i = Registerinhalte (hier Program ounter) P = 7 [ return value of f() ] infuehrung in die technische Informatik 5 Prozesse : : g() : { : g(); : } : : int main(int argc, char **argv) : { 5: i = get_input(); 6: f(); return ; 8: } dressraum (aten) i = Registerinhalte (hier Program ounter) P = 7 infuehrung in die technische Informatik 6
9 Prozesse Parallele Prozesse unabhängige Ressourcen (dressraum, geöffnete ateien) unabhängige usführung (Stack und Register) können natürlich das selbe Programm ausführen infuehrung in die technische Informatik 7 Parallele Prozesse : : g() : { : g(); : } : : int main(int argc, char **argv) : { 5: i = get_input(); 6: f(); return ; 8: } dressraum (aten) i =? i =? Registerinhalte (hier Program ounter) P = 5 P = 5 infuehrung in die technische Informatik 8 P P P ontext P P P
10 Parallele Prozesse : : g() : { : g(); : } : : int main(int argc, char **argv) : { 5: i = get_input(); 6: f(); return ; 8: } dressraum (aten) i = i =? Registerinhalte (hier Program ounter) P = 6 P = 5 infuehrung in die technische Informatik 9 P P P ontext P P P Parallele Prozesse : : g() : { : g(); : } : : int main(int argc, char **argv) : { 5: i = get_input(); 6: f(); return ; 8: } dressraum (aten) i = i =? Registerinhalte (hier Program ounter) P = P = 5 infuehrung in die technische Informatik 7 P P P ontext P P P
11 Parallele Prozesse : : g() : { : g(); : } : : int main(int argc, char **argv) : { 5: i = get_input(); 6: f(); return ; 8: } dressraum (aten) i = i = 7 Registerinhalte (hier Program ounter) P = P = 6 infuehrung in die technische Informatik 7 P P P P P P ontext Parallele Prozesse : : g() : { : g(); : } : : int main(int argc, char **argv) : { 5: i = get_input(); 6: f(); return ; 8: } dressraum (aten) i = i = 7 Registerinhalte (hier Program ounter) P = P = 7 7 infuehrung in die technische Informatik P P P P P P ontext
12 Parallele Prozesse : : g() : { : g(); : } : : int main(int argc, char **argv) : { 5: i = get_input(); 6: f(); return ; 8: } dressraum (aten) i = i = 7 Registerinhalte (hier Program ounter) P = P = infuehrung in die technische Informatik P P P P P P ontext Parallele Prozesse : : g() : { : g(); : } : : int main(int argc, char **argv) : { 5: i = get_input(); 6: f(); return ; 8: } Wert von i ist 7 dressraum (aten) i = i = 7 Registerinhalte (hier Program ounter) P = P = infuehrung in die technische Informatik P P P P P P ontext
13 Parallele Prozesse : : g() : { : g(); : } : : int main(int argc, char **argv) : { 5: i = get_input(); 6: f(); return ; 8: } dressraum (aten) i = i = 7 Registerinhalte (hier Program ounter) P = 5 P = P infuehrung in die technische Informatik 5 P P ontext P P P Parallele Prozesse : : g() : { : g(); : } : : int main(int argc, char **argv) : { 5: i = get_input(); 6: f(); return ; 8: } Wert von i ist dressraum (aten) i = i = 7 Registerinhalte (hier Program ounter) P = 6 P = P infuehrung in die technische Informatik 6 P P ontext P P P
14 Threads Threads mehrere, parallele usführungen von Instruktionen, aber mit den selben Ressourcen sind wegen des gemeinsamen dressraums effizienter zu koordinieren effizienter zu erzeugen besser beim Wechsel zwischen Threads (context switch) Nützlich für nwendungen mit mehreren ufgaben ein Prozess wartet auf ingabe, ein anderer führt erechnungen durch z.., Server pplikationen Natürlich kann man alles auch nur mit Prozessen realisieren IP (inter-process communication) infuehrung in die technische Informatik 7 Threads : : g() : { : g(); : } : : int main(int argc, char **argv) : { 5: i = get_input(); 6: f(); return ; 8: } dressraum (aten) infuehrung in die technische Informatik 8 i =? Registerinhalte (hier Program ounter) P = 5 P = 5 ontext
15 Threads : : g() : { : g(); : } : : int main(int argc, char **argv) : { 5: i = get_input(); 6: f(); return ; 8: } dressraum (aten) infuehrung in die technische Informatik 9 ontext i = Registerinhalte (hier Program ounter) P = 6 P = 5 Threads : : g() : { : g(); : } : : int main(int argc, char **argv) : { 5: i = get_input(); 6: f(); return ; 8: } dressraum (aten) infuehrung in die technische Informatik ontext i = Registerinhalte (hier Program ounter) P = P = 5 7
16 Threads : : g() : { : g(); : } : : int main(int argc, char **argv) : { 5: i = get_input(); 6: f(); return ; 8: } dressraum (aten) infuehrung in die technische Informatik i = 7 Registerinhalte (hier Program ounter) P = P = 6 7 ontext Threads : : g() : { : g(); : } : : int main(int argc, char **argv) : { 5: i = get_input(); 6: f(); return ; 8: } dressraum (aten) infuehrung in die technische Informatik i = 7 Registerinhalte (hier Program ounter) P = P = 7 7 ontext
17 Threads : : g() : { : g(); : } : : int main(int argc, char **argv) : { 5: i = get_input(); 6: f(); return ; 8: } dressraum (aten) infuehrung in die technische Informatik i = 7 Registerinhalte (hier Program ounter) P = P = ontext Threads : : g() : { : g(); : } : : int main(int argc, char **argv) : { 5: i = get_input(); 6: f(); return ; 8: } Wert von i ist 7 dressraum (aten) infuehrung in die technische Informatik i = 7 Registerinhalte (hier Program ounter) P = P = ontext
18 Threads : : g() : { : g(); : } : : int main(int argc, char **argv) : { 5: i = get_input(); 6: f(); return ; 8: } dressraum (aten) infuehrung in die technische Informatik 5 ontext i = 7 Registerinhalte (hier Program ounter) P = 5 P = Threads : : g() : { : g(); : } : : int main(int argc, char **argv) : { 5: i = get_input(); 6: f(); return ; 8: } Wert von i ist 7 dressraum (aten) infuehrung in die technische Informatik 6 ontext i = 7 Registerinhalte (hier Program ounter) P = 6 P = 6 7 7
19 Scheduling Viele Prozesse, aber nur eine PU etriebssystem muss zwischen Prozessen wechseln etriebssystem braucht gelegentlich die PU selbst Wechsel ist aufwendig Zustand der usführung (Register) und dressraum des alten Prozess muss gespeichert werden neuer Prozess muss ausgewählt werden Zustand des neuen Prozess und dressraum muss geladen werden uswahl des neuen Prozesses! Scheduling infuehrung in die technische Informatik 7 Scheduling Ziele urchsatz (hoch) ntwortzeit (niedrig) PU uslastung Fairness Unterscheidung nicht-preemtive Verfahren ein Prozess kann die PU behalten, bis er fertig ist, oder freiwillig die Kontrolle abgibt preemtive Verfahren ein Prozess kann vom etriebssystem gegen seinen Willen unterbrochen werden infuehrung in die technische Informatik 8
20 Scheduling lgorithmen first-come, first-serve round-robin priority scheduling shortest job first shortest remaining time Scheduling wird festgelegt durch ngabe von den Zeitpunkten, zu denen Prozesse zu laufen beginnen (sich im Zustand RUNNING befinden) maximal ein Prozess kann sich im Zustand RUNNING befinden mehrere Prozesse können auf die PU warten (RY) infuehrung in die technische Informatik 9 Scheduling Praktisches eispiel ngabe rt des Scheduling lgorithmus ngabe ob preemtives oder nicht-preemtives Scheduling vorliegt Liste von Prozessen mit Information wann ein Prozess in den Zustand RY wechselt möglicherweise wie lange ein Prozess die PU benötigt möglicherweise Priorität Gesucht Zeitpunkte, wann welche Prozesse zu laufen beginnen infuehrung in die technische Informatik
21 Scheduling eispiel nicht-preemtives priority scheduling höherer Prioritätswert bedeutet höhere Priorität Prozess Startzeitpunkt Laufzeit Priorität infuehrung in die technische Informatik Scheduling Prozess Startzeitpunkt Laufzeit Priorität t infuehrung in die technische Informatik
22 Scheduling Prozess Startzeitpunkt Laufzeit Priorität t infuehrung in die technische Informatik Scheduling Prozess Startzeitpunkt Laufzeit Priorität t infuehrung in die technische Informatik
23 Scheduling Prozess Startzeitpunkt Laufzeit Priorität t infuehrung in die technische Informatik 5 Scheduling Prozess Startzeitpunkt Laufzeit Priorität t infuehrung in die technische Informatik 6
24 Scheduling Prozess Startzeitpunkt Laufzeit Priorität t infuehrung in die technische Informatik 7 Scheduling Prozess Startzeitpunkt Laufzeit Priorität t infuehrung in die technische Informatik 8
25 Scheduling Prozess Startzeitpunkt Laufzeit Priorität t infuehrung in die technische Informatik 9 Scheduling Prozess Startzeitpunkt Laufzeit Priorität t infuehrung in die technische Informatik 5
26 Scheduling t Prozess Zeitpunkt (RUNNING) infuehrung in die technische Informatik 5 Scheduling eispiel preemtives priority scheduling höherer Prioritätswert bedeutet höhere Priorität Prozess Startzeitpunkt Laufzeit Priorität infuehrung in die technische Informatik 5
27 Scheduling Prozess Startzeitpunkt Laufzeit Priorität t infuehrung in die technische Informatik 5 Scheduling Prozess Startzeitpunkt Laufzeit Priorität t infuehrung in die technische Informatik 5
28 Scheduling Prozess Startzeitpunkt Laufzeit Priorität t infuehrung in die technische Informatik 55 Scheduling Prozess Startzeitpunkt Laufzeit Priorität t infuehrung in die technische Informatik 56
29 Scheduling Prozess Startzeitpunkt Laufzeit Priorität t infuehrung in die technische Informatik 57 Scheduling Prozess Startzeitpunkt Laufzeit Priorität t infuehrung in die technische Informatik 58
30 Scheduling Prozess Startzeitpunkt Laufzeit Priorität t infuehrung in die technische Informatik 59 Scheduling Prozess Startzeitpunkt Laufzeit Priorität t infuehrung in die technische Informatik 6
31 Scheduling Prozess Startzeitpunkt Laufzeit Priorität t infuehrung in die technische Informatik 6 Scheduling t Prozess Zeitpunkt (RUNNING) infuehrung in die technische Informatik 6
32 Interprozess-Kommunikation ufgabe wird in mehrere Teile zerlegt Jeder Teil wird von einem Prozess (oder Thread) bearbeitet Prozesse müssen untereinander Nachrichten austauschen! Interprozess-Kommunikation (IP) rbeitsschritte müssen in einer bestimmten Reihenfolge ausgeführt werden! Synchronisation infuehrung in die technische Informatik 6 Synchronisation Klassisches Problem Zugriff auf eine gemeinsame Ressource (z.., rucker) diese Ressource kann aber auch eine gemeinsame Variable sein erinnern wir uns an das Problem der globalen Variable bei den Threads Oft ist notwendig, dass ein Prozess eine Reihe von Operationen auf einer Ressource ausführt, ohne dass irgendein anderer Prozess auf diese Ressource zugreift ie Reihe von Operationen, welche nicht unterbrochen werden dürfen, nennt man oft critical section ie Tatsache, dass sich nur ein Prozess in einer critical section befinden darf, wird mutual exclusion genannt infuehrung in die technische Informatik 6
33 Interprozess-Kommunikation Synchrone Methoden mpfänger muss Nachricht aktiv abholen eispiel Message Passing Semaphore bekannte nalogie ist ein riefkasten synchrone Methoden mpfänger wird durch Nachricht unterbrochen eispiel Signale Interrupts bekannte nalogie ist ein ilbote infuehrung in die technische Informatik 65 Synchrone IP Semaphore dienen zur Synchronisation von ijkstra eingeführt ufbau ounter (Zähler) Warteschlange für Prozesse Semaphor ounter: Queue: Operationen P Operation V Operation infuehrung in die technische Informatik 66
34 Synchrone IP P Operation wenn ounter > erniedrige ounter um wenn ounter <= erniedrige ounter um blockiere den aufrufenden Prozess (oder Thread) und trage ihn in die Queue ein V Operation wenn ounter >= erhöhe ounter um wenn ounter < erhöhe ounter um de-blockiere einen Prozess, der in der Queue wartet infuehrung in die technische Informatik 67 Synchrone IP Idee bevor ein Prozess eine critical section betritt, muss eine P Operation ausgeführt werden am nde der critical section wird eine V Operation ausgeführt ounter wenn der ounter > ist, gibt er an, wie viele Prozesse ohne zu blockieren in die critical section dürfen (üblicherweise, kann aber für manche Ressourcen durchaus mehr sein) wenn der ounter < ist, gibt er an, wie viele Prozesse in der Queue warten infuehrung in die technische Informatik 68
35 Threads - Revisited : Semaphore sema; : : f() 5: { 6: printf( i ist %d\n, i); } 8: 9: int main(int argc, char **argv) : { :.. (do stuff here).. : P(sema); : i = get_input(); : f(); 5: V(sema); 6: return ; } dressraum (aten) i =? Registerinhalte (hier P) P = P = sema ounter: Queue: ontext infuehrung in die technische Informatik 69 Threads - Revisited : Semaphore sema; : : f() 5: { 6: printf( i ist %d\n, i); } 8: 9: int main(int argc, char **argv) : { :.. (do stuff here).. : P(sema); : i = get_input(); : f(); 5: V(sema); 6: return ; } dressraum (aten) i =? Registerinhalte (hier P) P = P = sema ounter: Queue: ontext infuehrung in die technische Informatik 7
36 Threads - Revisited : Semaphore sema; : : f() 5: { 6: printf( i ist %d\n, i); } 8: 9: int main(int argc, char **argv) : { :.. (do stuff here).. : P(sema); : i = get_input(); : f(); 5: V(sema); 6: return ; } dressraum (aten) i =? Registerinhalte (hier P) P = P = sema ounter: Queue: ontext infuehrung in die technische Informatik 7 Threads - Revisited : Semaphore sema; : : f() 5: { 6: printf( i ist %d\n, i); } 8: 9: int main(int argc, char **argv) : { :.. (do stuff here).. : P(sema); : i = get_input(); : f(); 5: V(sema); 6: return ; } dressraum (aten) i = Registerinhalte (hier P) P = P = sema ounter: Queue: ontext infuehrung in die technische Informatik 7
37 Threads - Revisited : Semaphore sema; : : f() 5: { 6: printf( i ist %d\n, i); } 8: 9: int main(int argc, char **argv) : { :.. (do stuff here).. : P(sema); : i = get_input(); : f(); 5: V(sema); 6: return ; } dressraum (aten) i = Registerinhalte (hier P) P = P = sema ounter: Queue: ontext infuehrung in die technische Informatik 7 Threads - Revisited : Semaphore sema; : : f() 5: { 6: printf( i ist %d\n, i); } 8: 9: int main(int argc, char **argv) : { :.. (do stuff here).. : P(sema); : i = get_input(); : f(); 5: V(sema); 6: return ; } dressraum (aten) i = Registerinhalte (hier P) P = P = sema ounter: Queue: ontext infuehrung in die technische Informatik 7
38 Threads - Revisited : Semaphore sema; : : f() 5: { 6: printf( i ist %d\n, i); } 8: 9: int main(int argc, char **argv) : { :.. (do stuff here).. : P(sema); : i = get_input(); : f(); 5: V(sema); 6: return ; } dressraum (aten) i = Registerinhalte (hier P) P = P = locked sema ounter: - Queue: ontext infuehrung in die technische Informatik 75 Threads - Revisited : Semaphore sema; : : f() 5: { 6: printf( i ist %d\n, i); } 8: 9: int main(int argc, char **argv) : { :.. (do stuff here).. : P(sema); : i = get_input(); : f(); 5: V(sema); 6: return ; } dressraum (aten) i = Registerinhalte (hier P) P = P = locked sema ounter: - Queue: ontext infuehrung in die technische Informatik 76
39 Threads - Revisited : Semaphore sema; : : f() 5: { 6: printf( i ist %d\n, i); } 8: 9: int main(int argc, char **argv) : { :.. (do stuff here).. : P(sema); : i = get_input(); : f(); 5: V(sema); 6: return ; } dressraum (aten) i = Registerinhalte (hier P) P = 6 P = 5 locked sema ounter: - Queue: ontext infuehrung in die technische Informatik 77 Threads - Revisited : Semaphore sema; : : f() 5: { 6: printf( i ist %d\n, i); } 8: i ist 9: int main(int argc, char **argv) : { :.. (do stuff here).. : P(sema); : i = get_input(); : f(); 5: V(sema); 6: return ; } dressraum (aten) i = Registerinhalte (hier P) P = 7 P = 5 locked sema ounter: - Queue: ontext infuehrung in die technische Informatik 78
40 Threads - Revisited : Semaphore sema; : : f() 5: { 6: printf( i ist %d\n, i); } 8: 9: int main(int argc, char **argv) : { :.. (do stuff here).. : P(sema); : i = get_input(); : f(); 5: V(sema); 6: return ; } dressraum (aten) i = Registerinhalte (hier P) P = 5 P = locked sema ounter: - Queue: ontext infuehrung in die technische Informatik 79 Threads - Revisited : Semaphore sema; : : f() 5: { 6: printf( i ist %d\n, i); } 8: 9: int main(int argc, char **argv) : { :.. (do stuff here).. : P(sema); : i = get_input(); : f(); 5: V(sema); 6: return ; } dressraum (aten) i = Registerinhalte (hier P) P = 6 P = sema ounter: Queue: ontext infuehrung in die technische Informatik 8
41 Threads - Revisited : Semaphore sema; : : f() 5: { 6: printf( i ist %d\n, i); } 8: 9: int main(int argc, char **argv) : { :.. (do stuff here).. : P(sema); : i = get_input(); : f(); 5: V(sema); 6: return ; } dressraum (aten) i = Registerinhalte (hier P) P = 6 P = sema ounter: Queue: ontext infuehrung in die technische Informatik 8 Threads - Revisited : Semaphore sema; : : f() 5: { 6: printf( i ist %d\n, i); } 8: 9: int main(int argc, char **argv) : { :.. (do stuff here).. : P(sema); : i = get_input(); : f(); 5: V(sema); 6: return ; } dressraum (aten) i = 7 Registerinhalte (hier P) P = 6 P = sema ounter: Queue: ontext infuehrung in die technische Informatik 8
42 Threads - Revisited : Semaphore sema; : : f() 5: { 6: printf( i ist %d\n, i); } 8: 9: int main(int argc, char **argv) : { :.. (do stuff here).. : P(sema); : i = get_input(); : f(); 5: V(sema); 6: return ; } dressraum (aten) i = 7 Registerinhalte (hier P) P = 6 P = 6 5 sema ounter: Queue: ontext infuehrung in die technische Informatik 8 Threads - Revisited : Semaphore sema; : : f() 5: { 6: printf( i ist %d\n, i); } 8: i ist 7 9: int main(int argc, char **argv) : { :.. (do stuff here).. : P(sema); : i = get_input(); : f(); 5: V(sema); 6: return ; } dressraum (aten) i = 7 Registerinhalte (hier P) P = 6 P = 7 5 sema ounter: Queue: ontext infuehrung in die technische Informatik 8
43 Threads - Revisited : Semaphore sema; : : f() 5: { 6: printf( i ist %d\n, i); } 8: 9: int main(int argc, char **argv) : { :.. (do stuff here).. : P(sema); : i = get_input(); : f(); 5: V(sema); 6: return ; } dressraum (aten) i = 7 Registerinhalte (hier P) P = 6 P = 5 sema ounter: Queue: ontext infuehrung in die technische Informatik 85 Threads - Revisited : Semaphore sema; : : f() 5: { 6: printf( i ist %d\n, i); } 8: 9: int main(int argc, char **argv) : { :.. (do stuff here).. : P(sema); : i = get_input(); : f(); 5: V(sema); 6: return ; } dressraum (aten) i = 7 Registerinhalte (hier P) P = 6 P = 6 sema ounter: Queue: ontext infuehrung in die technische Informatik 86
44 eadlock Now, synchronisation is all good and fun. aber, eadlocks können auftreten! eadlock ine Gruppe von Prozessen wartet jeweils auf die ktion eines anderen Prozesses in dieser Gruppe aher kommt es zum Stillstand, kein Fortschritt wird mehr erzielt infuehrung in die technische Informatik 87 eadlock eispiel mit Threads und Semaphoren, die jeweils eine globale Variable schützen Thread Thread P(S) P(S) P(S) P(S) V(S) V(S) V(S) V(S) Zeit(t) infuehrung in die technische Informatik 88
45 eadlock eispiel mit Threads und Semaphoren, die jeweils eine globale Variable schützen Thread P(S) Thread P(S) P(S) P(S) V(S) V(S) V(S) V(S) Zeit(t) infuehrung in die technische Informatik 89 eadlock eispiel mit Threads und Semaphoren, die jeweils eine globale Variable schützen Thread P(S) P(S) Thread locked P(S) P(S) blockiert, weil bereits S belegt hat V(S) V(S) V(S) V(S) Zeit(t) infuehrung in die technische Informatik 9
46 eadlock eispiel mit Threads und Semaphoren, die jeweils eine globale Variable schützen Thread P(S) Thread locked P(S) P(S) P(S) V(S) V(S) V(S) V(S) Zeit(t) infuehrung in die technische Informatik 9 eadlock eispiel mit Threads und Semaphoren, die jeweils eine globale Variable schützen Thread locked P(S) Thread locked P(S) P(S) P(S) blockiert, weil bereits S belegt hat V(S) V(S) V(S) V(S) Zeit(t) infuehrung in die technische Informatik 9
47 eadlock eispiel mit Threads und Semaphoren, die jeweils eine globale Variable schützen Thread locked P(S) Thread locked P(S) P(S) P(S) blockiert, weil bereits S belegt hat V(S) V(S) eadlock V(S) V(S) Zeit(t) infuehrung in die technische Informatik 9 eadlock Notwendige edingungen ) Mutual xclusion er Zugriff auf Ressourcen ist exklusiv ) Hold and Wait Prozesse können Ressourcen anfordern, obwohl sie schon welche besitzen ) No preemption Ressourcen werden nur durch Prozesse freigegeben ) ircular Wait Zumindest zwei Prozesse warten aufeinander infuehrung in die technische Informatik 9
48 eadlock Maßnahmen zur Verhinderung von eadlocks ) eadlock voidance Prozesse werden überwacht und alle nforderungen, die möglicherweise zu einem eadlock führen, werden nicht erlaubt oder verzögert ) eadlock Prevention eine (oder mehrere) der vier notwendigen edingungen für einen eadlock werden im System verboten ) eadlock etection eadlock wird erkannt und (einige) beteiligte Prozesse beendet ) Problem ignorieren infuehrung in die technische Informatik 95 Zusammenfassung etriebssysteme verwalten Prozesse Speicher ateisystem ingabe und usgabe Prozessmanagement Prozessmanagement atenstrukturen Zustandsübergänge Prozess Ressourcen und thread(s) of execution Thread Registersatz und thread-spezifischen aten (lokale Variable, Stack) Scheduling infuehrung in die technische Informatik 96
49 Zusammenfassung Interprozess-Kommunikation (IP) atenaustausch zwischen Prozessen (oder Threads) Synchronisation für mutual exclusion in critical section Synchrone IP Semaphore, Messages synchrone IP Signale, Interrupts eadlock schwerwiegendes Probleme bei Synchronisationsaufgaben infuehrung in die technische Informatik 97
Technische Informatik II
Institut für Technische Informatik und Kommunikationsnetze Technische Informatik II Übung 1: Prozesse und Threads Hinweis: Weitere ufgaben zu diesem Thema finden sie in den egleitbüchern zur Vorlesung.
MehrSingle- und Multitasking
Single- und Multitasking Peter B. Ladkin ladkin@rvs.uni-bielefeld.de Peter B. Ladkin Command Interpreter (ComInt) läuft wartet auf Tastatur-Eingabe "liest" (parst) die Eingabe (für Prog-Name) Macht "Lookup"
Mehrb) Geben Sie für Ihr System vier virtuelle Adressen, deren Eintrag in der Page-Table und die dazugehörigen physikalischen Adressen an.
VU Technische Grundlagen der Informatik Übung 8: Netzwerke, Systemsoftware 183.579, WS2012 Übungsgruppen: Mo., 14.01. o., 17.01.2013 ufgabe 1: Virtual Memory Zeichnen Sie ein System, das Paging zur Speicherverwaltung
MehrProzesse 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.
Mehr183.579, SS2012 Übungsgruppen: Do., 14.6. Mi., 20.6.2012
VU Technische Grundlagen der Informatik Übung 8: Systemsoftware und Netzwerke 183.579, SS2012 Übungsgruppen: o., 14.6. Mi., 20.6.2012 ufgabe 1: Virtual Memory Zeichnen Sie ein System das Paging zur Speicherverwaltung
MehrSysteme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard
Systeme I: Betriebssysteme Kapitel 4 Prozesse Wolfram Burgard Version 18.11.2015 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen
MehrBetriebssysteme 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
MehrRTOS Einführung. Version: Datum: Autor: Werner Dichler
RTOS Einführung Version: 0.0.1 Datum: 20.07.2013 Autor: Werner Dichler Inhalt Inhalt... 2 RTOS... 3 Definition... 3 Anforderungen... 3 Aufgaben... 3 Eigenschaften... 4 Einteilung der Betriebssysteme...
Mehr2.3 Prozessverwaltung
Realisierung eines Semaphors: Einem Semaphor liegt genau genommen die Datenstruktur Tupel zugrunde Speziell speichert ein Semaphor zwei Informationen: Der Wert des Semaphors (0 oder 1 bei einem binären
MehrThreads. Netzwerk - Programmierung. Alexander Sczyrba Jan Krüger
Netzwerk - Programmierung Threads Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de Jan Krüger jkrueger@cebitec.uni-bielefeld.de Übersicht Probleme mit fork Threads Perl threads API Shared Data Mutexes
MehrScheduling-Algorithmen: Zeitpunkt der Auswahlentscheidung
Scheduling-Algorithmen: Zeitpunkt der Auswahlentscheidung Nicht-präemptives Scheduling: CPU kann einem Prozess nur entzogen werden, wenn er beendet oder blockiert ist Präemptives Scheduling: Aktueller
MehrBetriebssysteme G: Parallele Prozesse (Teil A: Grundlagen)
Betriebssysteme G: Parallele Prozesse (Teil A: Grundlagen) 1 Prozesse Bei Betriebssystemen stoßen wir des öfteren auf den Begriff Prozess als wahrscheinlich am häufigsten verwendeter und am unklarsten
MehrWas machen wir heute? Betriebssysteme Tutorium 3. Organisatorisches. Prozesskontrollblock (PCB) Programmieraufgaben. Frage 3.1.a
Was machen wir heute? Betriebssysteme Tutorium 3 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 1
MehrSysteme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz
Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 21.11.2012 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Testat nach Weihnachten Mittwoch
Mehrparallele Prozesse auf sequenziellen Prozessoren Ein Process ist ein typisches Programm, mit eigenem Addressraum im Speicher.
Threads parallele Prozesse auf sequenziellen Prozessoren Prozesse und Threads Es gibt zwei unterschiedliche Programme: Ein Process ist ein typisches Programm, mit eigenem Addressraum im Speicher. Ein Thread
MehrVerklemmungen - Deadlocks
Verklemmungen - Deadlocks Betriebsmittel Verklemmung Vogelstrauss Algorithmus Erkennung und Auflösung Vermeidung SS2001 Prof. H.D. Clausen - unisal 1 Kritische Betriebsmittel Beispiele Drucker Magnetbandgeräte
MehrThreads. Foliensatz 8: Threads Folie 1. Hans-Georg Eßer, TH Nürnberg Systemprogrammierung, Sommersemester 2015
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]: STATS: dropped 0 Sep 20 01:00:01 amd64 /usr/sbin/cron[29278]: (root)
MehrEinführung. Anwendung. logischer Adreßraum. Kontrollfluß (Thread) = CPU führt Instruktionen aus. Was charakterisiert einen Kontrollfluß?
Kontrollflüsse Einführung 1 Motivation Kontrollfluß Anwendung logischer Adreßraum Kontrollfluß (Thread) = führt Instruktionen aus Was charakterisiert einen Kontrollfluß? Programmzähler Registerinhalte
MehrBetriebssysteme. Vorlesung im Herbstsemester 2010 Universität Mannheim. Kapitel 6: Speicherbasierte Prozessinteraktion
Betriebssysteme Vorlesung im Herbstsemester 2010 Universität Mannheim Kapitel 6: Speicherbasierte Prozessinteraktion Felix C. Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung
Mehr(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
MehrLiteratur. Betriebssysteme - WS 2015/16 - Teil 13/Scheduling 2
Literatur [13-1] Quade, Jürgen; Mächtel, Michael: Moderne Realzeitsysteme kompakt. dpunkt, 2012 [13-2] Quade, Jürgen: Embedded Linux lernen mit dem Raspberry Pi. dpunkt, 2014 [13-3] Eißenlöffel, Thomas:
MehrTechnische 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
MehrThreads 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
MehrBetriebssysteme. G: Parallele Prozesse. (Teil B: Klassische Problemstellungen, Mutual Exclusion, kritische Regionen)
Betriebssysteme G: Parallele Prozesse (Teil B: Klassische Problemstellungen, Mutual Exclusion, kritische Regionen) 1 Allgemeine Synchronisationsprobleme Wir verstehen ein BS als eine Menge von parallel
MehrUniversität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner. Übung 5: Semaphoren
Universität Stuttgart Prof. Dr.-Ing. Dr. h. c. P. Göhner Aufgabe 5.1: Übung 5: Semaphoren Semaphor-Operationen In Bild 5.1.1 ist die Anordnung von Semaphor-Operationen am Anfang und am e der asks A,B,C
Mehr1 Prozesse und Scheduling (12 Punkte)
1 Prozesse und Scheduling (12 Punkte) a) UNIX Shell-Operatoren (insgesamt 4 Punkte) 1. Operator (1,5 Punkte) Beschreiben Sie die Funktionsweise des Operators. 2. Operator Beispiel (1 Punkt) Geben Sie für
Mehr2Binden 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
MehrBetriebssysteme. Probeklausur. Olaf Spinczyk.
Betriebssysteme https://ess.cs.tu-dortmund.de/de/teaching/ss/bs/ Olaf Spinczyk olaf.spinczyk@tu-dortmund.de https://ess.cs.tu-dortmund.de/~os G Eingebettete Systemsoftware Informatik, TU Dortmund blauf
MehrÜ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)
MehrVorl. 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
MehrDomä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
MehrA 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....................................
MehrPThreads. 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
MehrProseminar KVBK : Scheduler unter Linux
Proseminar KVBK : Scheduler unter Linux Valderine Kom Kenmegne Valderine Kom Kenmegne 1 Gliederung 1. Einführung 2. Einplanungsstrategien im Betriebsystem 2.1 Ziel der Einplanungsstrategien 2.2 Beispiele
MehrTechnische 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
MehrAufgabe 1 Sicherheit. Klausur Betriebssysteme und Sicherheit, Name: Matrikel-Nr.: Studiengang: 7 Punkte
Klausur etriebssysteme und Sicherheit, 31.07.2014 1 2 3 4 5 6 7 6 7 6 8 8 42 Aufgabe 1 Sicherheit 7 Punkte a) Nennen Sie die drei Haupt-Schutzziele in der atensicherheit! 1 P b) Nennen Sie einen Vorteil
MehrThreads Einführung. Zustände von Threads
Threads Einführung Parallelität : Zerlegung von Problemstellungen in Teilaufgaben, die parallelel ausgeführt werden können (einfachere Strukturen, eventuell schneller, Voraussetzung für Mehrprozessorarchitekturen)
MehrMusterlösung Prüfung WS 01/02
Musterlösung Prüfung WS 01/02 Fach: I3 Software-Technik (SEE, GRS, BTS) Teilprüfung: Betriebssysteme Tag: 29.01.2002 10:45 14.45 Raum: 1006 Bearbeitungszeit: 4 Stunden Name:... Matr.Nr.:... Punkte:...
MehrTest (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
Mehr6. Juni VO Prüfung Betriebssysteme. Ges.)(100) 1.)(35) 2.)(20) 3.)(45) Bitte verwenden Sie nur dokumentenechtes Schreibmaterial!
VO 8. Prüfung Betriebssysteme. Juni KNr. MNr. Zuname, Vorname Ges.)().)().)().)() Zusatzblätter: Bitte verwenden Sie nur dokumentenechtes Schreibmaterial! Synchronisation mit Semaphoren () Eine Parkgarage
MehrLiteratur. VA SS Teil 5/Messages
Literatur [5-1] https://en.wikipedia.org/wiki/message-oriented_middleware [5-2] https://en.wikipedia.org/wiki/advanced_message_queuing_protocol http://www.amqp.org/specification/0-10/amqp-org-download
MehrSystemprogrammierung
Systemprogrammierung 3Vom C-Programm zum laufenden Prozess 6. November 2008 Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2008 SS 2006 SOS 1 (03-Pro.fm 2008-11-06 08.52) 3 Vom C-Programm
MehrKlausur am
Vorlesung Betriebssysteme I Wintersemester 2004/2005 Fachbereich 12, Elektrotechnik und Informatik Betriebssysteme / verteilte Systeme Prof. Roland Wismüller Klausur am 04.04.2005 Name: Vorname: Matrikelnummer:
Mehr4. Übung - Betriebssysteme
1. ufgabe: Systemstart 4. Übung - etriebssysteme Informatik I für Verkehrsingenieure ufgaben inkl. eispiellösungen a Welche ufgabe hat das IOS und was passiert beim Starten eines Systems? b Welche ufgaben
MehrDä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
MehrLösung von Übungsblatt 8
Betriebssysteme (SS201) Lösung von Übungsblatt 8 Aufgabe 1 (Unterbrechungen) 1. Was sind Interrupts? Interrupts sind externe Unterbrechungen. Sie werden durch Ereignisse außerhalb des zu unterbrechenden
MehrPthreads. David Klaftenegger. Seminar: Multicore Programmierung Sommersemester
Seminar: Multicore Programmierung Sommersemester 2009 16.07.2009 Inhaltsverzeichnis 1 Speichermodell 2 3 Implementierungsvielfalt Prioritätsinversion 4 Threads Speichermodell Was sind Threads innerhalb
MehrHomogene Multi-Core-Prozessor-Architekturen
Homogene Multi-Core-Prozessor-Architekturen Praktikum Parallele Rechnerarchitekturen Stefan Potyra Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2009
MehrProzesszustände (1a)
Prozesszustände (1a) NOT EXISTING DELETED CREATED Meta-Zustand (Theoretische Bedeutung) Prozesszustände Multiuser Umfeld (1c) Hintergrund-Prozess - der Prozess startet im Hintergrund - my-commandbin &
MehrModul B-PRG Grundlagen der Programmierung 1
Modul B-PRG Grundlagen der Programmierung 1 Teil 3: Betriebssysteme, Dateisysteme,Sicherheit V20: Prozesse Prof. Dr. R. Brause Adaptive Systemarchitektur Institut für Informatik Fachbereich Informatik
MehrAufgaben Semaphore Übersicht (Dijkstra)
Übersicht (Dijkstra) Einsatz von Semaphoren: Wechselseitiger Ausschluss (INIT = 1): REQ. Kritischer Bereich. REL Zählende Semaphore (INIT = N): Bis zu N verschiedene Prozesse dürfen in den kritischen Bereich
MehrKlausur zum Kurs Betriebssysteme (1802) am 18. September 2010
Fakultät für Mathematik und Informatik Lehrgebiet Kooperative Systeme Prof. Dr. Jörg M. Haake Klausur zum Kurs Betriebssysteme (1802) am 18. September 2010 Klausurort: Vorname Name: Adresse: Matrikelnummer:
MehrSoftwaresysteme I Übungen Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2007 U9.fm
U9 9. Übung U9 9. Übung U9-1 Überblick Besprechung Aufgabe 6 (printdir) Posix-Threads U9.1 U9-2 Motivation von Threads U9-2 Motivation von Threads UNIX-Prozesskonzept: eine Ausführungsumgebung (virtueller
MehrInfo B VL 16: Monitore und Semaphoren
Info B VL 16: Monitore und Semaphoren Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 16: Monitore und
MehrTeil 3: Konzepte von Betriebssystemen
Teil 3: Konzepte von Betriebssystemen Inhalt: Einführung Prozesse Speicherverwaltung Virtueller Speicher 1 Definition eines Betriebssystems Was ist ein Betriebssystem? einfache Definition: Als Betriebssystem
MehrI 7. Übung. I-1 Überblick. Besprechung Aufgabe 5 (mysh) Online-Evaluation. Posix Threads. Ü SoS I I.1
I 7. Übung I 7. Übung I-1 Überblick Besprechung Aufgabe 5 (mysh) Online-Evaluation Posix Threads I.1 I-2 Evaluation I-2 Evaluation Online-Evaluation von Vorlesung und Übung SOS zwei TANs, zwei Fragebogen
MehrFakultät für Informatik der Technischen Universität München. Kapitel 3. Nebenläufigkeit
Kapitel 3 Nebenläufigkeit 136 Inhalt Motivation Unterbrechungen (Interrupts) (Software-) Prozesse Threads Interprozesskommunikation (IPC) 137 Links: Literatur Maurice Herlihy, Nir Shavit, The Art of Multiprocessor
MehrSequentielle 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
MehrBetriebssysteme BS-H WS 2014/15. Hans-Georg Eßer. Foliensatz H: Zusammenfassung. Dipl.-Math., Dipl.-Inform. v1.0, 2015/01/10
BS-H Betriebssysteme WS 2014/15 Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz H: Zusammenfassung v1.0, 2015/01/10 10.01.2015 Betriebssysteme, WS 2014/15, Hans-Georg Eßer Folie H-1 Übersicht: BS
MehrInhaltsverzeichnis. 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
Mehre) Welche Aussage zu Speicherzuteilungsverfahren ist falsch?
Aufgabe 1: (1) Bei den Multiple-Choice-Fragen ist jeweils nur eine richtige Antwort eindeutig anzukreuzen. Auf die richtige Antwort gibt es die angegebene Punktzahl. Wollen Sie eine Multiple-Choice-Antwort
MehrAufgaben zum Thema Verklemmungen
Aufgaben zum Thema Verklemmungen V1. Untersuchen Sie das folgende Prozeßsystem auf das Auftreten von Deadlocks (s1, s2, s3: binäre Semaphore, mit true initialisiert): 95/5 Prozeß 1 Prozeß 2 Prozeß 3 P(s1);
MehrBetriebssysteme (BS)
Betriebssysteme (BS) Probeklausur Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund http://ess.cs.uni-dortmund.de/ http://ess.cs.tu-dortmund.de/de/teaching/ss2014/bs/
MehrVerteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016
Verteilte Systeme SS 2016 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 31. Mai 2016 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/14) i
MehrPOSIX-Threads. Aufgabe 9 SP - Ü U10.1
U10 10. Übung U10 10. Übung POSIX-Threads Aufgabe 9 U10.1 U10-1 Motivation von Threads U10-1 Motivation von Threads UNIX-Prozesskonzept: eine Ausführungsumgebung (virtueller Adressraum, Rechte, Priorität,...)
MehrComputergrundlagen Moderne Rechnerarchitekturen
Aufbau eines modernen Computers Computergrundlagen Moderne Rechnerarchitekturen Axel Arnold Institut für Computerphysik Universität Stuttgart DDR3- Speicher Prozessor Prozessor PEG Graphikkarte(n) weitere
MehrÜbung zu Grundlagen der Betriebssysteme. 11. Übung
Übung zu Grundlagen der Betriebssysteme 11. Übung 08.01.2012 Organisation Anmeldung zur Klausur Klausur Grundlagen der Betriebssysteme Datum: 05.02.2013 Raum F414 (steht aber noch nicht sicher fest) Anmeldung
MehrSysteme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz
Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 13.11.2013 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen
MehrProzeß 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
MehrDeadlock. Peter Puschner Institut für Technische Informatik
Deadlock Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at Deadlock Permanentes Blockieren einer Menge von Prozessen, die um Ressourcen konkurrieren oder miteinander kommunizieren
MehrU9-3 Vergleich von Thread-Konzepten. U9-2 Motivation von Threads. U9-3 Vergleich von Thread-Konzepten (2) U9-1 Überblick
U9 9. Übung U9 9. Übung U9-1 Überblick Besprechung Aufgabe 6 (printdir) Posix-Threads U9.1 User-Level Threads: Federgewichtige Prozesse Realisierung von Threads auf Anwendungsebene innerhalb eines Prozesses
MehrComputergrundlagen Moderne Rechnerarchitekturen
Computergrundlagen Moderne Rechnerarchitekturen Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2010/11 Aufbau eines modernen Computers DDR3- Speicher Prozessor Prozessor PEG
MehrProzesse 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
MehrProzesse: Prozesskontrollblock, -steuerung, -umschaltung
Proseminar: Konzepte von Betriebssystemkomponenten 3.11.03 Prozesse: Prozesskontrollblock, steuerung, umschaltung Überblick Prozesskontrollblock Prozesszustände Prozessumschaltung Prozesskontrollblock
MehrNicht-blockierende Synchronisation für Echtzeitsysteme
Nicht-blockierende Synchronisation für Echtzeitsysteme Seminar Mobile Systeme Florian Schricker 15. März 2005 Seminarleiter: Prof. Dr. Dieter Zöbel 1 INHALTSVERZEICHNIS INHALTSVERZEICHNIS Inhaltsverzeichnis
MehrDomä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,
MehrBetriebssysteme Theorie
Betriebssysteme Theorie SS 2012 Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz C (08.04.2012) Scheduler 08.04.2012 Betriebssysteme-Theorie, SS 2012, Hans-Georg Eßer Folie C-1 Gliederung Was ist
MehrProzesse and Threads WS 09/10 IAIK 1
Prozesse and Threads WS 09/10 IAIK 1 Prozesse Programm in Ausführung Mit einem Prozess verbunden: Adressraum Folge von Speicherstellen auf die der Prozess zugreifen kann Enthält ausführbares Programm,
MehrFreispeicherverwaltung
Freispeicherverwaltung Allgemeine Techniken und Anwendung unter Linux Martin Wahl, 17.11.03 Freispeicherverwaltung 1 Überblick Allgemeines Suchstrategien Verwaltungsstrategien externer / interner Verschnitt
MehrLösungen der Übungsaufgaben (Kap 1)
Lösungen der Übungsaufgaben (Kap 1) Übungsfragen Bei der Echtzeit-Programmierung steht nur der Zeitpunkt eines Ergebnisses im Vordergrund Echtzeit bedeutet so schnell wie möglich Bei weichen Echtzeit-Systemen
MehrBetriebssysteme BS-F WS 2015/16. Hans-Georg Eßer. Foliensatz F: Scheduling Prioritäten. v1.3, 2015/08/20
BS-F Betriebssysteme WS 2015/16 Hans-Georg Eßer Foliensatz F: Scheduling Prioritäten v1.3, 2015/08/20 20.08.2015 Betriebssysteme, WS 2015/16, Hans-Georg Eßer Folie F-1 Übersicht Einführung System Calls
MehrProzeß-Interaktion u. -Kommunikation
Definitionen: Prozeß: (Vorgang der) Programmausführung Interaktion: aufeinander bezogenes Handeln Kommunikation: Bidirektionaler (allg.: multidirektionaler) Austausch von Information Information: Daten,
MehrK Ergänzungen zur Einführung in C
K Ergänzungen zur Einführung in C K Ergänzungen zur Einführung in C K.1 Zeiger, Felder und Zeichenketten Zeichenketten sind Felder von Einzelzeichen (char), die in der internen Darstellung durch ein \0
MehrOpenCL. Programmiersprachen im Multicore-Zeitalter. Tim Wiersdörfer
OpenCL Programmiersprachen im Multicore-Zeitalter Tim Wiersdörfer Inhaltsverzeichnis 1. Was ist OpenCL 2. Entwicklung von OpenCL 3. OpenCL Modelle 1. Plattform-Modell 2. Ausführungs-Modell 3. Speicher-Modell
MehrBetriebssysteme Übung 2. Tutorium System Calls & Multiprogramming
Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming Task Wiederholung 1 System SysCalls (1) Wozu? Sicherheit Stabilität Erfordert verschiedene modes of execution: user mode privileged mode
MehrBetriebssysteme 1. Einführung. Scheduling worum geht es? Scheduler: Gliederung
BS1-D Betriebssysteme 1 SS 2017 Prof. Dr.-Ing. Hans-Georg Eßer Fachhochschule Südwestfalen Einführung Foliensatz D: Scheduler v1.0, 2016/05/20 18.05.2017 Betriebssysteme 1, SS 2017, Hans-Georg Eßer Folie
MehrTechGI3: Systemprogrammierung. Klausur März 2008
Klausur März 2008 ACHTUNG Die vorliegende wurde im März 2008 geschrieben. Sie ist für eine Bearbeitungszeit von 120 Minuten gedacht. In diesem Semester wurde das Modul TechGI3 nicht als prüfungsäquivalente
MehrAnwendung (2. Versuch:-) Entkopplung der Locks
Gut gemeint aber leider fehlerhaft... Jeder Producer benötigt zwei Locks gleichzeitig, um zu produzieren: 1. dasjenige für den Puffer; 2. dasjenige für einen Semaphor. Musser fürden Semaphor einwait()
MehrProseminar: Konzepte von Betriebsystem-Komponenten (KVBK)
Proseminar: Konzepte von Betriebsystem-Komponenten (KVBK) Schwerpunkt Linux Interrupts, Softirqs, Tasklets, Bottom Halves Interrupts: Softirqs, Tasklets, Bottom Halves 1 Thomas Engelhardt Übersicht: Klassifizierung
MehrÜbung Betriebssysteme 11
Übung Betriebssysteme 11 Christian Motika Christian-Albrechts-Universität zu Kiel Institut für Informatik AG Echtzeitsysteme / Eingebettete Systeme Kiel, Germany 29-JAN-2013 CAU - WS 2012/13 Übung Betriebssysteme
MehrKonzepte von Betriebssystem-Komponenten. Ausnahme- / Unterbrechungsbehandlung
Konzepte von Betriebssystem-Komponenten Sommersemester 2005 Uni Erlangen Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebsysteme Tarek Gasmi Tarek.Gasmi@informatik.stud.uni-erlangen.de Tarek Gasmi
MehrPerformance Messungen von FreeRTOS und
Performance Messungen von FreeRTOS und µc/os-iii auf ARM-Architekturen Tim Wacher (wht4@bfh.ch) Master of Science in Engineering MRU Production Technology 16. August 2011/ CH-3400 Burgdorf Outline 1 Ziel
MehrEchtzeitanwendungen mit Java Real Time Specification for Java
Fakultät Informatik» Institut für Angewandte Informatik» Lehrstuhl für Technische Informationssysteme Echtzeitanwendungen mit Java Real Time Specification for Java Vortrag im Rahmen des Hauptseminars Technische
MehrFakultät für Informatik der Technischen Universität München. Nebenläufigkeit. Probleme
Nebenläufigkeit Probleme 175 Race Conditions: Probleme Situationen, in denen zwei oder mehrere Threads/Prozesse, die gleichen geteilten Daten lesen oder schreiben und das Resultat davon abhängt, wann genau
MehrBetriebssysteme I SS 2008 Hans-Georg Eßer, Hochschule München Zusammenfassung Seite 1
/home/esser/daten/dozent/hs-muenchen-2008/folien/bs-ss2008-esser-14.odp 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]:
MehrMonitore. 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
MehrU8 POSIX-Threads U8 POSIX-Threads
U8 POSIX-Threads U8 POSIX-Threads Motivation Thread-Konzepte pthread-api pthread-koordinierung U8.1 U8-1 Motivation von Threads U8-1 Motivation von Threads UNIX-Prozesskonzept: eine Ausführungsumgebung
Mehr