Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner. Übung 5: Semaphoren
|
|
- Nadja Langenberg
- vor 7 Jahren
- Abrufe
Transkript
1 Universität Stuttgart Prof. Dr.-Ing. Dr. h. c. P. Göhner Aufgabe 5.1: Übung 5: Semaphoren Semaphor-Operationen In Bild ist die Anordnung von Semaphor-Operationen am Anfang und am e der asks A,B,C dargestellt. Ermitteln Sie für die 4 Fälle a, b, c, d der abelle 5.1.1, ob und in welcher Reihenfolge diese asks bei der angegebenen Initialisierung der Semaphor-Variablen ablaufen. ask A ask B ask C P(SA) P(SB) P(SC) P(SA). P(SC) P(SA). P(SC).. V(SC) V(SB) V(SB) V(SA) V(SB) END END END Bild 5.1.1: Anordnung der Semaphor-Operationen Fall a) b) c) d) SA SB SC abelle 5.1.1: Anfangswerte der Semaphor-Variablen Aufgabe 5.2: Synchronisierung mittels Semaphoren Ein Fertigungssystem, das aus 3 eilprozessen besteht, soll durch ein Programm automatisiert werden, das folgende 4 asks enthält: UEBERWACHEN1, UEBERWACHEN2, UEBERWACHEN3 zum Einlesen von spezifischen Werten der jeweiligen eilprozesse. PROOKOLL zum Ausgeben der Messwerte in Form von abellen und Diagrammen auf einen Drucker.
2 Automatisierungstechnik 1 Übung 5: Semaphoren 2 Durch eine geeignete Synchronisierung mittels Semaphoren soll der folgende Ablauf der asks erzwungen werden: Nach jeder Überwachungstask soll die Protokolliertask ablaufen. Die Reihenfolge der Überwachungstasks untereinander ist durch die Zahl in ihrem Namen festgelegt. UEBERWACHEN1 läuft demnach als erste ask. Der oben vorgegebene Ablauf soll zyklisch ablaufen können. Das Programm jeder ask soll vollständig abgearbeitet sein, bevor eine andere ask gestartet werden kann. a) Schreiben Sie die Namen der asks in der geforderten Ablauf-Reihenfolge auf. b) Führen Sie in jeder ask die erforderlichen Synchronisierungsoperationen ein, mit denen die geforderte Reihenfolge sichergestellt ist. c) Wie müssen die von Ihnen benutzten Semaphor-Variablen initialisiert werden? Aufgabe 5.3: Semaphor-Operationen In den beiden asks NEUWER und BERECHNEN wird auf ein Datenfeld namens QUEUE zugegriffen (Siehe Bild 5.3.1): In der ask NEUWER erfolgen ein schreibender Zugriff (Prozedur SCHREIBEN): In der ask BERECHNEN erfolgt ein lesender Zugriff (Prozedur LESEN). a) Fügen Sie in Bild geeignete Semaphor-Operationen ein, durch die ein gleichzeitiger Zugriff auf QUEUE ausgeschlossen wird. Geben Sie die Anfangswerte der Semphor-Variablen an. Um welche Form der Synchronisierung handelt es sich hier? b) Stellen Sie zusätzlich sicher, dass eine bestimmte Anzahl lesender Zugriffe nur erfolgen kann, wenn auch entsprechend viele schreibende Zugriffe durchgeführt wurden. Fügen Sie in Bild die notwendigen Semaphor-Operationen ein und geben Sie die Anfangswerte der Semaphor-Variablen an. asks: NEUWER BERECHNEN CALL SCHREIBEN (QUEUE) END END CALL LESEN (QUEUE) Bild 5.3.1: Synchronisation des Zugriffs auf das Datenfeld Queue
3 Automatisierungstechnik 1 Übung 5: Semaphoren 3 Aufgabe 5.4: Synchronisierung mit Semaphoren Das Problem der Prioritäts-Inversion In dieser Aufgabe soll das Problem der Prioritäts-Inversion bei der Synchronisierung von Rechenprozessen mit Semaphoren untersucht werden. Um das Problem deutlich zu machen, wird zunächst ein einfaches Szenario betrachtet. Szenario 1: Angenommen A, B und C sind drei asks mit absteigender Priorität, wobei A die höchste Priorität (1) hat. Die asks A und C nutzen eine gemeinsame Ressource (z.b. einen Speicherbereich). Diese Ressource wird durch eine Semaphore vor gleichzeitigem Zugriff geschützt. Bild zeigt die Struktur der drei asks in Szenario 1. Neben den gestrichelten Linien (Programmcode) sind jeweils die entsprechenden Ausführungsdauern angegeben. ASK A Prio 1 P(S) 2 ASK B Prio 2 5 ASK C Prio 3 P(S) 3 V(S) Bild 5.4.1: Struktur der asks A, B und C in Szenario 1 V(S) Die asks werden zu folgenden Zeiten (einmalig) aktiviert: ask A: ask B: ask C: t = 2 t = 4 t = 0 Hinweis: In dieser Aufgabe wird preemptives Scheduling mit festen Prioritäten vorausgesetzt. Die Anfangswerte aller Semaphoren sind 1. a) ragen Sie den zeitlichen Soll-Ablauf im Bereich 0 t 14 in Bild ein. Der Zustand ruhend (nicht eingeplant) wird nicht in die Diagramme eingetragen! ragen Sie den zeitlichen Ist-Ablauf mit den entsprechenden askzuständen der drei asks im Bereich 0 t 14 in Bild ein.
4 Automatisierungstechnik 1 Übung 5: Semaphoren 4 b) Angenommen, es gäbe noch weitere Rechenprozesse mit Prioritäten zwischen denen von A und C, die nicht auf den gemeinsamen Speicherbereich zugreifen (keine Semaphoroperationen). Die einzelnen Prioritäten und Ausführungszeiten sind nicht bekannt. Wie lange würde die hochpriore ask A dann im schlechtesten Fall verzögert? Um diesen Nachteil zu vermeiden, wird im folgenden eine neue Strategie verfolgt. Sobald eine ask X eine höher priore ask (bei einer erfolglosen P-Operation einer höher prioren ask), ignoriert die ask seine eigene Priorität und führt den kritischen Bereich (der Bereich zwischen einer P und einer V-Anweisung) mit der höchsten Priorität aller asks, die durch sie werden, aus. Da diese ask sozusagen die Priorität einer höher prioren ask erbt, wird dieses Verfahren der Synchronisation (ein sog. Synchronisationsprotokoll) als Priority Inheritance Protocol bezeichnet. c) ragen Sie den neuen Ist-Ablauf in Bild ein. d) Wie lange kann (im Gegensatz zu der einfachen Lösung mit Semaphoren) ein hochpriorer Prozess durch einen niederprioren Prozess bei dieser Strategie maximal werden? Szenario 2: Gegeben seien nun wiederum drei Rechenprozesse A, B, und C mit unterschiedlichen Prioritäten (A - höchste, B- mittlere, C - niedrigste). Die drei Rechenprozesse werden jetzt über drei 1 binäre Semaphoren S0, S1, S2 synchronisiert. Die Semaphoren S1 und S2 stellen dabei den exklusiven Zugriff auf zwei gemeinsam genutzte Speicherbereiche sicher. Bild zeigt die Struktur der drei asks A, B und C in Szenario 2. Die asks werden zu folgenden Zeiten (einmalig) aktiviert: ask A: ask B: ask C: t = 5 t = 2 t = 0 1 Bei einer binären Semaphore sind nur die Werte 0 und 1 erlaubt
5 Automatisierungstechnik 1 Übung 5: Semaphoren 5 ASK A Prio 1 P(S0) V(S0) 2 ASK B Prio 2 P(S1) P(S2) V(S2) V(S1) 2 2 Bild 5.4.2: Struktur der asks A, B und C in Szenario 2 ASK C Prio 3 P(S2) P(S1) V(S1) V(S2) 3 2 e) ragen Sie den zeitlichen Soll-Ablauf im Bereich 0 t 19 in Bild ein. ragen Sie den zeitlichen Ist-Ablauf nach der Strategie von Aufgabe c) (Priority Inheritance Protocol) und die entsprechenden askzustände im Bereich 0 t 19 in Bild ein. Was stellen Sie dabei fest? Das Priority Ceiling Protocol Es wird nun zum Schluss noch eine Erweiterung des Priority Inheritance Protocols betrachtet - das sog. Priority Ceiling Protocol. Ein Ziel dieses Protokolls ist es, Deadlocks zu vermeiden. Die zugrunde liegende Idee dieses Protokolls ist es, sicherzustellen, dass wenn eine ask X den kritischen Bereich einer anderen ask unterbricht und seinen eigenen kritischen Bereich ausführt, die Priorität, mit welcher dieser neue kritische Bereich ausgeführt wird, höher ist als alle geerbten Prioritäten aller unterbrochenen kritischen Bereiche. Dazu wird jeder Semaphore eine Prioritäts-Oberschranke (Priority Ceiling) zugeordnet. Diese Oberschranke ist die Priorität der höchst prioren ask, welche diese Semaphore benutzt. Dann wird einer ask X der Eintritt in einen neuen kritischen Bereich (P-Operation) nur dann erlaubt, wenn die Priorität von ask X höher ist, als alle Prioritäts-Oberschranken aller Semaphoren, die im Moment von anderen asks belegt (Semaphor-Variable = 0) sind.
6 Automatisierungstechnik 1 Übung 5: Semaphoren 6 Beispiel: Eine Semaphore S wird von zwei asks mit den Prioritäten 2 und 4 benutzt. Sie bekommt also die Prioritäts-Oberschranke 2 (höchste Prio). Wenn S (als einzige Semaphore) von einer ask belegt ist und eine andere versucht eine P- Operation durchzuführen, so wird diese Operation nur dann ausgeführt, wenn die Priorität dieser ask höher ist als 2 (also 1). f) Welche Prioritäts-Oberschranken werden den Semaphoren S0, S1 und S2 in Szenario 2 zugeordnet? g) ragen Sie den zeitlichen Ist-Ablauf und die entsprechenden askzustände bei Anwendung des Priority Ceiling Protocols im Bereich 0 t 19 in Bild ein.
7 Automatisierungstechnik 1 Übung 5: Semaphoren 7 Lösungsblatt 1 zu Aufgabe 5.4 ask A ask B ask C Bild 5.4.3: Zeitlicher Soll-Ablauf der Rechenprozesse in Szenario 1 t/ ask A ask B ask C Bild 5.4.4: Zeitlicher Ist-Ablauf der Rechenprozesse in Aufgabe a) t/ ask A ask B ask C t/ Bild 5.4.5: Zeitlicher Ist-Ablauf der Rechenprozesse in Aufgabe c)
8 Automatisierungstechnik 1 Übung 5: Semaphoren 8 Lösungsblatt 2 zu Aufgabe 5.4 ask A ask B ask C t/ Bild 5.4.6: Zeitlicher Soll-Ablauf der Rechenprozesse in Szenario 2 ask A ask B ask C Bild 5.4.7: Zeitlicher Ist-Ablauf der Rechenprozesse in Aufgabe e) ask A ask B ask C Bild 5.4.8: Zeitlicher Ist-Ablauf der Rechenprozesse in Aufgabe g)
Aufgaben Petrinetze Aufgabe 1
Task C läuft an, wenn A und B abgelaufen sind. Aufgabe 1 A B Task A REL S1 Task B REL S2 REQ S1 REQ S2 S1 S2 Task C C Aufgabe: Task C läuft an, wenn A oder B abgelaufen sind. Zeichne das Petrinetz und
MehrBetriebssystembau (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
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
MehrSysteme 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
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
MehrEmbedded Systemarchitekturen und Echtzeitbetriebssysteme
Fachhochschule Würzburg-Schweinfurt Sommersemester 2006 Diplomfachprüfung im Fach Embedded Systemarchitekturen und Echtzeitbetriebssysteme (Prof. Dr.-Ing. Ludwig Eckert) Datum: 10.07.2006, 08.00 Uhr, Raum
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
MehrKlausur zur Vorlesung Grundlagen Betriebssysteme und Systemsoftware
Klausur zur Vorlesung Grundlagen Betriebssysteme und Systemsoftware (Prof. Dr. J. Schlichter, Dr. W. Wörndl, WS 2011/12) Die Bearbeitungsdauer beträgt 90 Minuten. Es sind keine Hilfsmittel zugelassen.
MehrAutomatisierungstechnik I Mini-Betriebssystem Theorie
Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. M. Weyrich Automatisierungstechnik I Sommersemester 2015 Farzan Yazdi, M.Sc. www.ias.uni-stuttgart.de/at1 at1@ias.uni-stuttgart.de
MehrAnalyse und Entwicklung einer μ-controller-basierten Echtzeit-Steuerung für Sensorsysteme mit Ada-Raven
Analyse und Entwicklung einer μ-controller-basierten Echtzeit-Steuerung für Sensorsysteme mit Ada-Raven Dipl.-Inf. Matthias Götz ci-tec GmbH Karlsruhe Dr.-Ing. Jörg Matthes, Dr.-Ing. Hubert B. Keller,
MehrPraktische Lernkarten zum Ausschneiden, Zusammenkleben und Sammeln :-) zur Prüfungsvorbereitung Diplomprüfung. Betriebssysteme
Eine Zusammenstellung aus Prüfungsprotokollen bei Professor Schlageter Praktische Lernkarten zum Ausschneiden, Zusammenkleben und Sammeln :-) zur Prüfungsvorbereitung Diplomprüfung Betriebssysteme Thomas
MehrAusarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS. geschrieben von Oliver Botschkowski
Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS geschrieben von Oliver Botschkowski 1 Offene Systeme und deren Schnittstelle für die Elektronik im Kraftfahrzeug 1 Oliver Botschkowski - OSEK-OS
MehrLösung von Übungsblatt 10. (Kommunikation von Prozessen)
Lösung von Übungsblatt 10 Aufgabe 1 (Kommunikation von Prozessen) 1. Was ist bei Interprozesskommunikation über gemeinsame Speichersegmente (Shared Memory) zu beachten? Die Prozesse müssen die Zugriffe
MehrBitte 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
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
MehrKlausur zum Kurs Betriebssysteme (1802) am 19. September 2009
Fakultät für Mathematik und Informatik Lehrgebiet Kooperative Systeme Prof. Dr. Jörg M. Haake FernUniversität in Hagen 58084 Hagen Vorname Name Straße Hausnr. Informatikzentrum Universitätsstr. 1 58084
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...
MehrÜbungen zur Vorlesung Technische Informatik I, SS 2002 Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 5 Rechenwerke / Scheduling
Übungen zur Vorlesung Technische Informatik I, SS 2002 Hauck / Guenkova-Luy / Prager / Chen Übungsblatt 5 Rechenwerke / Scheduling Aufgabe 1: Sie haben in der Vorlesung einen hypothetischen Prozessor kennen
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
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
MehrOSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme
OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme Wilhelm Haas Wilhelm.Haas@informatik.stud.uni-erlangen.de Friedrich-Alexander-Universität Erlangen-Nürnberg Institut für Informatik Lehrstuhl 4
Mehr4. Übung - Rechnerarchitektur/Betriebssysteme
4. Übung - Rechnerarchitektur/Betriebssysteme 1. Aufgabe: Caching Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen a) Was ist ein Cache? Wann kommt Caching zum Einsatz? b) Welchen Vorteil
Mehr9 Minimum Spanning Trees
Im Folgenden wollen wir uns genauer mit dem Minimum Spanning Tree -Problem auseinandersetzen. 9.1 MST-Problem Gegeben ein ungerichteter Graph G = (V,E) und eine Gewichtsfunktion w w : E R Man berechne
MehrScheduler. Optimierung des Schedulings. Gliederung. Allgemeine Ziele. Synchronisationsprotokolle
Aufgabe: Zuteilung der auf die CPU Automatisches Entwurfs- und Entwicklungssystem für harte Echtzeitsysteme Zuteilungsstrategien: Satz Jan Blumenthal 20.02.2003 Zyklisch 4 Gliederung Optimierung des Schedulings
MehrSysteme I: Betriebssysteme Kapitel 5 Nebenläufigkeit und wechselseitiger Ausschluss. Maren Bennewitz
Systeme I: Betriebssysteme Kapitel 5 Nebenläufigkeit und wechselseitiger Ausschluss Maren Bennewitz Version 18.12.2013 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung,
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:
Mehr(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl
Übung zur Vorlesung Grundlagen Betriebssysteme und Systemsoftware (Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de) http://www11.in.tum.de/veranstaltungen/grundlagenbetriebssystemeundsystemsoftwarews1112
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);
Mehr4. Übung - Rechnerarchitektur/Betriebssysteme
4. Übung - Rechnerarchitektur/Betriebssysteme 1. Aufgabe: Caching Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen a) Was ist ein Cache? Wann kommt Caching zum Einsatz? b) Welchen Vorteil
MehrInhaltsverzeichnis. Carsten Vogt. Nebenläufige Programmierung. Ein Arbeitsbuch mit UNIX/Linux und Java ISBN:
Inhaltsverzeichnis Carsten Vogt Nebenläufige Programmierung Ein Arbeitsbuch mit UNIX/Linux und Java ISBN: 978-3-446-42755-6 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42755-6
MehrOSEK-OS. Oliver Botschkowski. oliver.botschkowski@udo.edu. PG AutoLab Seminarwochenende 21.-23. Oktober 2007. AutoLab
OSEK-OS Oliver Botschkowski oliver.botschkowski@udo.edu PG Seminarwochenende 21.-23. Oktober 2007 1 Überblick Einleitung Motivation Ziele Vorteile Einführung in OSEK-OS Architektur Task Management Interrupt
MehrÜbungen zur Vorlesung. Datenbanken I. WS 2002/2003 Blatt 4 MUSTERLÖSUNG
Prof. Dr. S. Böttcher Adelhard Türling Übungen zur Vorlesung Datenbanken I WS 2002/2003 Blatt 4 MUSTERLÖSUNG Aufgabe 4.1: Bestimmen Sie zu den folgenden Transaktions-Schedules, ob diese (konflikt-) serialisierbar
MehrEmbedded Systemarchitekturen und Echtzeitbetriebssysteme
Hochschule für angewandte Wissenschaften Fachhochschule Würzburg-Schweinfurt Wintersemester 2011/2012 Diplomfachprüfung im Fach Embedded Systemarchitekturen und Echtzeitbetriebssysteme (Prof. Dr.-Ing.
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
Mehrlibrtipc - Bibliothek für echtzeitfähige Interprozesskommunikation
librtipc - Bibliothek für echtzeitfähige Interprozesskommunikation Josef Raschen Diplomarbeit: Hardwareunabhängige Interprozesskommunikation für Echtzeitanwendungen Lehrstuhl für Betriebssysteme RWTH Aachen
MehrErzeuger-Verbraucher-Problem
Erzeuger-Verbraucher-Problem Hier: Puffer der Größe 1, Erzeuger, Verbraucher Zwei Semaphore werden eingesetzt, um zwischen Threads "Ereignisse zu melden" Man kann Semaphore auch verwenden, um Ereignisse
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:
MehrDIPLOMHAUPTPRÜFUNG FÜR ELEKTROINGENIEURE PROZESSAUTOMATISIERUNG I Sommersemester 2006 - Musterlösung
Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner Mr, Mb 30.08.06 DIPLOMHAUPTPRÜFUNG FÜR ELEKTROINGENIEURE PROZESSAUTOMATISIERUNG I Sommersemester
MehrAbschlusseigenschaften. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Abschlusseigenschaften
Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Abgeschlossenheit (Definition) Gegeben sei eine Menge M und ein n-ärer
MehrArrays. Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss
Arrays FTI 41 2005-09-09 Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss z.b. Dim Werte(x) As Single. Wobei
MehrCPU-Scheduling - Grundkonzepte
CPU-Scheduling - Grundkonzepte Sommersemester 2015 Seite 1 Gesamtüberblick 1. Einführung in Computersysteme 2. Entwicklung von Betriebssystemen 3. Architekturansätze 4. Interruptverarbeitung in Betriebssystemen
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:...
MehrFelder (1) Allgemeines
Felder (1) Allgemeines Gleichartige Daten, wie Tabelle von Zahlen, Datumswerten, Namen etc. Felder (engl. Array) stellen einen Verbundtyp dar, in dem mehrere Daten desselben Typs gespeichert werden Oft
MehrErstes Leser-Schreiber-Problem
Erstes Leser-Schreiber-Problem Szenario: mehrere Leser und mehrere Schreiber gemeinsamer Datenbereich Schreiber haben exklusiven Zugriff Leser können parallel zugreifen (natürlich nur, wenn kein Schreiber
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
MehrParallele Programmabläufe: R S
REFERAT Parallele Programmabläufe: R S.242-246 1.Einführung 2.Synchronisation 2.1.Monitor-Konzept 2.2.Rendez-vous-Konzept 2.3.Bolt-Synchronisation 3.Behandlung Ausnahmesituationen 1.Einführung: Im Bereich
MehrZeiger. C-Kurs 2012, 2. Vorlesung. Tino Kutschbach 10.
Zeiger C-Kurs 2012, 2. Vorlesung Tino Kutschbach tino.kutschbach@campus.tu-berlin.de http://wiki.freitagsrunde.org 10. September 2012 This work is licensed under the Creative Commons Attribution-ShareAlike
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
MehrTI Übung 5. Prozess-Scheduling. Andreas I. Schmied SS2005. Abteilung Verteilte Systeme Universität Ulm
TI Übung 5 Prozess-Scheduling Andreas I. Schmied (schmied@inf...) Abteilung Verteilte Systeme Universität Ulm SS2005 Und nun... Wiederholung 1 Wiederholung Andreas I. Schmied (schmied@inf...) TI Übung
MehrAufgaben zum Thema Threads (Prozesse)
Aufgaben zum Thema Threads (Prozesse) T1. Erläutern Sie zwei Methoden, mit denen ein Prozeß seinen kritischen Abschnitt schützen kann! Geben Sie jeweils eine Implementationsmöglichkeit (in Pseudocode)
MehrKonzepte und Methoden der Systemsoftware. Aufgabe 1: Multi-Feedback-Scheduling. SoSe bis P
SoSe 2013 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 4 13.05.2013 bis 17.05.2013 Aufgabe 1: Multi-Feedback-Scheduling 0 P 1. Beschreiben Sie kurz
Mehrint i=1; //Integerzahl i anlegen und mit 1 initialisieren float wert; //Floatzahl deklarieren scanf( %f,&wert); //Wert über Tastatur eingeben
Datenfelder (Array) Seite 1 von 7 Bei den bisherigen Programmen wurde für jede verwendete Variable (oder für jedes Objekt) ein eigener Typ und Name vergeben. Die Initialisierung, d.h. die Belegung mit
MehrSoftware ubiquitärer Systeme
Software ubiquitärer Systeme 3. Übung Constantin Timm Arbeitsgruppe Entwurfsautomatisierung für Eingebettete Systeme Lehrstuhl für Informatik 12 TU Dortmund constantin.timm@cs.tu-dortmund.de http://ls12-www.cs.tu-dortmund.de/staff/timm/
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)
MehrModul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 1
Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 1 SS 2016
MehrOpenMP - Threading- Spracherweiterung für C/C++ Matthias Klein, Michael Pötz Systemprogrammierung 15. Juni 2009
- Threading- Spracherweiterung für C/C++ Matthias Klein, Michael Pötz Systemprogrammierung 15. Juni 2009 Grundlagen der Parallelen Programmierung Hardware Threads vs. Prozesse Kritische Abschnitte Lange
MehrTechnische Informa/k II
Technische Informa/k II Prof. Dr. Bernd Freisleben Sommersemester 2013 Vorlesung zur Klausurvorbereitung Folie 00-2 Organisatorisches Klausur: Dienstag, 16.07.13, 12:00-14:00 Uhr im Hörsaal 00/0070 Zugelassene
MehrScheduling-Strategien (online, nicht-präemptiv) für Einprozessorsysteme
Scheduling-Strategien (online, nicht-präemptiv) für Einprozessorsysteme 1. EDF: Einplanen nach Fristen (Earliest Deadline First): Der Prozess, dessen Frist als nächstes endet, erhält den Prozessor. 2.
MehrGrundlagen verteilter Systeme
Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 3 12.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: a)
MehrTechnische Universität München WS 2006/2007 Fakultät für Informatik 15. Februar 2007 Prof. Dr. A. Knoll
Name: Vorname: Matr. Nr.: Technische Universität München WS 2006/2007 Fakultät für Informatik 15. Februar 2007 Prof. Dr. A. Knoll Klausur zu Echtzeitsysteme Aufgabe 1 Wissensfragen (30 Punkte) Beantworten
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Algorithmen und Datenstrukturen Teil 3 Suchen in Listen Version vom: 15. November 2016
MehrSysteme I: Betriebssysteme Kapitel 5 Nebenläufigkeit und wechselseitiger Ausschluss. Maren Bennewitz
Systeme I: Betriebssysteme Kapitel 5 Nebenläufigkeit und wechselseitiger Ausschluss Maren Bennewitz Version 12.12.2012 1 Nachtrag zu letzter Vorlesung Hauptspeicher reicht nur für begrenzte Anzahl von
MehrPrüfungsprotokoll der mündlichen Prüfung Verteilte Systeme 1678 (Bachelor Informatik)
Prüfungsprotokoll der mündlichen Prüfung Verteilte Systeme 1678 (Bachelor Informatik) Prüfer: Prof. Dr. Haake Semester der Prüfung: WS 10/11 Datum der Prüfung: 02.05.2011 Dauer: ca. 25 min Note: 2.0 Hier
MehrVORDIPLOMSPRÜFUNG FÜR ELEKTROINGENIEURE. Einführung in die Informatik III
Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner VORDIPLOMSPRÜFUNG FÜR ELEKTROINGENIEURE Einführung in die Informatik III Name: Matrikelnummer:
MehrLösungsvorschlag zur 11. Übung
Prof. Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik 3 Wintersemester 09/10 ösungsvorschlag zur 11. Übung 1 Präsenzübungen 1.1 Schnelltest a) Was gehört zu den Aufgaben eines
MehrSurefireKernel ÜBERSICHT SPEZIFIKATION. www.triadem.ch. Sicherheitskernel DATASHEET
Sicherheitskernel ÜBERSICHT SurefireKernel ist ein schlanker skalierbarer nicht preemptiver Echtzeit-Kernel der für den Einsatz auf Kontrollersysteme optimiert ist. Er verfügt über eine Realtime-Überwachung
MehrVorlesung "Verteilte Systeme" Sommersemester 1999. Verteilte Systeme. Adreßraum. Rechner. Verteilte Systeme, Sommersemester 1999 Folie 19.
Verteilte Systeme 19. Distributed Shared Memory Sharing!! No Sharing! Sharing? Evolution der Berechnungsmodelle Vergangenheit Gemeinsamer Speicher Einzelrechner Gegenwart Nachrichtenkommunikation Verteilte
MehrTafelübung zu BSRvS1. 3. Philosophen. Fortsetzung Grundlagen C-Programmierung
Tafelübung zu BSRvS1 3. Philosophen Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/teaching/ss2008/bsrvs1/exercises/
Mehr3. Philosophen. Tafelübung zu BSRvS1. Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund
Tafelübung zu BSRvS1 3. Philosophen Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/teaching/ss2008/bsrvs1/exercises/
MehrPRÜFUNG. Grundlagen der Softwaretechnik
Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner PRÜFUNG Grundlagen der Softwaretechnik Name: Matrikelnummer: Note: Prüfungstag: 03.03.2011 Prüfungsdauer:
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)
MehrC++ - Objektorientierte Programmierung Vererbung
C++ - Objektorientierte Programmierung Vererbung Personen Kunden Mitarbeiter Verwaltung Verkäufer Leibniz Universität IT Services Anja Aue Vererbung Definition von Klassen auf Basis von bestehenden Klassen.
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. 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
MehrDeadlocks. System hat nur begrenzte Ressourcen (Ressourcentypen) Hauptspeicher Externer Speicher Drucker File
Kapitel V Deadlocks (Verklemmungen) 1 Deadlocks System hat nur begrenzte Ressourcen (Ressourcentypen) Hauptspeicher Externer Speicher Drucker File Prozesse benötigen Genehmigung vor der Benutzung von Ressourcen.
MehrVHDL - Objekte und Typen
VHDL - Objekte und Typen Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2007/2008 VHDL - Objekte und Typen 1/23 2007-08-24 Inhalt
MehrDurchführung eines ELAN-Projektes zum Thema "Echtzeitdatenverarbeitung"
Durchführung eines ELAN-Projektes zum Thema "Echtzeitdatenverarbeitung" PEARL-Workshop 2004 Prof. Dr. Juliane Benra Prof. Dr. Peter Elzer Gliederung Motivation und Rahmenbedingungen Entscheidungen und
MehrCADconv Suite 2016 Netzwerkversionen Installationshinweise
Kazmierczak Software CADconv Suite 2016 CADconv Suite 2016 Netzwerkversionen Installationshinweise Einführung Die Programme von Kazmierczak Software GmbH können zur Netzwerkversion erweitert werden. Die
MehrKlausur Nichtsequentielle Programmierung
Klausur Nichtsequentielle Programmierung Prof. Dr. Marcel Kyas 22. Juli 2009 Nachname: Bachelor Magister Vorname: Master Lehramt Diplom Hinweise zur Klausur Bitte überprüfen Sie, dass Sie alle Seiten dieser
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
MehrVorbereitung zur Prüfung Echtzeitbetriebssysteme
Vorbereitung zur Prüfung Echtzeitbetriebssysteme Zugelassene Hilfsmittel: Taschenrechner Bitte verwenden Sie keinen roten Farbstift! 1. Echtzeitbetriebssysteme - Allgemein (15 Punkte) 1.1. Warum setzen
MehrMigration von AUTOSAR-basierten Echtzeitanwendungen auf Multicore-Systeme
Migration von AUTOSAR-basierten Echtzeitanwendungen auf Multicore-Systeme Michael Bohn / Jörn Schneider / Christian Eltges / Robert Rößger Fachhochschule Trier News zur Fachhochschule Trier 30. Mai 2011:
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
MehrKonfliktgraph. Satz und Definition
9. Transaktionsverwaltung 9.2. Mehrbenutzerkontrolle Seite 1 Konfliktgraph Der Konfliktgraph von S ist ein gerichteter Graph KG(S) = (V, E), wobei V die Menge aller Transaktionen in S und E die Menge der
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
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
MehrC++ - Objektorientierte Programmierung Konstruktoren und Destruktoren
C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue
Mehr( Faire ) Zuteilung eines Prozesses an den Prozessor (Entscheidung über Swapping) Wartende Prozesse in einer (FIFO-) Warteschlange organisieren
22 2.2 Prozesse Prozess-Scheduling Scheduler: ( Faire ) Zuteilung eines Prozesses an den Prozessor (Entscheidung über Swapping) Scheduling-Verfahren Round Robin (einfach und häufig verwendet) Wartende
MehrInterprozesskommunikation IPC
Interprozesskommunikation IPC Seminar Konzepte von Betriebsystem-Komponenten Denis Koslowski koslowski.d@web.de 04.07.2005-1 - Interprozesskommunikation Gliederung 1. Was ist IPC? 2. IPC: Datentransfer
Mehr5) Realzeitscheduling
Inhalte Anforderungen Klassifizierungen Verschiedene Verfahren: FIFO, Round Robin, Least Laxity, EDF, fixed/dyn. Prio. Beispiele und Aufgaben Seite 1 Motivation Gegeben: Ein Einprozessorsystem, das Multiprogrammierung
Mehr(27 - Selbstanordnende lineare Listen)
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 - Selbstanordnende lineare Listen) Prof. Dr. Susanne Albers Problemstellung Gegeben sei eine Menge von Objekten (Schlüsseln), auf die mit zeitlich
MehrProgrammiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften
Programmiertechnik Teil 4 C++ Funktionen: Prototypen Overloading Parameter C++ Funktionen: Eigenschaften Funktionen (Unterprogramme, Prozeduren) fassen Folgen von Anweisungen zusammen, die immer wieder
MehrProzesse. Prozesse sind Programme. Prozesse können aus Unterprozessen bestehen. Prozesshierarchie Unterprozesse Threads
Threads Prozesse, Parallelität, Nebenläufigkeit, Threads, Erzeugung, Ausführung, Kommunikation, Interferenz, Kritischer Bereich, Deadlock, Synchronisation. Prozesse Prozesse sind Programme mehrere Prozesse
MehrObjektorientiertes Programmieren mit C++ für Fortgeschrittene
BEREICH DATENTECHNIK I CQ 300 00 TH 02 Objektorientiertes Programmieren mit C++ für Fortgeschrittene Kapitel 3 3. Mehrfachvererbung 3.1. Eigenschaften und Problematik 3.2. Virtuelle Basisklassen BEREICH
Mehr3 Variablen. 3.1 Allgemeines. 3.2 Definition und Verwendung von Variablen
3 Variablen 3.1 Allgemeines Variablen werden in Prozeduren, Mustern und Parameter-Dokumenten definiert und verwendet und bei der Jobgenerierung durch die Werte, die ihnen zugewiesen werden, ersetzt. Variablen
MehrÜbungen Softwaretechnik I
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Übungen Softwaretechnik I Übung 5: Objektorientierte Analyse Einführung Objektorientierung in der
MehrBetriebssysteme. Thomas Fahringer. Institut für Informatik Universität Innsbruck. VO Betriebssysteme
Grundzüge der Informatik IV: Betriebssysteme Thomas Fahringer Institut für Informatik Universität Innsbruck V Thomas.Fahringer@uibk.ac.at 1 Kapitel I Betriebssysteme: Aufgaben und Überblick V 2 Was ist
Mehr9. Vorlesung Betriebssysteme
Dr. Christian Baun 9. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 1/39 9. Vorlesung Betriebssysteme Dr. Christian Baun Hochschule Mannheim Fakultät für Informatik wolkenrechnen@gmail.com Dr. Christian
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
MehrBeschreiben Sie stichwortartig, was die folgenden Kommandos bewirken.
Betriebssysteme: Auswahl alter Klausuraufgaben Seite 1 Beschreiben Sie stichwortartig, was die folgenden Kommandos bewirken. a) sort < MeineDatei.txt > MeineDateiSort.txt b) find / -type d \( -name man
Mehr