Betriebssysteme 13/14

Größe: px
Ab Seite anzeigen:

Download "Betriebssysteme 13/14"

Transkript

1 Betriebssysteme 13/14 Prozesse und Threads 2 Oktober /72

2 Was ist ein Prozess? Was ist ein Thread? typischer Bootvorgang Bootloader (Grub,...) Kernel und initramfs Filesysteme, Devices init-prozess Wieso Prozess? Was ist ein Prozess überhaupt? Und wie entsteht er? 2/72

3 Am Anfang... main_console = new TextConsole ( 4 );... Scheduler :: instance () - > addnewthread ( main_console );... void TextConsole :: Run ( void ) // vereinfacht { } do { getkeyfromkbd ( key ) handlekey ( key ); Scheduler :: instance () - > yield (); } while ( 1 ); // until the end of time 3/72

4 Programm und Thread Ein Programm ist zuerstmal Code: vielleicht kompilierbar vielleicht lauähig vielleicht fehleranfällig Ein Prozess oder ein Thread ist eine Aktivität: die CPU führt programmierte Befehle aus Besteht aus Programmcode Input Output Zustand 4/72

5 Mehrere Prozesse oder Threads Eine CPU - zu einem Zeitpunkt ein aktiver Prozess bzw. Thread Wechsel zwischen Threads - wie macht das die CPU? 5/72

6 Mehrere Prozesse oder Threads Eine CPU - zu einem Zeitpunkt ein aktiver Prozess bzw. Thread Wechsel zwischen Threads - wie macht das die CPU? IP / PC woanders hinsetzen... 6/72

7 Mehrere Prozesse oder Threads (2) IP / PC woanders hinsetzen... Also so: JMP Thread2 Funktioniert das? 7/72

8 Mehrere Prozesse oder Threads (2) IP / PC woanders hinsetzen... Also so: JMP Thread2 Funktioniert das? Nein... Wohin genau? Wie zurück? Sicherheitsfragen... Schaun wir uns das mal in SWEB an. 7/72

9 switch.s (aus SWEB) mov ebx, dword [ currentthreadinfo ]... push dword [ ebx + 8] ; push eflags push dword [ ebx + 4] ; push cs push dword [ ebx + 0] ; push eip push dword [ ebx + 24] pop ebx ; restore ebx iretd ; switch to next Was passiert hier? 8/72

10 Switch currentthreadinfo gesetzt in schedule.cpp Datenstruktur mit Menge von Registern, die den Zustand der CPU zu einem vergangenen Zeitpunkt widerspiegeln Wieso iretd? 9/72

11 was macht IRETD? IRETD - Interrupt Return Returns program control from an exception or interrupt handler to a program or procedure that was interrupted by an exception, an external interrupt, or a software generated interrupt. komplexe Instruktion vereinfachte Darstellung: EIP <-- Pop(); CS <-- Pop(); EFLAGS <-- Pop(); 10/72

12 was macht IRETD? push dword [ ebx + 8] ; push eflags push dword [ ebx + 4] ; push cs push dword [ ebx + 0] ; push eip IRETD 11/72

13 was macht IRETD? push dword [ ebx + 8] ; push eflags push dword [ ebx + 4] ; push cs push dword [ ebx + 0] ; push eip EIP <-- Pop () ; CS <-- Pop () ; EFLAGS <-- Pop () ; 12/72

14 was macht IRETD? push dword[ebx + 8] ;push eflags push dword[ebx + 4] ;push cs push dword[ebx + 0] ;push eip EIP <-- Pop(); CS <-- Pop(); EFLAGS <-- Pop(); 13/72

15 Wieso Interrupt Return wenn wir doch nur zu einem neuen Thread wechseln wollen... CPU beherrscht viele nützliche Instruktionen manche davon haben - bei falscher Anwendung - unangenehme Nebenwirkungen z.b. CLI - Clear Interrupt Flag keine externen Interrupts mehr akzeptiert gefährlich! Anwenderprogramme sollen diese Instruktionen nicht ausführen dürfen 14/72

16 Privileged Instructions - Intel LGDT Load GDT register LLDT Load LDT register LTR Load task register LIDT Load IDT register MOV (control registers) Load and store control registers. LMSW Load machine status word. CLTS Clear task-switched ag in register CR0 MOV (debug registers) Load and store debug registers INVD Invalidate cache, without writeback WBINVD Invalidate cache, with writeback INVLPG Invalidate TLB entry HLT Halt processor RDMSR Read Model-Specic Registers WRMSR Write Model-Specic Registers RDPMC Read Performance-Monitoring Counter RDTSC Read Time-Stamp Counter. 15/72

17 User und Kernel Mode Wir unterscheiden unterschiedliche Privilege-Ebenen User Mode Kernel (oder supervisor) Mode Arbeitsmodus der CPU Manche CPUs: 2 Ebenen (MIPS) andere mehrere (Intel) 16/72

18 IA32 - Ringe 17/72

19 Ringwechsel Wechsel von Ring 3 auf Ring 0 muss überwacht werden Kontrollierter Übergang System Calls Intel: INT 0x80 oder SYSENTER/SYSCALL Unterschied: Geschwindigkeit In Sweb: INT 0x80 18/72

20 Wieso Interrupt Return 19/72

21 Wieso Interrupt Return 20/72

22 Wieso Interrupt Return 21/72

23 Wieso Interrupt Return 22/72

24 Wieso Interrupt Return Wechsel in Kernel-mode ursprünglich über Interrupt Instruktionsadresse über Tupel CS (Code Segment Selector) und EIP (Instruction Pointer) referenziert Rücksetzen des Zustandes des Prozessors (EFLAGS) wesentlich Gleichzeitiges Setzen von CS und EIP nötig IRET macht die Dinge in einem Schritt... (POP EIP; POP CS; POP EFLAGS) 23/72

25 Switch.s (aus SWEB) mov ebx, dword [ currentthreadinfo ]... push dword [ ebx + 8] ; push eflags push dword [ ebx + 4] ; push cs push dword [ ebx + 0] ; push eip push dword [ ebx + 24] pop ebx ; restore ebx iretd ; switch to next... das ist also der Kern des Wechsels zwischen zwei threads... 24/72

26 Threads Etwas vereinfacht: Wechsel zwischen threads durch Laden neuer Werte in CS/EIP thread A läuft bedeutet, CPU führt Code von thread A aus kernel läuft bedeutet, CPU führt Code vom kernel aus virtuell - threads sind ein Konzept, dass es uns erleichtert, uns Abläufe vorzustellen, diese zu steuern und zu programmieren CPU muss wenig bis nichts über threads wissen 25/72

27 Tasks (IA32) Threads auch ohne speziellen CPU-Support implementierbar CPU-support erleichternd IA32: Tasks unit of work that a processor can dispatch, execute, and suspend. task besteht aus execution space code segment stack segment (für jeden priviliege level eines) ein oder mehrere data segments task state segment (TSS) In SWEB nicht extensiv genutzt... 26/72

28 TSS 27/72

29 TSS 28/72

30 Thread, Prozess Thread benötigt genau das, was im TSS steht zwei Threads, die zusammenarbeiten: gleichen Speicher, unterschiedliche Statusinformationen / Stacks / Register... 29/72

31 Thread, Prozess einer oder mehrere zusammengehörige Threads und deren Ressourcen: Prozess typisch: Programm wird gestartet, nur ein thread aktiv Programm startet weitere threads nach Bedarf 30/72

32 Wann entsteht ein Prozess? BS muss sicherstellen, dass alle wichtigen Prozesse existieren. Manchmal: alle Prozesse die jemals benötigt werden beim Startup erzeugt Im allgemeinen: Möglichkeit zur Erzeugung / Beendigung erforderlich Wichtigste Ereignisse, die Prozess- Erzeugung veranlassen 1 System-Initialisierung (boot) 2 Ausführung eines process creation system calls 3 Benutzeranforderung 4 Start eines Batch-Jobs 31/72

33 Booten Mehrere Prozesse werden gestartet Prozesse zur Interaktion mit Anwender Prozesse für bestimmte Funktionen -service Drucker-Warteschlange Firewall 32/72

34 Prozesserzeugung Auch später... Technisch: Immer ein systemcall Unix: fork Windows: CreateProcess SWEB: existiert noch nicht (dann aber: fork) Beide Prozesse separaten Adressraum Bei Unix: vorerst exakte Kopie Bei Windows: von Beginn getrennt 33/72

35 fork - exec Unix / Linux / SWEB pid_t fork(void) Rückgabewerte: 0 an den neu gestarteten Prozess (child) Prozess-ID an den aufrufenden Prozess (parent) Jetzt laufen zwei beinahe idente Kopien desselben Programmes Unterschied nur im Rückgabewert 34/72

36 fork - exec Über den Rückgabewert unterscheidbar: bin ich der Vater oder das Kind Kindprozess überlagert seinen Speicher jetzt mit Code des neuen, zu startenden Programmes pid_t childpid ; childpid = fork (); if ( childpid < 0) { // Fehler bei fork } else if ( childpid == 0) { // ich bin das Kind, mach ein exec if ( execv (...)) { // execv fehlgeschlagen } } else { // ich bin der Parent, tu was immer nötig ist } 35/72

37 Prozess Terminierung Normal exit(freiwillig) Error exit (freiwillig) Fatal error (unfreiwillig) Killed by another process (unfreiwillig) 36/72

38 Process Hierarchies Parent erzeugt einen child process, die können wieder Prozesse erzeugen Bildet Hierarchie die können wieder Prozesse erzeugen... UNIX nennt das "process group" Windows kennt keine Hierarchie Alle Prozesse sind gleich 37/72

39 Process Hierarchies A forkt B,C B forkt D,E,F C forkt G D forkt H Abbildung: Prozesshierarchien 38/72

40 Prozesszustände Grep muster *.c sort Sort muss eventuell auf input warten Blockieren sinnvoll 39/72

41 Prozesszustände 40/72

42 Prozesszustände 41/72

43 Prozesszustände 42/72

44 Prozesszustände 43/72

45 Prozesszustände 44/72

46 Prozesszustände 45/72

47 Prozesszustände 46/72

48 Threads Traditionelles Modell: Prozess hat einen Adressraum einen Ausführungsfaden Manchmal wünschenswert, mehrere Ausführungsfäden parallel zu haben wie eigene Prozesse, aber gemeinsamer Adressraum 47/72

49 Threads Prozess ist Verwaltungseinheit - bündelt zusammengehörige Ressourcen. Ressourcen: Adressraum Oene Files Child Processes Accounting... 48/72

50 Threads Prozess besitzt einen Ausführungsfaden (thread) Threads: werden für die Ausführung auf CPU verwaltet besitzen: Befehlszähler (PC) Register Stack 49/72

51 Threads Erlaubt es, mehrere Fäden innerhalb eines Prozesses laufen zu lassen Hohe Unabhängigkeit Leichtgewichtige Prozesse (lightweight processes) Multithreading 50/72

52 Threads Weniger unabhängig als Prozesse Zugri auf Speicher der anderen Threads! Kein Schutz voreinander! Sollen kooperieren, nicht kämpfen! Zustände: ähnlich wie bei Prozessen - Ready Running Blocked Terminiert 51/72

53 Multithreading Üblich: zuerst nur ein Thread Startet weitere threads (z.b.pthread_create(...)) Manchmal hierarchisch, manchmal ach Wenn thread fertig: pthread_exit Warten auf thread-ende: pthread_wait CPU freiwillig hergeben: pthread_yield 52/72

54 Thread - Probleme Entstehen leicht durch die gemeinsamen Datenbereiche Gleichzeitiger Zugri auf gemeinsamen Speicher? Thread schlieÿt File, von dem ein anderer noch liest? Synchronisation! 53/72

55 Fork-Problem Prozess hat >1 thread Ein Thread eines Prozesses macht fork Neuer Prozess: auch mehrere threads? Wenn ja: Ein thread ist blockiert und wartet auf I/O was macht dieser thread im neuen Prozess? Design-Entscheidungen! Für KU - abzuraten, mehr als einen Thread zu haben! 54/72

56 Warum überhaupt threads Oft sollen Dinge parallel ablaufen Manche der Dinge blockieren Threads erzeugen einfacheres Programmiermodell Eigentlich dasselbe Argument wie für Prozesse Aber: threads haben Daten gemeinsam Ermöglicht Lösungen, die mit Prozessen nicht möglich oder nicht einfach wären 55/72

57 Warum überhaupt threads Weniger Ressourcen: einfacher zu Erzeugen und Zerstören Wechsel zwischen Threads eines Prozesses schneller als zwischen Prozessen Performancegewinn möglich Nicht wenn alle CPU-lastig Mehrprozessormaschinen 56/72

58 Beispiele Textverarbeitung Benutzereingabe Bildschirmanzeige Formattierung Rechtschreibprüfung Autosave Keine Chance mit mehreren Prozessen! 57/72

59 Beispiel Webserver Sammlung von sequentiellen threads Alle sehr einfach 58/72

60 Beispiel while ( TRUE ) { get_next_request (& buf ); handoff_work (& buf ); } while ( TRUE ) { wait_for_work (& buf ); look_for_page_in_cache (& buf,& page )); if ( page_not_in_cache (& page )) read_page_from_disk (& buf,& page ); return_page (& page ); } 59/72

61 Alternative Ein Thread Muss File von Platte lesen Prozess wird blockiert Schlechtere Performance Mögliche Alternative: Non-blocking read 60/72

62 Non-blocking read while ( TRUE ) { // sehr schematische Darstellung!! get_next_event (& buf ); if is_request_event (& buf ) { if ( page_not_in_cache (& page )) request_page_from_disk (& buf,& page ); save_request_in_table (& buf ); } else { return_page (& page ); } } else if is_disk_event (& buf ) { find_request_in_table ; mark_request_as_done ; return_page (& page ); // no error handling e. g. } else if is_... } 61/72

63 Non-blocking read Kein sequentieller Prozess mehr Finite-state-machine! Eigentlich werden threads simuliert! Daher: gleich threads! 62/72

64 Implementierung Zwei Möglichkeiten: Im User-Space Im Kernel (eventuell auch Hybrid) 63/72

65 User-Space threads Kernel weiÿ nichts von Threads - für Kernel nur ein Prozess Kann in allen BS realisiert werden, auch wenn sie keinen thread- support haben. Früher waren das alle... 64/72

66 User-Space threads 65/72

67 User-Space threads Thread table pro Prozess Analog zur Prozess-Tabelle im Kernel Von User-Mode-Runtime-System verwaltet Wenn Thread Funktion ausführt, die den Prozess blockieren könnte_ Aufruf einer Routine im Runtime-System Routine prüft: wird Thread blockieren? Ja: Sichern der Register in Thread-Table Anderen Thread im Zustand ready suchen, Register mit dessen Werten laden. SP und PC wechseln neuer thread ist aktiv Thread-switch auf diese Art: sehr schnell! 66/72

68 User-Space threads Vorteile: Kein Systemcall nötig Daher sehr schnell Kein context-switch memory-cache ush unnötig etc. Eigenes Scheduling verwendbar Nachteile Thread darf keine System-Calls machen könnte blockiert werden 67/72

69 User-Space threads : Lösungsmöglichkeit: Alle system-calls non-blocking Änderungen am BS nicht attraktiv Soll ja mit bestehenden BS arbeiten... Auch Auswirkungen auf Userprogramme Manchmal feststellbar ob Call blockiert Select-Systemcall Vor read: select (in library-routine) Wenn read blockieren würde: anderen thread wählen, und dann später wieder nachschauen Inezient und wenig elegant. 68/72

70 Andere Probleme Page-faults Nicht das gesamte Programm im Speicher Wenn nicht geladene Speicheradresse referenziert wird: page fault BS holt fehlenden Bereich von Platte Prozess: blockiert! (nicht nur thread!) Wenn Thread CPU nicht hergibt... Keine Chance gegen Bösewichte! 69/72

71 Kernel-Mode threads Kein runtime-system mehr Thread-Table im Kernel Infos wie vorher Tabelle Teil des Prozesstabelleneintrags Thread-Erzeugung etc. system-call Hauptnachteil: Aufwand für Systemcalls viel höher als vorher Thread-recycling 70/72

72 Kernel-Space threads 71/72

73 Hyrbride 72/72

Betriebssysteme KU - Einführungstutorium

Betriebssysteme KU - Einführungstutorium Betriebssysteme KU - Einführungstutorium SWEB-Tutoren irc://irc.at.euirc.net/bs Teamwork Arbeitsaufteilung? Zeiteinteilung? Codeeinteilung? Kommunikation! Kommunikation Kommunikation mit dem Team Gruppentreffen

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

Embedded-Linux-Seminare. Linux als Betriebssystem

Embedded-Linux-Seminare. Linux als Betriebssystem Embedded-Linux-Seminare Linux als Betriebssystem http://www.embedded-linux-seminare.de Diplom-Physiker Peter Börner Spandauer Weg 4 37085 Göttingen Tel.: 0551-7703465 Mail: info@embedded-linux-seminare.de

Mehr

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

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

Dämon-Prozesse ( deamon )

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

Mehr

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

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

Mehr

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

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

Mehr

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

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

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

Mehr

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

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

Mehr

Betriebssysteme KU - Einführungstutorium

Betriebssysteme KU - Einführungstutorium Betriebssysteme KU - Einführungstutorium SWEB-Tutoren irc://irc.at.euirc.net/bs 12. Oktober 2011 1 LV-Übersicht 2 Versionskontrolle Zentrale Versionskontrolle Dezentrale Versionskontrolle Git - Best practice

Mehr

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Die Idee Virtuelle Adressen Prozess 1 Speicherblock 0 Speicherblock 1 Speicherblock 2 Speicherblock 3 Speicherblock 4 Speicherblock

Mehr

Die L4-Mikrokern. Mikrokern-Familie. Hauptseminar Ansätze für Betriebssysteme der Zukunft. Michael Steil. Michael Steil 18.04.2002

Die L4-Mikrokern. Mikrokern-Familie. Hauptseminar Ansätze für Betriebssysteme der Zukunft. Michael Steil. Michael Steil 18.04.2002 Die L4-Mikrokern Mikrokern-Familie Hauptseminar Ansätze für Betriebssysteme der Zukunft 18.04.2002 Folie 1 Aufbau des Vortrags 1. Mikrokerne: Idee und Geschichte 2. L4: ein schneller Mikrokern 3. L4Linux:

Mehr

Sicheres C Programmieren in Embedded Systemen ARM II (ARM7TMDI [1] ) Wintersemester 2010-2011

Sicheres C Programmieren in Embedded Systemen ARM II (ARM7TMDI [1] ) Wintersemester 2010-2011 Sicheres C in Embedded Systemen ARM II (ARM7TMDI [1] ) Wintersemester 2010-2011 Dipl. Ing. (FH) Ebrecht Roland, Infineon Technologies AG M.Eng (Electronic Systems) Güller Markus, Infineon Technologies

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

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

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

x86 Open Source Virtualisierungstechniken Thomas Glanzmann

x86 Open Source Virtualisierungstechniken Thomas Glanzmann <thomas@glanzmann.de> x86 Open Source Virtualisierungstechniken März 2006 Zu meiner Person Informatik Student an der Universität Erlangen im 9. Semester 4 jährige Mitarbeit an dem Projekt FAUmachine der

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

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

Realisierung: virtueller Prozessor: der reale Prozessor wird periodisch dem Programm zugewiesen Im Prozessor: durch Task-Status Segment (TSS)

Realisierung: virtueller Prozessor: der reale Prozessor wird periodisch dem Programm zugewiesen Im Prozessor: durch Task-Status Segment (TSS) 1.2 Multitasking Damit ein Computer mehrere Aufgaben gleichzeitig erledigen kann, die jede für sich oder die auch gemeinsam arbeiten, z.b. Daten lesen Berechnungen ausführen Netzwerkkontakt abarbeiten

Mehr

Betriebssysteme BS-V SS 2015. Hans-Georg Eßer. Foliensatz V: Ulix: Interrupts und Faults Ulix: System Calls. Dipl.-Math., Dipl.-Inform.

Betriebssysteme BS-V SS 2015. Hans-Georg Eßer. Foliensatz V: Ulix: Interrupts und Faults Ulix: System Calls. Dipl.-Math., Dipl.-Inform. BS-V Betriebssysteme SS 2015 Dipl.-Math., Dipl.-Inform. Foliensatz V: Ulix: Interrupts und Faults Ulix: System Calls v1.0, 2015/05/28 (klassische Dokumentation) Folie V-1 Übersicht: BS Praxis und BS Theorie

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

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

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

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

Mehr

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

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

Hardware-basierte Virtualisierung

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

Mehr

2 Funktionen für die Verwaltung von Kontexten

2 Funktionen für die Verwaltung von Kontexten Übungen zur Vorlesung Betriebssysteme Projekt 2 Nicht-präemptive User-Level-Thread-Bibliothek (Version 1.10) 1 Einführung In diesem Projekt sollen Sie eine einfache, nicht-präemptive User-Level-Thread-Bibliothek

Mehr

Hardware Virtualisierungs Support für PikeOS

Hardware Virtualisierungs Support für PikeOS Virtualisierungs Support für PikeOS Design eines Virtual Machine Monitors auf Basis eines Mikrokernels Tobias Stumpf SYSGO AG, Am Pfaenstein 14, 55270 Klein-Winternheim HS Furtwangen, Fakultät Computer

Mehr

Windows CE. Process Control and Robotics. Fabian Garagnon

Windows CE. Process Control and Robotics. Fabian Garagnon Windows CE Process Control and Robotics Fabian Garagnon 14.01.2009 Agenda 3 Geschichte & Timeline Echtzeit & Multithreading Architektur Memory Management & Context Switch Entwicklung unter CE Interrupts

Mehr

System Monitoring mit strace. Systemcall tracing

System Monitoring mit strace. Systemcall tracing System Monitoring mit strace Systemcall tracing 1 Gliederung Einleitung: Was ist strace Grundlagen zu strace Kernel Kernelspace vs. Userspace Systemcalls ptrace Simple strace (Demo) strace die wichtigsten

Mehr

Instruktionssatz-Architektur

Instruktionssatz-Architektur Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2005/2006 Übersicht 1 Einleitung 2 Bestandteile der ISA 3 CISC / RISC Übersicht 1 Einleitung 2 Bestandteile

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

Hardware-basierte Virtualisierung

Hardware-basierte Virtualisierung Hardware-basierte Virtualisierung Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2011/2012 Hardware-basierte Virtualisierung 1/22

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

Vorl. 6: Single- und Multitasking

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

Mehr

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

5 Speicherverwaltung. bs-5.1 1

5 Speicherverwaltung. bs-5.1 1 5 Speicherverwaltung bs-5.1 1 Pufferspeicher (cache) realer Speicher Primärspeicher/Arbeitsspeicher (memory) Sekundärspeicher/Hintergrundspeicher (backing store) (Tertiärspeicher/Archivspeicher) versus

Mehr

Rechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance

Rechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance Rechnerarchitektur und Betriebssysteme (CS201): Semaphor, Monitor, Deadlocks, Re-Entrance 5. November 2013 Prof. Dr. Christian Tschudin Departement Mathematik und Informatik, Universität Basel Repetition

Mehr

Betriebssysteme KU - Bewertung A2 - WS 15/16

Betriebssysteme KU - Bewertung A2 - WS 15/16 Betriebssysteme KU - Bewertung A2 - WS 15/16 TEAM:... Mögliche Punkte: 50 + Bonus Allgemein Design Design / PoC Implementation... Sonstiges/Abzüge +X Sonstiges / : Bewertung der einzelnen Gruppenmitglieder

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

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

Embedded OS für ARM Cortex Microcontroller

Embedded OS für ARM Cortex Microcontroller Embedded OS für ARM Cortex Microcontroller RTOS Design, Timinganalyse und Test mit Core Simulation und Hardware Debugger Entscheidende Fragen für oder gegen RTOS Lohnt sich der Einsatz eines RTOS auch

Mehr

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 Verarbeitungsgrundlagen Teil 3 Betriebssystem Überwacher

Mehr

Ferienakademie 2009. Programmierkonzepte für Multi-Core Rechner. Tools: Profiler

Ferienakademie 2009. Programmierkonzepte für Multi-Core Rechner. Tools: Profiler Ferienakademie 2009 Programmierkonzepte für Multi-Core Rechner Tools: Profiler Gliederung Einführung Aufgaben eines Profilers Techniken von Profilern Code Instrumentation Instruction Simulation Hardware

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

C. Betriebssystem-Strukturen C.1 Monolithische Betriebssysteme

C. Betriebssystem-Strukturen C.1 Monolithische Betriebssysteme C. Betriebssystem-Strukturen C.1 Monolithische Betriebssysteme Sammlung von Routinen, ohne Hierarchie, Kapselung und Schichtung. Jede Prozedur kann beliebige andere Prozeduren aufrufen und Datenstrukturen

Mehr

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

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

VORSTELLUNG DER DIPLOMARBEIT

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

Mehr

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

Betriebssysteme Teil 6: Hardware-Schicht II

Betriebssysteme Teil 6: Hardware-Schicht II Betriebssysteme Teil 6: Hardware-Schicht II 13.11.15 1 Literatur [6-1] Engelmann, Lutz (Hrsg.): Abitur Informatik Basiswissen Schule. Duden-Verlag, 2003, S.43-53, 214-224, 239-242, S. 267-299,304-313 [6-2]

Mehr

Frage 1: Betriebssysteme Gesammelte Prüfungsfragen des Jahres 2013 Stand Jänner 2014

Frage 1: Betriebssysteme Gesammelte Prüfungsfragen des Jahres 2013 Stand Jänner 2014 Betriebssysteme Gesammelte Prüfungsfragen des Jahres 2013 Stand Jänner 2014 Frage 1: Intel IA32-Architektur. Folgende Infos haben wir uns aus dem Intel IA-32 Architectures Developer's Manual: Vol. 3A herausgesucht:

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

Fuse. Filesystem in Userspace PRÄSENTATION VON TIM WELGE

Fuse. Filesystem in Userspace PRÄSENTATION VON TIM WELGE Fuse Filesystem in Userspace PRÄSENTATION VON TIM WELGE 1 INHALTSVERZEICHNIS Einführung Was ist ein Dateisystem Was ist der Userspace FUSE Andere Schlüssel Funktionen Beispiele Wie funktioniert FUSE Schreiben

Mehr

Die Mikroprogrammebene eines Rechners

Die Mikroprogrammebene eines Rechners Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.

Mehr

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

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

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

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

Projekt für Systemprogrammierung WS 06/07

Projekt für Systemprogrammierung WS 06/07 Dienstag 30.01.2007 Projekt für Systemprogrammierung WS 06/07 Von: Hassan Bellamin E-Mail: h_bellamin@web.de Gliederung: 1. Geschichte und Definition 2. Was ist Virtualisierung? 3. Welche Virtualisierungssoftware

Mehr

... Client 1. Request. Reply. Client 2. Server. Client n. Günther Bengel Grundkurs Verteilte Systeme 3. Auflage Vieweg Verlag 2004 ISBN 3-528-25738-5

... Client 1. Request. Reply. Client 2. Server. Client n. Günther Bengel Grundkurs Verteilte Systeme 3. Auflage Vieweg Verlag 2004 ISBN 3-528-25738-5 1 2... n Abbildung 2-1: s und C + S Synchrone Kommunikation Warte auf Zurückgestellte synchrone Kommunikation Arbeite weiter Überprüfe periodisch das Vorliegen des Asynchrone Kommunikation Registriere

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

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

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

Shangrila. One Instruction Set Computer

Shangrila. One Instruction Set Computer Shangrila One Instruction Set Computer Outline One Instruction Set Computer Die Idee Funktion Die Machine Shangrila VM Interfaces Tools Implementation Status & Zukunft OISC >> Die Idee CPU mit nur einer

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

C. Betriebssystem-Strukturen C.1 Monolithische Betriebssysteme

C. Betriebssystem-Strukturen C.1 Monolithische Betriebssysteme C. Betriebssystem-Strukturen C.1 Monolithische Betriebssysteme Sammlung von Routinen, ohne Hierarchie, Kapselung und Schichtung. Jede Prozedur kann beliebige andere Prozeduren aufrufen und Datenstrukturen

Mehr

Hyperthreads in Itanium - Prozessoren

Hyperthreads in Itanium - Prozessoren Hyperthreads in Itanium - Prozessoren und wie OpenVMS damit umgeht Thilo Lauer Technical Consultant Account Support Center 2006 Hewlett-Packard Development Company, L.P. The information contained herein

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

CA Übung 30.01.2006. Christian kann heute nicht kommen => ich bin heute da, Christian das nächste Mal wieder

CA Übung 30.01.2006. Christian kann heute nicht kommen => ich bin heute da, Christian das nächste Mal wieder CA Übung 30.01.2006 Hallo zusammen! Christian kann heute nicht kommen => ich bin heute da, Christian das nächste Mal wieder Adrian Schüpbach: scadrian@student.ethz.ch Christian Fischlin: cfischli@student.ethz.ch

Mehr

Parallelverarbeitung mit Ruby

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

Mehr

Übersicht. Virtueller Speicher CPU-Modi Virtuelle Maschinen. ISM SS 2015 - Teil 4/ProtectionI

Übersicht. Virtueller Speicher CPU-Modi Virtuelle Maschinen. ISM SS 2015 - Teil 4/ProtectionI Übersicht Virtueller Speicher CPU-Modi Virtuelle Maschinen 2 Behandelter Bereich: Virtualisierung Syscall-Schnittstelle Ports Server Apps Server Apps Betriebssystem Protokolle Betriebssystem Medien Hardware

Mehr

Aufgabe 2 - Erweiterung um PIC und Interrupts

Aufgabe 2 - Erweiterung um PIC und Interrupts Aufgabe 2 - Erweiterung um PIC und Interrupts Rainer Müller Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 R. Müller Erweiterung

Mehr

Betriebssystembau (BSB)

Betriebssystembau (BSB) Betriebssystembau (BSB) 6. Übung http://ess.cs.tu-.de/de/teaching/ws2013/bsb/ Olaf Spinczyk olaf.spinczyk@tu-.de http://ess.cs.tu-.de/~os AG Eingebettete System Informatik 12, TU Dortmund Agenda Vorstellung

Mehr

10.6 Programmier-Exits für Workitems

10.6 Programmier-Exits für Workitems 10.6 Programmier-Exits für Workitems 279 10.6 Programmier-Exits für Workitems 10.6.1 Das Interface IF_SWF_IFS_WORKITEM_EXIT Am Schritt einer Workflow-Definition im Reiter»Programmier-Exits«können verschiedene

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

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

Computernutzung für Experimentalphysiker Frei progammierbare Rechner als Werkzeuge in der Experimentalphysik Teil 2

Computernutzung für Experimentalphysiker Frei progammierbare Rechner als Werkzeuge in der Experimentalphysik Teil 2 Computernutzung für Experimentalphysiker Frei progammierbare Rechner als Werkzeuge in der Experimentalphysik Teil 2 Was bisher geschah: Die freie Programmierbarkeit macht Rechner zum echten Multitool Computer

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

(Prüfungs-)Aufgaben zum Thema Scheduling

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

Mehr

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

Betriebssysteme it-akademie Bayern z/os und OS/390 Lehrgang 2008 Prof. Dr.-Ing. Wilhelm G. Spruth Teil 5 Prozessverwaltung

Betriebssysteme it-akademie Bayern z/os und OS/390 Lehrgang 2008 Prof. Dr.-Ing. Wilhelm G. Spruth Teil 5 Prozessverwaltung Betriebssysteme it-akademie Bayern z/os und OS/390 Lehrgang 2008 Prof. Dr.-Ing. Wilhelm G. Spruth Teil 5 Prozessverwaltung copyright W. G. Spruth, 10-2005 Hardware Extern E/A Programm System- Fehler Aufruf

Mehr

Betriebssysteme Kap B: Hardwaremechanismen

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

Mehr

Implementation of a Framework Component for Processing Tasks within Threads on the Application Level

Implementation of a Framework Component for Processing Tasks within Threads on the Application Level Implementation of a Framework Component for Processing Tasks within Threads on the Application Level Deutsches Krebsforschungszentrum, for Processing Task within Threads on the Application Level Motivation

Mehr

Softwareupdate-Anleitung // AC Porty L Netzteileinschub

Softwareupdate-Anleitung // AC Porty L Netzteileinschub 1 Softwareupdate-Anleitung // AC Porty L Netzteileinschub Softwareupdate-Anleitung // AC Porty L Netzteileinschub HENSEL-VISIT GmbH & Co. KG Robert-Bunsen-Str. 3 D-97076 Würzburg-Lengfeld GERMANY Tel./Phone:

Mehr

Design and Implementation of a Soft-error Resilient OSEK Real-time Operating System

Design and Implementation of a Soft-error Resilient OSEK Real-time Operating System Design and Implementation of a Soft-error Resilient OSEK Real-time Operating System Florian Lukas Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich Alexander Universität Erlangen

Mehr

11: Echtzeitbetriebssystem ucos-ii

11: Echtzeitbetriebssystem ucos-ii 11: Echtzeitbetriebssystem ucos-ii Sie lernen anhand aufeinander aufbauender Übungen, welche Möglichkeiten ein Echtzeitbetriebssystem wie das ucosii bietet und wie sich damit MC-Applikationen realisieren

Mehr

VNUML Projektpraktikum

VNUML Projektpraktikum VNUML Projektpraktikum Michael Monreal, Tomasz Oliwa 14. Juni 2006 Abstract Entstanden im Projektpraktikum Simulationen mit User Mode Linux, der vnuml Multiinstaller und VOToN, das VNUML-Old-To-New Programm

Mehr

3. Betriebssystemorganisation

3. Betriebssystemorganisation 3. Betriebssystemorganisation 3.1 Monolithische Betriebssysteme Sammlung von Routinen, ohne Hierarchie, Kapselung und Schichtung. Jede Prozedur kann beliebige andere aufrufen und Datenstrukturen ändern.

Mehr

Concurrent programming Prinzipien und Einführung in Prozesse

Concurrent programming Prinzipien und Einführung in Prozesse LinuxFocus article number 272 http://linuxfocus.org Concurrent programming Prinzipien und Einführung in Prozesse by Leonardo Giordani About the author: Student an der Fakultät

Mehr

bereit (oder Zombie genannt). Normales Ende (exit) und synchrone und asynchrone Signal-Ereignisse, z.b.

bereit (oder Zombie genannt). Normales Ende (exit) und synchrone und asynchrone Signal-Ereignisse, z.b. Prof. Dr. Michael Jäger FB MNI Lösungsvorschlag zur Klausur Betriebssysteme vom 1.10.2014 Blau gekennzeichnete Textstellen sind beispielhafte Lösungen bzw. Antworten zu den Aufgaben. Rot gekennzeichnete

Mehr

Klausur zur Vorlesung Grundlagen der Betriebssysteme WS 2011 / 2012

Klausur zur Vorlesung Grundlagen der Betriebssysteme WS 2011 / 2012 Name: Matrikelnummer: Studiengang: INF CV IM Lehramt BSc MSc BEd MEd Diplom Klausur zur Vorlesung Grundlagen der Betriebssysteme WS 0 / 0 Montag, den. Februar 0, 09: Uhr 0: Uhr Prof. Dr. D. Zöbel, Dipl.

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

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

Military Air Systems

Military Air Systems Trennung von Applikationen unterschiedlicher Kritikalität in der Luftfahrt durch Software en am Beispiel des Real-time Operating Systems PikeOS Dr. Bert Feldmann DGLR Workshop Garching, 09.10.2007 Seite

Mehr

Betriebssystembau. 7. Übung. Michael Engel Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund

Betriebssystembau. 7. Übung. Michael Engel Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund Betriebssystembau 7. Übung Michael Engel Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund michael.engel@tu-dortmund.de http://ess.cs.uni-dortmund.de/~me/ 1 Agenda Coroutinen

Mehr

Institut für Informatik Prof. Dr. D. Hogrefe Dipl.-Inf. R. Soltwisch, Dipl.-Inform. M. Ebner, Prof. Dr. D. Hogrefe Informatik II - SS 04.

Institut für Informatik Prof. Dr. D. Hogrefe Dipl.-Inf. R. Soltwisch, Dipl.-Inform. M. Ebner, Prof. Dr. D. Hogrefe Informatik II - SS 04. Kontrollstrukturen Informatik II SS 2004 Teil 4: Assembler Programmierung Sprünge (bedingte und unbedingte) If-then-else, Case Loop (n Durchläufe) While (Abbruchbedingung) Institut für Informatik Prof.

Mehr