Technische Informatik II

Ähnliche Dokumente
Technische Informatik II

, SS2012 Übungsgruppen: Do., Mi.,

4. Übung - Betriebssysteme

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

Prozeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen

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

Übung Betriebssysteme 11

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

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008

Zusammenfassung Modul 223

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

Dämon-Prozesse ( deamon )

Übung zu Grundlagen der Betriebssysteme. 7. Übung

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial!

Inhaltsverzeichnis. 2.4 Thread-Systeme. 2.1 Was ist ein Prozess? 2.2 Scheduling. 2.3 Interprozesskommunikation

HEUTE. Datenstrukturen im Computer. Datenstrukturen. Rekursion. Feedback Evaluation. abstrakte Datenstrukturen

13. Übung mit Musterlösung

POSIX Echtzeit: Kernel 2.6 und Preempt-RT

Musterlösung Prüfung SS 2002

A Kompilieren des Kernels B Lineare Listen in Linux C Glossar Interessante WWW-Adressen Literaturverzeichnis...

Übung zu Grundlagen der Betriebssysteme. 10. Übung

Operating System Kernels

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

Betriebssystembau (BSB)

Betriebssysteme Kap F: CPU-Steuerung CPU-Scheduling

Verteilte Systeme CS5001

CPU-Scheduling - Grundkonzepte

Vorl. 6: Single- und Multitasking

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

Performance Messungen von FreeRTOS und

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

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

Der Scheduler von Windows Konzepte und Strategien

CS2101 Nebenläufige und Verteilte Programme Bachelor of Science (Informatik)

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Programme werden durch den Ablauf eines oder mehrerer Prozesse (engl.: process, task) von einem Rechner abgearbeitet.

Systeme 1. Kapitel 5. Scheduling

Betriebssysteme. 4y Springer. Eine kompakte Einführung mit Linux. Albrecht Achilles. Mit 31 Abbildungen

B.5 Prozessverwaltung B.5. Prozessverwaltung Prof. Dr. Rainer Manthey Informatik II 1

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

Domänenanalyse Threadverwaltung/Scheduling

Prozesse und Scheduling

Round-Robin Scheduling (RR)

Zur Erinnerung: Threads. Threadverwaltung. Threads: Prioritäten. Beispiel Flugbuchungsprogramm. Nichtdeterminismus

leave: mov flag, 0 ; 0 in flag speichern: Lock freigeben ret

Embedded-Linux-Seminare. Linux als Betriebssystem

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

TI Übung 5. Prozess-Scheduling. Andreas I. Schmied SS2005. Abteilung Verteilte Systeme Universität Ulm

Vorbereitung zur Prüfung Echtzeitbetriebssysteme

Windows CE. Process Control and Robotics. Fabian Garagnon

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel

Verbessertes Konzept: Monitore

Domänenmodell: Fadenkommunikation und -synchronisation

Moderne Betriebssysteme

Betriebssysteme eine Einführung. Peter Puschner Institut für Technische Informatik

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

5.3 Der Tabellenpuffer. aktualität nicht so wichtig ist, Datenkonsistenz aber schon. Zur Verdeutlichung der Datenkonsistenz hilft folgendes Beispiel.

Hausübung 2. Konzepte und Methoden der Systemsoftware. Aufgabe 1: Einfache Schedulingstrategien. SoSe bis

Architektur Verteilter Systeme Teil 6: Interprozess-Kommunikation

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

Prozessor (CPU, Central Processing Unit)

RTEMS- Echtzeitbetriebssystem

Inhaltsverzeichnis. Carsten Vogt. Nebenläufige Programmierung. Ein Arbeitsbuch mit UNIX/Linux und Java ISBN:

Betriebssysteme. Teil 13: Scheduling

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

3. Scheduler und Schedulingstrategien

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Vorlesung "Verteilte Systeme" Sommersemester Verteilte Systeme. Adreßraum. Rechner. Verteilte Systeme, Sommersemester 1999 Folie 19.

Infrastruktur und Betriebssysteme III. Martin Plümicke

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

Task A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003

Speicherbasierte Kommunikation (T) Realisierung von Semaphoren (T) Shared Memory (P) Synchronisation mittels Semaphoren (P)

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

Betriebssysteme (BTS)

Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition)

#define N 5 // Anzahl der Philosophen. while (TRUE) { // Der Philosoph denkt

Mutual Exclusion und Synchronisation. Peter Puschner Institut für Technische Informatik

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

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

RealTime Linux. Paul Seidel Seminar Prozessteuerung und Robotik WS 08/09 Lehrstuhl BS und Middleware Prof. Polze Hasso-Plattner-Institut Potsdam

Mathematik für Techniker

5.3 Prozessumlagerung (process) swapping

Beschreiben Sie stichwortartig, was die folgenden Kommandos bewirken.

Grundlagen zur nebenläufigen Programmierung in Java

Softwarelösungen: Versuch 4

Rechnerarchitektur und Betriebssysteme (CS201): Blockierender SVC, Scheduling, Consumer/Producer, kritisch. Abschnitt

Algorithmen und Datenstrukturen

Modul N5 - Routing. Informatik erleben. Anwendung: http, smtp. Transport: TCP, UDP. Segment. Vermittlung: IP. Datagramm. Sicherung: Ethernet, PPP

Beispiel für überladene Methode

Von Prozessen und Prozessoren (Prozess-Management)

Übungen zum Fach Betriebssysteme Kapitel 3

Scheduler. Optimierung des Schedulings. Gliederung. Allgemeine Ziele. Synchronisationsprotokolle

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

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

Seminar: Mobile Geräte QNX Einführung

Kommunikationsnetze. 2. Direkte TCP/IP-Verbindungen 2.1 Höhere Programmiersprachen

Computational Biology: Bioelektromagnetismus und Biomechanik

Inhaltsverzeichnis XII

Grundlagen der Informationstechnologie (IT)

Transkript:

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. ufgabe 1: Prozesse und Threads a) eschreiben Sie den typischen Lebenszyklus eines Prozesses mit Hilfe eines Zustandsdiagramms und benennen Sie die Zustandsübergänge. aktiv blockiert neu bereit ausgelagert terminiert b) eschreiben Sie in je ein bis zwei Sätzen, was man unter Programmen und Prozessen, sowie Userspace- und Kernelspace-Threads versteht und benennen Sie ihre Gemeinsamkeiten und Unterschiede. Programm: Folge von efehlen, die auf einem omputer zur usführung gebracht werden können. Prozess: Programm in usführung; Vom etriebssystem verwaltete inheit besteh aus Programmanweisungen, aten und Verwaltungsinformationen sowie ein oder mehreren ktivitätsträgern (Threads). Thread: Serielle ktivität innerhalb eines Prozesses mit eigenem Stack und Program-ounter. ie Verwaltung von Userspace-Threads erfolgt durch die pplikation (bzw. eine ibliothek), Kernelspace-Threads werden vom PU-Scheduler des etriebssystems verwaltet.

c) Wie verhält sich ein Webserver der aus mehreren Prozessen bzw. aus mehreren Userspace-Threads besteht bei einem blockieren iskzugriff? ei einem blockieren iskzugriff wird der ganze Prozess angehalten und somit auch alle seine Threads. nders als der Webserver mit mehreren Prozessen, wird der multithreaded Webserver also blockieren. d) Welche der folgen Ressourcen werden von allen Threads eines Prozesses geteilt und welche bestehen pro Thread? Program-ounter, Heap-Speicher, globale Variablen, Stack, PU-Register, geöffnete ateien, Signale und Signalhandler, ccounting- und enutzer-informationen. Pro Thread: Program-ounter, Stack und PU-Register. ufgabe 2: Scheduling a) Was versteht man unter Langzeiz-Scheduling (Job-Scheduling), was unter Kurzzeit-Scheduling (PU-Scheduling)? er PU-Scheduler wählt den als nächstes auszuführen Prozess aus der Ready-Queue aus, der Job-Scheduler bestimmt welche Prozesse in den Speicher geladen und welche ausgelagert werden. esweiteren wird er PU-Scheduler aktiv, wann immer ein anderer Prozess zum Zug kommen soll, der Job-Scheduler hingegen wird nur ausgeführt wenn ein Prozess terminiert oder zu wenig Speicher zur Verfügung steht. b) Warum ist es für den Scheduler wichtig zwischen I/O-bound und PU-bound Prozessen zu unterscheiden? I/O-bound Programme sind die meiste Zeit mit der in- und usgabe von aten beschäftigt. Sie brauchen ihre Zeitscheibe meist nicht auf sondern blockieren vor deren blauf und belasten die PU kaum. PU-bound Programme andererseits belasten die PU sehr stark und beanspruchen ihre Zeitscheibe meist komplett. b) Was sind die Vor- und Nachteile von preemptiv gegenüber non-preemptiv Multitasking. ie Hauptvorteile des preemtiv Multitasking sind, dass ein einzelner Prozess das System nicht blockieren kann und dass die Zuordnung der Prozesszeit besser gesteuert werden kann (priorisierung einzelner Prozesse ist möglich). in Nachteil ist zum eispiel der grössere ufwand für die Synchronisation der Prozesse und den Schutz von kritischen bschnitten. c) Gegeben seien die folgen Prozesse die alle zur Zeit t = 0 erstellt und gestartet werden. Prozess Priorität 2.. 3. 1. 4. edienzeit 10 10 0 erechnen Sie für die unten aufgeführten Scheduling-lgorithmen die mittlere ntwortzeit (Responsetime) RT und die usführungszeit (Turnaround Time) T T und stellen Sie den blauf grafisch dar. 2

Firs ome First Server (FFS) 1 1 0 RT = (0 + + 110 + 130 + )/ = 96 T T = ( + 110 + 130 + + 190)/ = 132 Shortest Job First (SJF) 1 1 0 RT = (0 + 10 + + + 90)/ = 32 T T = (10 + + + 90 + 190)/ = 70 Priority Scheduling (PS) 1 1 0 RT = (0 + 10 + 110 + 130 + 1)/ = 86 T T = (10 + 110 + 130 + 1 + 190)/ = 124 3

Round Robin (RR) mit einer Zeitscheibe von 1 1 0 RT = (0 + + 10 + 1 + )/ = 10 T T = (190 + 3 + 7 + 4 + )/ = 97 ufgabe 3: Prozess Synchronisation, eadlock und Starvation wichtigsten Lösungen und welche Probleme können auftreten. a) rörtern Sie die egriffe Race ondition anhand des folgen eispiels und markieren sie alle ritical Sections. Was für Probleme können bei der usführung auf mehreren Prozessen auftreten und wie können diese (z.. mit Hilfe von Semaphoren oder Monitoren) behoben werden? global const buf_size := 10 global var buf[buf_size] global var num := 0 function boolean push(a) if (num < buf_size) buf[num] := a num := num + 1 return true return false function pop() if (num > 0) num := num - 1 return buf[num] return null 4

ritical Section bschnitt eines Programms in dem eine beliebige Unterbrechung zu ungewollten ffekten führen kann. Im obigen eispiel sind dies die beiden Funktionen push() und pop(). Race ondition Konstellationen in denen das rgebnis einer Operation vom zeitlichen Verhalten bestimmter inzeloperationen abhängt. Im obigen eispiel kann es z.. sein, dass zwei Prozesse scheinbar gleichzeitig etwas auf den Stack legen, aber nur der zuletzt geschriebene Wert erhalten bleibt. Prozess Process buf[num] := a buf[num] := a num := num + 1 num := num + 1 b) eschreiben Sie mit Hilfe von Pseudocode die atomaren Operationen TestndSet, Swap und Fetchnddd. atomar function TestndSet(a, b, c) if (a == b) a := c return true return false atomar procedure Swap(a,b) var t := a a := b b := t atomar function Fetchnddd(a,b) var t := a a := a + 1 return t c) Gegeben sei die folge atomare Instruktion: atomar function Testnddd(a, b, c) if (a == b) a := a + c return true return false Zeigen Sie wie mit deren Hilfe eine binäre Semaphore implementiert werden kann.

global var s := 1 procedure P() while (not Testnddd(s, 1, -1)) do procedure V() Testnddd(s, 0, 1) d) ine einfache Lösung des ining-philosophers-problem besteht darin, dass einer der Philosophen die Gabeln in der umgekehrten Reihenfolge aufnimmt als alle anderen. Zeigen Sie, dass diese Lösung deadlockfrei ist, in dem Sie angeben welche eadlock-voraussetzung(en) nicht erfüllt ist/sind. Ist die Lösung auch gerecht, das heisst starvationfrei? ie edingung ircular Wait ist nicht erfüllt. ie Lösung ist nicht starvationfrei; es ist nicht garantiert, dass die Gabel eines Philosophen nicht dauernd von dessen Nachbarn beansprucht wird, wenn dieser darauf zugreifen will. ufgabe 4: Inter Process ommunication a) Ordnen Sie die drei lltagsgegenstände Whiteboard, Rohrpost und Postablage den IP-Mechanismen Messagepassing, Shared Memory und Pipes zu und erörtern Sie welche grundlegen igenschaften sie mit diesen verbinden. Whiteboard Shared Memory: lle die dürfen können gleichzeitig darauf zugreifen; keine Koordination wer, was, wann und wo schreibt. Rohrpost Pipes: Man hat eine direkte Verbindung vom Ser zum mpfänger; die Reihenfolge der Nachrichten ist gegeben. Postablage Messagepassing: Jeder der die Postablage kennt kann etwas ablegen; die Reihenfolge der Nachrichten ist gegeben. b) Welches nalogon aus dem lltag beschreibt am besten den Signal-Mechanismus? Zimmerglocke im Spital: Pro Zimmer hat es eine Lampe die anzeigt, dass jemand geklingelt hat. Leuchten beim prüfen der Lampen mehrere gleichzeitig, ist die Reihenfolge der barbeitung nicht festgelegt. 6