Technische Informatik II

Größe: px
Ab Seite anzeigen:

Download "Technische Informatik II"

Transkript

1 Universität Stuttgart INSTITUT FÜR KOMMUNIKATIONSNETZE UND RECHNERSYSTEME Prof. Dr.-Ing. Andreas Kirstädter Diplomprüfung Prüfer: Termin: Dauer: Verlangte Aufgaben: Zugelassene Hilfsmittel: Technische Informatik II Professor Dr.-Ing. Andreas Kirstädter 04. Oktober Minuten alle alle, bis auf kommunikationsfähige Geräte Aufgabe 1 Scheduling Zu entwerfen sei die Verwaltung von drei periodischen Prozessen (i = 1..3) auf einem Einprozessorsystem mit Echtzeitanforderungen. Folgende Parameter seien vorgegeben: Prozess i Rechenzeit C i τ 1 τ 2 2 Periodendauer P i 4τ 1 3τ 2 P 3 Tabelle 1 Prozessparameter (Zeitangaben in ms) Alle drei Prozesse seien zur Zeit t = 0 gleichzeitig rechenbereit. Der Zeitaufwand für Prozesswechsel sei zu vernachlässigen. Jeder Prozess muss vor seinem nächsten Auftreten fertig bearbeitet sein (Deadline). Zunächst werde ein Scheduling nach dem Rate Monotonic Scheduling (RMS) Verfahren betrachtet. Frage 1 Was muss für P 3 gelten, damit die zeitliche Verwaltbarkeit aller drei Prozesse auf diesem System garantiert werden kann? Nun seien die Parameter aus Tabelle 1 wie folgt angenommen: τ 1 = 1, τ 2 = 2, P 3 = 8. Frage 2 a) Welcher der drei Prozesse wird vom Scheduler zum Zeitpunkt t = 0 zur Ausführung gebracht? Begründen Sie Ihre Antwort. b) Untersuchen Sie in einem Gantt-Diagramm die zeitliche Verwaltbarkeit für diesen Parametersatz. Verwenden Sie eine Skalierung von 0,5cm / ms und zeichnen Sie das Gantt-Diagramm bis t = 24ms. c) Was fällt hier im Vergleich zum Ergebnis von Frage 1 auf und wie lässt sich das erklären? Eine textuelle / rechnerische Begründung genügt.

2 Nun soll die zusätzliche Verwaltung von aperiodisch eintreffende Prozessen in diesem System untersucht werden. Frage 3 a) Was sind die Voraussetzungen, die eine Verwaltung von aperiodisch eintreffenden Prozessen in RMS zusätzlich zu den periodischen Prozessen ermöglichen? b) In welchem zeitlichen Umfang können in dem oben skizzierten Szenario zusätzliche, aperiodisch eintreffende Prozesse verwaltet werden, wenn die Betriebsdauer des Systems eine Minute beträgt und der oben vor Frage 2 spezifizierte Parametersatz verwendet wird? Nun werde als Scheduling der Earliest Deadline First Algorithmus ohne Möglichkeit des Preemption/Resume für die Prozesse eingesetzt. Das Gantt-Diagramm in Bild 1 zeigt den sich ergebenden Schedule für den Parametersatz τ 1 = 1, τ 2 = 2, P 3 = EDF 0 Bild Gantt-Diagramm für EDF Frage 4 a) Geben Sie an, zu welchen Zeitpunkten sich durch Einsatz von Preemption / Resume der Schedule verändern könnte. Beschreiben Sie diese Veränderungen kurz textuell. b) Was sind die Vor- und Nachteile eines Einsatzes von Preemption / Resume in diesem Fall? c) Nennen Sie einen Satz von periodischen Prozessen (Rechenzeiten, Periodendauern), der mit EDF ohne Verwendung von Preemption / Resume nicht verwaltet werden kann, obwohl das System im Mittel nicht überlastet ist. Erläutern Sie, wie die Verwendung von Preemption / Resume das dabei auftretende Problem lösen würde. Aufgabe 1 Seite 2

3 Aufgabe 2 Zuverlässigkeit Frage 5 kann unabhängig von Frage 1 bis Frage 4 beantwortet werden. Eine Sonde zur Erforschung von Tiefseevulkanen soll eine große Menge an Messdaten erfassen. Diese Daten sollen in einem RAID-Verbund aus Halbleiterspeicher-en abgelegt werden. Unter den erwarteten Einsatzbedingungen wurde für die Speicherbausteine eine Zuver- lässigkeit von R S ( t) e c St 2 = ermittelt. Frage 1 a) Bestimmen Sie die Ausfallrate λ(t) eines Speicherbausteins. b) Entspricht das Verhalten der Ausfallrate den Erwartungen für einen normalen Betriebszustand? Begründen Sie Ihre Antwort kurz. Zunächst sollen sechs der Speicherbausteine in einem RAID10-Verbund betrieben werden (vgl. Bild 2). In diesem Fall ist der Speicher funktionsfähig, wenn jeweils mindestens einer der m = 2 e in jeder der n = 3 Gruppen sowie alle Controller funktionieren. RAID-0-Controller RAID-1-Controller RAID-1-Controller RAID-1-Controller Bild 2 1 m = 2 1 m = 2 1 m = n = 3 RAID10-Speichersystem Die Zuverlässigkeit der RAID-Controller beträgt jeweils R C ( t) e c Ct 2 =. Frage 2 a) Zeichnen Sie ein Zuverlässigkeits-Ersatzschaltbild für das Speichersystem. b) Bestimmen Sie die Gesamtzuverlässigkeit R g (t) in Abhängigkeit von R S (t) und R C (t). Zum Ende einer Mission der Sonde (Zeitpunkt t 0 ) soll das Speichersystem noch mit einer Wahrscheinlichkeit von mindestens 99% funktionieren. Für die Komponenten gelte R S (t 0 ) = 0,92 bzw. R C (t 0 ) = 0,998. Frage 3 a) Berechnen Sie die Gesamtzuverlässigkeit R g (t 0 ). Zur Erhöhung der Zuverlässigkeit stehen zwei Optionen zur Verfügung: redundante (doppelte) Auslegung jedes der vier RAID-Controller Einbau von m = 3 Speicherbausteinen in jede Gruppe. b) Welche der Optionen ist geeignet, um eine Gesamtzuverlässigkeit von R g (t 0 ) 99% zu erreichen? Begründen Sie Ihre Antwort. Berechnen Sie R g (t 0 ) für diesen Fall. Aufgabe 2 Seite 3

4 Es steht nun ein flexiblerer RAID-Controller zur Verfügung, der die vier bisher verwendeten Controller ersetzt und eine beliebige Kombination der Speicherbausteine zur effizienten redundanten Datenspeicherung erlaubt. Dieser Controller ist also nicht auf die gängigen RAID-Modi beschränkt. Er hat eine Zuverlässigkeit von R C4 (t 0 ) = 0,992. Frage 4 Zeigen Sie, dass mit diesem RAID-Controller und sechs Speicherbausteinen eine Gesamtzuverlässigkeit von R g (t 0 ) 99% bei gleicher Kapazität des Speichers wie bei der Anordnung in Bild 2 erreicht werden kann. Beschreiben Sie dazu eine geeignete Konfiguration der Speicherbausteine, zeichnen Sie das Zuverlässigkeits-Ersatzschaltbild des Speichersystems und berechnen Sie R g (t 0 ). Schließlich wird der innere Aufbau eines Speicherbausteins betrachtet. Er besteht aus drei Blökken von Speicherzellen mit einer Zuverlässigkeit von jeweils R Z (t 0 ) = r Z, welche von jeweils einer Ansteuerungslogik (mit R A (t 0 ) = r A ) angesprochen werden. Brückenelemente (mit R B (t 0 ) = r B ) erlauben bei einem Ausfall von Teilkomponenten, einen Ansteuerungslogikblock für andere Speicherzellen zu verwenden. Der Speicherbaustein gilt als funktionsfähig, wenn noch mindestens einer der Speicherzellenblöcke funktioniert und angesteuert werden kann. Damit ergibt sich das Zuverlässigkeits-Ersatzschaltbild in Bild 3. r A r Z r B r A r Z r B r A r Z Bild 3 Frage 5 Zuverlässigkeits-Ersatzschaltbild eines s Bestimmen Sie die Gesamt-Zuverlässigkeit r S des Speicherbausteins. Angesichts von 256 möglichen Kombinationen funktionsfähiger bzw. ausgefallener Komponenten ist es nicht zu empfehlen, eine Wahrheitstabelle aufzustellen. Aufgabe 2 Seite 4

5 Aufgabe 3 Seitenersetzungsstrategien Betrachtet werde ein Rechnersystem mit seitenbasierter Speicherverwaltung (Paging). Die Seitenersetzung erfolge zunächst nach dem CLOCK Algorithmus: Die Seiten werden in einer zyklischen Liste verwaltet, in der sie entsprechend der Einlagerungszeitpunkte eingetragen werden. Beim Auftreten eines Seitenfehlers wird zunächst die Seite geprüft, auf die aktuell der Zeiger deutet: Ist das R-Bit dort nicht gesetzt, so wird diese Seite ausgetauscht und der Zeiger rückt weiter zur nächsten Seite in der Liste. Ist das R-Bit dort gesetzt, so wird es auf R = 0 zurückgesetzt und der Zeiger rückt weiter zur nächsten Seite in der Liste. Dies wird solange wiederholt, bis eine Seite ausgetauscht werden konnte. Frage 1 a) Was ist das typische Hauptziel von Seitenersetzungsstrategien? Begründen Sie kurz Ihre Antwort. b) Erläutern Sie den Begriff der Lokalität in diesem Zusammenhang: Welche Arten von Lokalität kennen Sie und welche Rolle spielen diese bei der Gestaltung der Seitenersetzung? c) Wie berücksichtigt der CLOCK-Algorithmus den Lokalitätsaspekt? Es sei nun angenommen, dass für einen Prozess mit mehreren Seiten insgesamt n = 3 Seitenrahmen im Hauptspeicher zur Verfügung stehen. Alle n Seitenrahmen seien zum Start des Prozesses leer. Der Prozess greife wie in Tabelle 2 gezeigt auf die Seiten zu: Zugriffszeitpunkt Seite A B C D A C E G F C Modus r w w r r w w r r w Tabelle 2 Abfolge der Seitenzugriffe Frage 2 a) Wann tritt der erste Seitenfehler auf? Begründen Sie kurz Ihre Antwort. b) Spezifizieren Sie den Inhalt der CLOCK-Liste und die Belegung der Seitenrahmen nach dem Zugriffen zu den Zeitpunkten t = 30, 40, 50, 60 und 70: Kennzeichnen Sie jeweils die Anordnung der enthaltenen Seiten in der Liste, den Status ihrer R-Bits, die Endposition des Zeigers nach Ablauf des Algorithmus. Begründen Sie Ihre Antworten jeweils kurz. Frage 3 a) Wie ist nach den Ergebnissen von Frage 1b) der oben vorgestellte CLOCK- Algorithmus hinsichtlich der Ausnutzung der Lokalität zu beurteilen? Eine textuelle Antwort genügt. b) In welcher Hinsicht könnte durch zusätzliche Berücksichtigung des M-Bit die Leistungsfähigkeit des obigen CLOCK-Algorithmus verbessert werden? Begründen Sie Ihre Antwort. c) Ließe sich mit der Einbeziehung des M-Bit in den CLOCK-Algorithmus auch das Problem aus Frage 3a) adressieren? Begründen Sie Ihre Antwort. Aufgabe 3 Seite 5

6 Aufgabe 4 Dynamische Speicherverwaltung und Synchronisation Frage 2 bis Frage 4 können unabhängig von Frage 1 beantwortet werden. Ein Anwendungsprogramm wird durch einen Copying-Garbage-Collector (GC) unterstützt. Bild 4 zeigt eine Momentaufnahme der Belegung des Heap-Speichers mit Speicherobjekten unmittelbar vor Beginn eines GC-Zyklus. Der Bereich hat eine feste Größe und ist vollständig dargestellt. Die Buchstaben in den Objekten stehen für Zeiger auf das gleichnamige Objekt. Die Wurzelmenge enthält Zeiger auf die Objekte K und A. A B C D E F G H I A F B F F E K F D I B I A B J J I K C A Bild 4 Momentaufnahme des Heap-Speichers Zunächst laufe ein GC-Zyklus ohne Eingriff des Anwendungsprogramms vollständig ab (Stopthe-World-Ansatz). Frage 1 a) Benennen Sie die Rolle des Scan- und des Free-Zeigers bei der Copying- GC. b) Geben Sie auf dem Lösungsblatt (Seite 8) die Belegung des Heapspeichers unmittelbar nach dem vollständigen Abschluss des GC-Zyklus an. Gehen Sie davon aus, dass der GC den Zeigern aus der Wurzelmenge in der Reihenfolge K, A und Zeigern in Objekten von links nach rechts (gemäß Bild 4) folgt. Die From-Space-Kopien der Objekte wurden zum betrachteten Zeitpunkt bereits freigegeben. Nebenläufige GC bedeutet, dass die Speicherbereinigung parallel zur Ausführung von Anwendungsroutinen erfolgt. Dabei werden zum einen Synchronisationsmechanismen benötigt, um Race Conditions beim Zugriff auf Speicherobjekte zu verhindern. Zum anderen sind wie bei der inkrementellen GC Lese- bzw. Schreibbarrieren notwendig, damit Aktionen der Anwendung nicht den internen Zustand des GC stören. Im Folgenden wird der Fall betrachtet, dass ein Anwendungs-Thread und ein Copying-GC- Thread zeitgleich auf einem Mehrprozessorsystem ausgeführt werden. Frage 2 Der exklusive Zugriff auf ein Speicherobjekt (und auf die Information zur Lage des Objekts im Speicher) durch den Anwendungs- bzw. den GC-Thread soll durch einen Mutex je Speicherobjekt sichergestellt werden. a) Ergänzen Sie den Pseudocode der jeweiligen Zugriffsmethoden auf dem Lösungsblatt (Seite 9) um die notwendigen Semaphor-Operationen. Dabei soll der vom Mutex geschützte Codeabschnitt möglichst kurz gehalten werden. Geben Sie auch die Initialisierung der Semaphor-Variablen an. Aufgabe 4 Seite 6

7 Die Semaphore für die einzelnen Speicherobjekte werden in einem mit der Objekt-ID indizierten Array verwaltet. Es genügt, die Initialisierung der Semaphore exemplarisch für ein Speicherobjekt anzugeben. b) Stellen Sie den einmaligen, parallelen Ablauf der Anwendungsroutine writeobjectdata() und der GC-Routine evacuateobject() für dasselbe Speicherobjekt in einem Stellen-Transitions-Petrinetz dar. Beachten Sie insbesondere den Mutex. Geben Sie die Anfangsmarkierung und insbesondere die Bedeutung aller Stellen an. Nun werde zusätzlich eine Lesebarriere realisiert, indem die getobjectpointer()-routine des Anwendungsthreads auf dem Lösungsblatt durch folgenden Ablauf ersetzt wird: Frage 3 Pointer getobjectpointer(object o) { Pointer p = objectpointers[o]; if (isinfromspace(p)) { GarbageCollector.evacuateObject(o); // Ausführung des GC-Codes im Anwendungs-Thread p = objectpointers[o]; return p; Die in Frage 2a) definierten Semaphor-Operationen werden beibehalten. a) Stellen Sie den Ablauf der writeobjectdata()-routine mit der erweiterten getobjectpointer()-routine in einem Stellen-Transitions- Petrinetz dar. Berücksichtigen Sie den Semaphor. Geben Sie die Anfangsmarkierung und die Bedeutung aller Stellen an. Hinweise: Modellieren Sie auch den Ablauf der von getobjectpointer() bedingt aufgerufenen Routine evacuateobject(). Ignorieren Sie mögliche systematische Deadlocks. Eine if-verzweigung kann durch das Verlassen einer Stelle über zwei alternative Transitionen dargestellt werden. b) Kann bei der Ausführung der dargestellten Routine ein Deadlock auftreten? Falls ja, geben Sie eine Schaltfolge von Transitionen an, die zu diesem führt und beschreiben Sie, durch welches Zusammenspiel von Anwendungs- und GC-Code der Deadlock zustande kommt. Erklären Sie andernfalls, wie Ihre Realisierung des Mutex in Frage 2a) zur Vermeidung eines hier wahrscheinlichen Deadlocks beiträgt. Vernachlässigen Sie im Folgenden die Deadlock-Problematik. Frage 4 Erörtern Sie kurz, ob die in Frage 2 und Frage 3 betrachtete Synchronisation bei der nebenläufigen GC ausreicht. Überlegen Sie für jede beim Ablauf der Copying-GC durchgeführte Aktion, ob es zu einem Konflikt mit Anwendungsroutinen kommen kann und ob dieser bereits von den obigen Mechanismen abgefangen wird. Aufgabe 4 Seite 7

8 Name: Matrikelnummer: Lösungsblatt für Aufgabe 4, Frage 1b): Heap-Speicherbereich nach GC-Zyklus Seite 8

9 Name: Matrikelnummer: Lösungsblatt für Aufgabe 4, Frage 2a): Pseudocode Pointer[] objectpointers = new Pointer[MAX_OBJ_NUM]; Semaphore[] mutex = new Semaphore[MAX_OBJ_NUM]; // Array mit einem Mutex-Semaphor für jedes Speicherobjekt Thread GarbageCollection{ //... void evacuateobject (Object o) { Pointer fs_p = objectpointers[o]; //Fromspace-Adresse Pointer ts_p = allocatetospacememory(o.size); //Tospace-A. mem_copy(fs_p, ts_p, o.size); setcopiedbit(fs_p); objectpointers[o] = ts_p; Thread Application{ //... Data readobjectdata(object o, int offset, int size) { Pointer p = getobjectpointer(o); Data d = readdata(p+offset, size); return d; void writeobjectdata(object o, Data d, int offset) { Pointer p = getobjectpointer(o); writedata(p+offset, d, d.size); Pointer getobjectpointer(object o) { return objectpointers[o]; Main { GarbageCollection.start(); Application.start(); Seite 9

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

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel Aufgabe 1 (5 Punkte) (Multiple Choice) Beantworten Sie folgende Fragen durch Ankreuzen der richtigen Antwort. Für jede falsche Antwort wird ein Punkt abgezogen (es werden minimal 0 Punkte vergeben). Welche

Mehr

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

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

Prozeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen Seite 8 A UFGABE 11 INTERP ROZEßKOMMUNIKATION Das folgende Petrinetz zeigt zwei verkoppelte Prozesse P1 und P2. Die Transitionen a und b beschreiben Aktionen von P1, die Transitionen c und d Aktionen von

Mehr

Softwarelösungen: Versuch 4

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

Mehr

Technische Informatik I. Übung 3 Speicherhierarchie. v t d 0 d 1 d 2 d 3 0 1 2 3. Technische Informatik I Übung 3. Technische Informatik I Übung 3

Technische Informatik I. Übung 3 Speicherhierarchie. v t d 0 d 1 d 2 d 3 0 1 2 3. Technische Informatik I Übung 3. Technische Informatik I Übung 3 Institut für Kommunikationsnetze und Rechnersysteme Technische Informatik I Paul J. Kühn, Matthias Meyer Übung 3 Speicherhierarchie Inhaltsübersicht Aufgabe 3.1 Daten-Cache Aufgabe 3.2 Virtueller Speicher

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

Vorbereitung zur Prüfung Echtzeitbetriebssysteme

Vorbereitung 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

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

Musterlösung Klausur SS 2004

Musterlösung Klausur SS 2004 Musterlösung Klausur SS 2004 Fachrichtung: Informatik Lehrveranstaltung: Verteilte Systeme Dozent: Prof. G. Bengel Tag: 15.6.04 Bearbeitungszeit: 90 Minuten Name:... Matr.Nr.:... Punkte:... Note:... Hilfsmittel:

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

Algorithmen & Datenstrukturen 1. Klausur

Algorithmen & Datenstrukturen 1. Klausur Algorithmen & Datenstrukturen 1. Klausur 7. Juli 2010 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 35 2 30 3 30 4 15 5 40 6 30 Gesamt 180 1 Seite 2 von 14 Aufgabe 1) Programm Analyse

Mehr

Banner T 1 T 2. Bild T 7 T 8. Fließtext T 9

Banner T 1 T 2. Bild T 7 T 8. Fließtext T 9 Name, Vorname: Matrikel-Nr.: Aufgabe 1 Wir schreiben das Jahr 2010. Ein Desktop-System mit drei identischen Prozessoren P = {P 1, P 2, P 3 } wird zur Darstellung einer Webseite verwendet. Insgesamt neun

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

Effizientes Memory Debugging in C/C++

Effizientes Memory Debugging in C/C++ Effizientes Memory Debugging in C/C++ Adam Szalkowski Embedded Computing Conference 2014 Ursachen/ Symptome Debugging Tools Ursachen / Symptome Was habe ich falsch gemacht? Was kann denn passieren im schlimmsten

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

Scheduling in Echtzeitbetriebssystemen. Prof. Dr. Margarita Esponda Freie Universität Berlin

Scheduling in Echtzeitbetriebssystemen. Prof. Dr. Margarita Esponda Freie Universität Berlin Scheduling in Echtzeitbetriebssystemen Prof. Dr. Margarita Esponda Freie Universität Berlin Echtzeitsysteme Korrekte Ergebnisse zum richtigen Zeitpunkt Hart Echtzeitsysteme Eine verspätete Antwort ist

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

PRÜFUNG. Grundlagen der Softwaretechnik

PRÜ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: 21.09.2012 Prüfungsdauer:

Mehr

Lösungsskizzen zur Abschlussklausur Betriebssysteme

Lösungsskizzen zur Abschlussklausur Betriebssysteme Lösungsskizzen zur Abschlussklausur Betriebssysteme 24. Januar 2013 Name: Vorname: Matrikelnummer: Studiengang: Hinweise: Tragen Sie zuerst auf allen Blättern (einschlieÿlich des Deckblattes) Ihren Namen,

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

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12

Folge 19 - Bäume. 19.1 Binärbäume - Allgemeines. Grundlagen: Ulrich Helmich: Informatik 2 mit BlueJ - Ein Kurs für die Stufe 12 Grundlagen: Folge 19 - Bäume 19.1 Binärbäume - Allgemeines Unter Bäumen versteht man in der Informatik Datenstrukturen, bei denen jedes Element mindestens zwei Nachfolger hat. Bereits in der Folge 17 haben

Mehr

Zusammenfassung Modul 223

Zusammenfassung Modul 223 Zusammenfassung Modul 223 von Christian Roth Powered by Schuschu Bison Schweiz AG, Surentalstrasse 10, CH-6210 Sursee, www.bison-group.com Inhaltsverzeichnis 1 Entwurfmuster... 3 1.1 Singleton... 3 1.1.1

Mehr

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden. Grundwissen Informatik Objekt Attribut Methoden Als Objekte bezeichnet man alle Gegenstände, Dinge, Lebewesen, Begriffe oder Strukturen unserer Welt ( Autos, Räume, Bakterien, Lehrer, Schüler, Kunden,

Mehr

5.1 Bestehende Projekte bearbeiten 79 5.2 Neue Projekte erstellen 85

5.1 Bestehende Projekte bearbeiten 79 5.2 Neue Projekte erstellen 85 Projekte per DOM bearbeiten KAPITEL 5 5.1 Bestehende Projekte bearbeiten 79 5.2 Neue Projekte erstellen 85 Bisher haben wir uns angesehen, wie List & Label mit Ihren Daten bekannt gemacht werden kann und

Mehr

Probeklausur Grundlagen der Datenbanksysteme II

Probeklausur Grundlagen der Datenbanksysteme II Prof. Dott.-Ing. Roberto V. Zicari Datenbanken und Informationssysteme Institut für Informatik Fachbereich Informatik und Mathematik Probeklausur Grundlagen der Datenbanksysteme II Frau: Herr: Vorname:

Mehr

Modellierungsmethoden in der Informatik

Modellierungsmethoden in der Informatik Modellierungsmethoden in der Informatik Probeklausur WS 2007/08 UNIVERSITÄT D U I S B U R G E S S E N Disclaimer Die Aufgaben sind lediglich Beispiele Sie decken nicht den ganzen klausurrelevanten Stoff

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

Wenn alle Referenzbits gleich 1, wird nach FIFO entschieden

Wenn alle Referenzbits gleich 1, wird nach FIFO entschieden 4 Second Chance (5) Second chance zeigt FIFO Anomalie Wenn alle Referenzbits gleich 1, wird nach FIFO entschieden Erweiterung Modifikationsbit kann zusätzlich berücksichtigt werden (Dirty bit) vier Klassen:

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

PRÜFUNG. Grundlagen der Softwaretechnik

PRÜ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 Musterlösung Name: Matrikelnummer: Note: Prüfungstag:

Mehr

Echtzeitscheduling (1)

Echtzeitscheduling (1) Echtzeitscheduling (1) Scheduling in Betriebssystemen Ressourcenausteilung (CPU, Speicher, Kommunikation) Faire Ressourcenvergabe, insbesondere CPU Hohe Interaktivität / kurze Reaktionszeit für interaktive

Mehr

20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem

20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem 20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem Autor Susanne Albers, Universität Freiburg Swen Schmelzer, Universität Freiburg In diesem Jahr möchte

Mehr

Betriebssysteme und Systemsoftware

Betriebssysteme und Systemsoftware Merlin Denker Version 2 1 / 18 Vorwort Dieses Dokument soll einen Überblick über verschiedene Strategien aus der an der RWTH Aachen gehaltenen Vorlesung bieten. Die vorliegende Version dieses Dokuments

Mehr

a) Wie viele ROM-Bausteine benötigen Sie für den Aufbau des 64x16 ROMs? c) Wie viele Bytes Daten können im 64x16 ROM insgesamt gespeichert werden?

a) Wie viele ROM-Bausteine benötigen Sie für den Aufbau des 64x16 ROMs? c) Wie viele Bytes Daten können im 64x16 ROM insgesamt gespeichert werden? VU Technische Grundlagen der Informatik Übung 4: Schaltwerke 83.579, 24W Übungsgruppen: Mo., 24.. Mi., 26..24 Aufgabe : ROM-Erweiterung Ein 64x6 ROM soll aus mehreren 32x4 ROMs (vgl. Abbildung rechts:

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Name, Vorname Matrikelnummer Probeklausur zur Vorlesung Einführung in die Programmierung WS 2008/09 Dauer: 2 Stunden Hinweise: Schreiben Sie Ihren Namen und Ihre Matrikelnummer auf dieses Deckblatt und

Mehr

4.2 Die Behandlung diskreter Zeitaspekte unter Synchroniehypothese

4.2 Die Behandlung diskreter Zeitaspekte unter Synchroniehypothese Zeit in Prozeßalgebra Synchroniehypothese: Aktionen des Systems brauchen keine Zeit. Einbau einer diskreten Uhr. 1 Beispiel Doppelte Maus-Clicks Angenommen, wir wollen ein Programm schreiben, das doppelte

Mehr

Der Rechner. Grundbegriffe. Aufbau. Funktionsweise. Betriebssystem. Kategorisierung. PC-Komponenten. Prof. Dr. Aris Christidis

Der Rechner. Grundbegriffe. Aufbau. Funktionsweise. Betriebssystem. Kategorisierung. PC-Komponenten. Prof. Dr. Aris Christidis Der Rechner Grundbegriffe Aufbau Funktionsweise Betriebssystem Kategorisierung PC-Komponenten Auf der Grundlage eines Programms kann ein Computer Daten mit seiner Umgebung austauschen, mathematische und

Mehr

Verteilte Echtzeit-Systeme

Verteilte Echtzeit-Systeme - Verteilte Echtzeit-Systeme Hans-Albrecht Schindler Wintersemester 2015/16 Teil B: Echtzeit-Betriebssysteme Abschnitt 9: Scheduling gemischter Prozessmengen CSI Technische Universität Ilmenau www.tu-ilmenau.de

Mehr

Übung zu Grundlagen der Betriebssysteme. 13. Übung 22.01.2012

Übung zu Grundlagen der Betriebssysteme. 13. Übung 22.01.2012 Übung zu Grundlagen der Betriebssysteme 13. Übung 22.01.2012 Aufgabe 1 Fragmentierung Erläutern Sie den Unterschied zwischen interner und externer Fragmentierung! Als interne Fragmentierung oder Verschnitt

Mehr

DAP2-Klausur 07.08.2004

DAP2-Klausur 07.08.2004 DAP2-Klausur 07.08.2004 Vorname : Familienname: Ich studiere (Bitte markieren): Informatik/Inform. Lehramt/Inf.technik/Physik/ Mathe/Statistik/Sonstiges: Bitte beachten: Auf jedem Blatt Matrikelnummer

Mehr

SEP 114. Design by Contract

SEP 114. Design by Contract Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit

Mehr

Ingenieurinformatik Diplom-FA (Teil 2, C-Programmierung)

Ingenieurinformatik Diplom-FA (Teil 2, C-Programmierung) Hochschule München, FK 03 SS 2014 Ingenieurinformatik Diplom-FA (Teil 2, C-Programmierung) Zulassung geprüft: (Grundlagenteil) Die Prüfung ist nur dann gültig, wenn Sie die erforderliche Zulassungsvoraussetzung

Mehr

Verfahren zur Berechnung von Routen zur Gewährleistung von Ende-zu-Ende QoS

Verfahren zur Berechnung von Routen zur Gewährleistung von Ende-zu-Ende QoS Verfahren zur Berechnung von Routen zur Gewährleistung von Ende-zu-Ende QoS Dezember 007 Dipl.-Ing. Stefan Abu Salah Dipl.-Ing. Achim Marikar QoS (Quality of Service): Sicherstellung der Qualität Zeitkritische

Mehr

Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene. Andi Drebes Fachbereich Informatik Universität Hamburg

Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene. Andi Drebes Fachbereich Informatik Universität Hamburg Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene Andi Drebes Fachbereich Informatik Universität Hamburg Gliederung Notwendigkeit des Schedulings Einführung: Begriff des Multitaskings

Mehr

Musterlösung Prüfung SS 2002

Musterlösung Prüfung SS 2002 Musterlösung Prüfung SS 2002 Fach: I4neu (SEE, KOS, GRS, BTS) Teilprüfung: Betriebssystem Tag: 2.7.2002 8:15 12:15 Raum 1006 Bearbeitungszeit: 72 Minuten Name:... Matr.Nr.:... Punkte:... Note:... Hilfsmittel:

Mehr

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

Task A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003 Task! evt. parallel zu bearbeitende Ausführungseinheit! Beispiel: Task A Zündung Task B Einspritzung Task C Erfassung Pedalwert Zeit t J. Schäuffele, Th. Zurawka:, Vieweg, 2003 Echtzeitbetriebssysteme

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

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

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

Mehr

KREDITVERZEICHNIS Konfiguration Ausgabe: 20.02.13 1/13. Dokumentation KREDITVERZEICHNIS. Teil 2. Konfiguration

KREDITVERZEICHNIS Konfiguration Ausgabe: 20.02.13 1/13. Dokumentation KREDITVERZEICHNIS. Teil 2. Konfiguration KREDITVERZEICHNIS Konfiguration Ausgabe: 20.02.13 1/13 Dokumentation KREDITVERZEICHNIS Teil 2 Konfiguration Stand 20.02.2013 KREDITVERZEICHNIS Konfiguration Ausgabe: 20.02.13 2/13 Inhalt 1. KONFIGURATION...

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

Java Real-Time Specification

Java Real-Time Specification Ausgewählte Kapitel eingebetteter Systeme Java Real-Time Specification Tobias Distler 05.07.2006 Java und Echtzeit? Problem Nichtdeterministisches Verhalten der Garbage Collection Weitere Nachteile Scheduling

Mehr

Klausur zur Einführung in die objektorientierte Programmierung mit Java

Klausur zur Einführung in die objektorientierte Programmierung mit Java Klausur zur Einführung in die objektorientierte Programmierung mit Java im Studiengang Informationswissenschaft Prof. Dr. Christian Wolff Professur für Medieninformatik Institut für Medien-, Informations-

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

Motivation. Motivation

Motivation. Motivation Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2012 Universität Duisburg-Essen Was sind nebenläufige Systeme? Ganz allgemein: Systeme, bei denen mehrere Komponenten/Prozesse nebenläufig arbeiten

Mehr

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper Speicherverwaltung Real Mode Nach jedem starten eines PC befindet sich jeder x86 (8086, 80386, Pentium, AMD) CPU im sogenannten Real Mode. Datenregister (16Bit) Adressregister (20Bit) Dadurch lassen sich

Mehr

Ihre Matrikel Nummer: Ihre Unterschrift

Ihre Matrikel Nummer: Ihre Unterschrift Name, Vorname Ihre Matrikel Nummer: Ihre Unterschrift Ihre Klausur Informatik U2 SS 2010 am 30. Juli 2010 Dipl. Inform. (FH) Heidi HannaH Daudistel Bearbeitungszeit: 90 Minuten Die Klausur besteht aus

Mehr

Aktuelle Themen der Informatik

Aktuelle Themen der Informatik Aktuelle Themen der Informatik Change Management Michael Epple AI 8 Inhalt: 1. Einführung 2. Begriffsbestimmungen 3. Ablauf des Change Management Prozesses 4. Zusammenhang zwischen Change Management, Configuration

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer

Mehr

Szenarien zu Hochverfügbarkeit und Skalierung mit und ohne Oracle RAC. Alexander Scholz

Szenarien zu Hochverfügbarkeit und Skalierung mit und ohne Oracle RAC. Alexander Scholz Hochverfügbar und Skalierung mit und ohne RAC Szenarien zu Hochverfügbarkeit und Skalierung mit und ohne Oracle RAC Alexander Scholz Copyright its-people Alexander Scholz 1 Einleitung Hochverfügbarkeit

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java: Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen

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

Technische Universität München SS 2006 Fakultät für Informatik 12. Oktober 2006 Prof. Dr. A. Knoll. Aufgabe 1 Transferfragen (Lösungsvorschlag)

Technische Universität München SS 2006 Fakultät für Informatik 12. Oktober 2006 Prof. Dr. A. Knoll. Aufgabe 1 Transferfragen (Lösungsvorschlag) Technische Universität München SS 2006 Fakultät für Informatik 12. Oktober 2006 Prof. Dr. A. Knoll Lösungsvorschläge der Klausur zu Einführung in die Informatik II Aufgabe 1 Transferfragen (Lösungsvorschlag)

Mehr

KV Betriebssysteme (Peter René Dietmüller, Michael Sonntag) Synchronisation

KV Betriebssysteme (Peter René Dietmüller, Michael Sonntag) Synchronisation SS 2003 KV Betriebssysteme (Peter René Dietmüller, Michael Sonntag) Synchronisation 1 Sequentielle Prozesse Zu jedem Zeitpunkt t wird genau eine einzige Instruktion ausgeführt Hängt ab vom Abstraktionsgrad

Mehr

Verteilte Systeme CS5001

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

Mehr

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

Zur Erinnerung: Threads. Threadverwaltung. Threads: Prioritäten. Beispiel Flugbuchungsprogramm. Nichtdeterminismus Zur Erinnerung: Threads Programmierung (fortgeschrittene Konzepte) Threads, Monitore, Semaphore und speisende en Wolf-Ulrich Raffel (uli@wuraffel.de) Möglichkeiten, Threads zu definieren Bildung einer

Mehr

STORAGE. Martin Schmidt Berufsschule Obernburg

STORAGE. Martin Schmidt Berufsschule Obernburg STORAGE Martin Schmidt Berufsschule Obernburg Storage Begriffserklärung Storage ist die Bezeichnung für eine große Menge zusammenhängenden Speicherplatz in einem Netzwerk. Storage heißen auch die große

Mehr

5) Realzeitscheduling

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

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

Schritt 1 - Ein Spielfeld

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

Mehr

Klausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 13. April 2007, 11.15-13.00 Uhr Bearbeitungszeit: 105 Minuten

Klausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 13. April 2007, 11.15-13.00 Uhr Bearbeitungszeit: 105 Minuten Klausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 13. April 2007, 11.15-13.00 Uhr Bearbeitungszeit: 105 Minuten Vorname: Nachname: Matrikelnummer: Legen Sie zu Beginn Ihren Studentenausweis

Mehr

Übungspaket 19 Programmieren eigener Funktionen

Übungspaket 19 Programmieren eigener Funktionen Übungspaket 19 Programmieren eigener Funktionen Übungsziele: Skript: 1. Implementierung und Kodierung eigener Funktionen 2. Rekapitulation des Stack-Frames 3. Parameterübergabe mittels Stack und Stack-Frame

Mehr

am Beispiel von JUnit

am Beispiel von JUnit Aufbau eines Testwerkzeugs am Beispiel von JUnit Üblicher Ansatz für Tests und Fehlersuche: Print-Befehle, Debugger-Ausdrücke, Test-Skripte möglichst über globale Variable debug steuerbar Command Pattern

Mehr

Scheduling von Versuchen im Umfeld MDM

Scheduling von Versuchen im Umfeld MDM Scheduling von Versuchen im Umfeld MDM Peak Resource Planner (PRP) Immer ein Stück weiter Dipl.-Math. Senior Consultant g.schneider@peak-solution.de Übersicht Versuche zeitlich einplanen MDM Prozess Anforderungen

Mehr

CPU-Scheduling - Grundkonzepte

CPU-Scheduling - Grundkonzepte CPU-Scheduling - Grundkonzepte Sommersemester 2015 Seite 1 Gesamtüberblick 1. Einführung in Computersysteme 2. Entwicklung von Betriebssystemen 3. Architekturansätze 4. Interruptverarbeitung in Betriebssystemen

Mehr

Deklarationen in C. Prof. Dr. Margarita Esponda

Deklarationen in C. Prof. Dr. Margarita Esponda Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.

Mehr

FHZ. K20 Arrays. Lernziele. Hochschule Technik+Architektur Luzern Abteilung Informatik, Fach Programmieren. Inhalt

FHZ. K20 Arrays. Lernziele. Hochschule Technik+Architektur Luzern Abteilung Informatik, Fach Programmieren. Inhalt Inhalt 1. Einführung 2. Array-Komponenten von elementaren Datentypen 3. Array-Komponenten sind Objekte 4. Array als Parameter 5. Kopieren von Arrays 6. Beispiel 7. Vector versus Array Folie 1 Lernziele

Mehr

Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen

Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Methoden des Algorithmenentwurfs Kapitel 2.2: Randomisierte Online Algorithmen Christian Scheideler SS 2009 16.07.2009 Kapitel 2 1 Übersicht Notation Paging Selbstorganisierende Suchstrukturen Finanzielle

Mehr

Interrupts. Funktionsprinzip. Funktionsprinzip. Beispiel in C

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

Mehr

Redundantes Speichern

Redundantes Speichern Redundantes Speichern Höchste Verfügbarkeit und größtmögliche Datensicherheit durch paralleles Speichern in EBÜS Status: Freigegeben Dieses Dokument ist geistiges Eigentum der Accellence Technologies GmbH

Mehr

Digital Design Entwicklung der DRAMs. Richard Roth / FB Informatik und Mathematik Speicher 1

Digital Design Entwicklung der DRAMs. Richard Roth / FB Informatik und Mathematik Speicher 1 Entwicklung der DRAMs Richard Roth / FB Informatik und Mathematik Speicher 1 Entwicklung der DRAMs in Zukunft Richard Roth / FB Informatik und Mathematik Speicher 2 DRAM Speicherzelle (Trench Technology)

Mehr

POSIX Echtzeit: Kernel 2.6 und Preempt-RT

POSIX Echtzeit: Kernel 2.6 und Preempt-RT POSIX Echtzeit: Kernel 2.6 und Preempt-RT Slide 1 - http://www.pengutronix.de - 21.01.2007 Echtzeit-Systemplanung Wenn das zeitliche Verhalten spezifiziert ist, kann auch spezifiziert werden, welche Applikationsteile

Mehr

Game Engine Architecture and Development. Platform Unabhängiger Code Multi Threading in Game Engines Profiling

Game Engine Architecture and Development. Platform Unabhängiger Code Multi Threading in Game Engines Profiling Game Engine Architecture and Development Platform Unabhängiger Code Multi Threading in Game Engines Profiling Folien Die Folien werden auf acagamics.de hochgeladen Das Passwort ist 60fps (ohne ) Rückblick:

Mehr

- Eine typische Ausfallrate, wie sie bei vielen technischen Anwendungen zu sehen ist hat die Form einer Badewanne, deshalb nennt man diese Kurve auch

- Eine typische Ausfallrate, wie sie bei vielen technischen Anwendungen zu sehen ist hat die Form einer Badewanne, deshalb nennt man diese Kurve auch 1 2 - Eine typische Ausfallrate, wie sie bei vielen technischen Anwendungen zu sehen ist hat die Form einer Badewanne, deshalb nennt man diese Kurve auch Badewannenkurve. -mit der Badewannenkurve lässt

Mehr

(Rechtsakte ohne Gesetzescharakter) VERORDNUNGEN

(Rechtsakte ohne Gesetzescharakter) VERORDNUNGEN 8.12.2010 Amtsblatt der Europäischen Union L 323/1 II (Rechtsakte ohne Gesetzescharakter) VERORDNUNGEN VERORDNUNG (EU) Nr. 1088/2010 DER KOMMISSION vom 23. November 2010 zur Änderung der Verordnung (EG)

Mehr

Übungen zu Modellierung verteilter Systeme

Übungen zu Modellierung verteilter Systeme Technische Universität München SoSe 2014 Institut für Informatik Lösungsblatt 1 PD Dr.habil. B. Schätz Ausgabe: 17. April 2014 M. Gleirscher, D. Marmsoler Besprechung: 24. April 2014 Übungen zu Modellierung

Mehr

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm Programmiersprachen Einführung in C Teil 2: Prof. Dr. int main (int argc, char *argv[]) int sum = 0; for (i = 0; i

Mehr

Kapitel 12: Übersetzung objektorienter Konzepte

Kapitel 12: Übersetzung objektorienter Konzepte Kapitel 12: Übersetzung objektorienter Konzepte Themen Klassendarstellung und Methodenaufruf Typüberprüfung Klassenhierarchieanalyse Escape Analyse 12.1 Klassendarstellung bei Einfachvererbung class Punkt

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Makespan-Scheduling Kapitel 4: Approximationsalgorithmen (dritter Teil) (weitere Beispiele und Illustrationen an der Tafel) Hilfreiche Literatur: Vazarani: Approximation Algorithms, Springer Verlag, 2001.

Mehr

Lokales Storage Teil 1

Lokales Storage Teil 1 Lokales Storage Teil 1 Zinching Dang 08. Juli 2015 1 Lokales Storage im Allgemeinen Lokales Storage im Allgemeinen Datenträger, die direkt am Host angeschlossen sind Anbindung über verschiedene Bus-Systeme

Mehr

B1 Stapelspeicher (stack)

B1 Stapelspeicher (stack) B1 Stapelspeicher (stack) Arbeitsweise des LIFO-Stapelspeichers Im Kapitel "Unterprogramme" wurde schon erwähnt, dass Unterprogramme einen so genannten Stapelspeicher (Kellerspeicher, Stapel, stack) benötigen

Mehr

6. Tutorium zu Softwaretechnik I

6. Tutorium zu Softwaretechnik I 6. Tutorium zu Softwaretechnik I Parallelität und Testen Michael Hoff 01.07.2014 INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 12.01.2012 INSTITUT FÜR THEORETISCHE 0 KIT 12.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

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

Hausübung 2. Konzepte und Methoden der Systemsoftware. Aufgabe 1: Einfache Schedulingstrategien. SoSe bis Universität Paderborn Fachgebiet Rechnernetze SoSe 2014 Konzepte und Methoden der Systemsoftware Hausübung 2 2014-05-12 bis 2014-05-23 Hausübungsabgabe: Format: Lösungen in schriftlicher oder gedruckter

Mehr

13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems

13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems 13 Java 4 - Entwurfsmuster am Beispiel des Rucksackproblems 13.1 Modellierung des Rucksackproblems 13.2 Lösung mit Greedy-Algorithmus 13.3 Lösung mit Backtracking 13.4 Lösung mit Dynamischer Programmierung

Mehr

Java Virtual Machine (JVM) Bytecode

Java Virtual Machine (JVM) Bytecode Java Virtual Machine (JVM) durch Java-Interpreter (java) realisiert abstrakte Maschine = Softwareschicht zwischen Anwendung und Betriebssystem verantwortlich für Laden von Klassen, Ausführen des Bytecodes,

Mehr

In dieser Aufgabe sollen Teile eines kleinen Pong-Spiels analysiert und implementiert werden. Gegeben sei dazu das folgende Szenario:

In dieser Aufgabe sollen Teile eines kleinen Pong-Spiels analysiert und implementiert werden. Gegeben sei dazu das folgende Szenario: IF1-Informatik Eph GK (GA) Bearbeitungszeit: 90 min. Seite 1 Aufgabe 1: Greenfoot mit Kara Ein Pong-Spiel In dieser Aufgabe sollen Teile eines kleinen Pong-Spiels analysiert und implementiert werden. Gegeben

Mehr

RAID. Name: Artur Neumann

RAID. Name: Artur Neumann Name: Inhaltsverzeichnis 1 Was ist RAID 3 1.1 RAID-Level... 3 2 Wozu RAID 3 3 Wie werden RAID Gruppen verwaltet 3 3.1 Software RAID... 3 3.2 Hardware RAID... 4 4 Die Verschiedenen RAID-Level 4 4.1 RAID

Mehr

Übungen zum Fach Betriebssysteme Kapitel 3

Übungen zum Fach Betriebssysteme Kapitel 3 Übungen zum Fach Betriebssysteme Kapitel 3 Prof. Dr. Kern & Prof. Dr. Wienkop Prozessverwaltung 1 Prozeßauslagerung Ein Betriebssystem, das die Zustände "rechnend", "bereit" und "wartend" sowie den künstlichen

Mehr

Speicher Virtuelle Speicherverwaltung. Speicherverwaltung

Speicher Virtuelle Speicherverwaltung. Speicherverwaltung Speicherverwaltung Die Speicherverwaltung ist derjenige Teil eines Betriebssystems, der einen effizienten und komfortablen Zugriff auf den physikalischen Arbeitsspeicher eines Computer ermöglicht. Je nach

Mehr