Vorname: Nachname: Matrikelnummer: Klausur. Betriebssysteme

Ähnliche Dokumente
Punkte. Teil 1. Teil 2. Summe. 1. Zeigen Sie, dass der untenstehende Suchbaum die AVL-Bedingung verletzt und überführen Sie ihn in einen AVL-Baum.

Prüfung Softwareentwicklung II (IB)

Institut für Informatik. Endterm Klausur zu Informatik I 20. Februar 2010

Klausur. Betriebssysteme WS 2012/

Institut für Programmierung und Reaktive Systeme 17. Juli Programmieren II. Übungsklausur

Informatik II. Semesterklausur

Lebenszyklus von Threads

Parallele und funktionale Programmierung Wintersemester 2015/ Übung Abgabe bis , 10:00 Uhr

Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl für Verteilte Systeme und Betriebssysteme. Schriftliche Diplomvorprüfung

Prozesszustände (1a)

Universität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 08. Oktober Klausur II

Info B VL 17: Deadlocks

Klausur: Java (Liste P)

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme

Fachhochschule Stuttgart Prof. Uwe Schulz 5. Juli 2006 Hochschule der Medien Klausur Informatik, EDV-Nr (42021) Seite 1 von 4

Klausur zur Vorlesung Einführung in Verteilte Systeme WS 05/06 Prof. Dr. Odej Kao 3. Februar 2006

Klausur zur Vorlesung Informatik 1 im Wintersemester 2014/2015 am 18. Februar Bearbeitungszeit: 90 Minuten Gesamtpunktezahl: 90 Punkte

EINFÜHRUNG IN DIE PROGRAMMIERUNG

Nachholklausur zur Vorlesung: Einführung in die objektorientierte Programmierung mit Java WS1415

Prüfung Algorithmen und Datenstrukturen I

Objekt-Orientierte Programmierung. II/Wb17

Funktionale und Objekt-Orientierte Programmierkonzepte

Klausur. Betriebssysteme SS

Ausnahmebehandlung in Java

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme

Versuchsziele Konzepte der parallelen Programmierung am Beispiel von Threads anwenden können. Einbau von Kontrollmechanismen mittels Semaphore.

Prüfung Softwareentwicklung II (IB)

Lesen Sie zuerst die Hinweise auf der folgenden Seite! Klausurort: Aufgabe Summe

Bachelorprüfung: Objektorientierte Softwareentwicklung

Dies ist eine Probeklausur, die keine formalen Schlüsse auf die Form, die Struktur oder den Inhalt der endgültigen Klausur zulässt.

Prof. Dr. Uwe Schmidt. 21. August Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252)

Threading. Arthur Zaczek. Aug 2015

Java I Vorlesung Nebenläufigkeit

(b.) Welche Möglichkeit gibt es, die Methode run so zu verändern, dass Bora Bora IMMER zuletzt ausgegeben wird?

Klausur zum Kurs Betriebssysteme (1802) am 18. September 2010

Einführung Verteilte Systeme - Java Threads I -

Thread-Synchronisation in in Java. Threads Wechselseitiger Ausschluss Bedingte Synchronisation Beispiel: Warteschlangen

Javakurs für Fortgeschrittene

Einführung in die Programmierung. (K-)II/Wb17

Einführung in die Informatik 1

Aufgabenblatt 6 Musterlösung

Übung 01: Requirements Engineering. Übung 01. Requirement Engineering Software Engineering WS17/18 Philipp Seltmann

Versuchsziele. Grundlagen. Überblick: FB Automatisierung und Informatik Betriebssysteme Thema: Bounded-Buffer-Problem. 3.

Fachhochschule Stuttgart Prof. Uwe Schulz 14. Juli 2005 Hochschule der Medien Klausur Informatik, EDV-Nr (42021) Seite 1 von 4

parallele Prozesse auf sequenziellen Prozessoren Ein Process ist ein typisches Programm, mit eigenem Addressraum im Speicher.

Testen nebenläufiger Objekte

Matrikelnummer: 1 Aufgabe 1: Quickies (30 Punkte) a) Wird das folgende Programm von einem Java-Übersetzer ohne Beanstandungen übersetzt? Falls nicht,

Philipp Güttler Progwerkstatt Letzte Änderung: Enums, Interfaces, Generics und Threads

Objektorientierte Programmierung Studiengang Medieninformatik

Allgemeine Informatik II

Innere Klassen. Innere Klassen. Page 1. Lernziele: innere Klassen, statische geschachtelte Klassen, anonyme Klassen.

EINFÜHRUNG IN DIE PROGRAMMIERUNG

Prüfung Softwareentwicklung I (IB)

Klausur zur Einführung in die objektorientierte Programmierung mit Java

Beispiel für überladene Methode

Aufgabenblatt 8 Musterlösung

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme

! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete. II.4.2 Abstrakte Klassen und Interfaces - 1 -

Basispruefung Herbst 2016/ Einführung in die Programmierung

Betriebssysteme - Deadlocks

Technische Universität Braunschweig

Prof. Dr. Uwe Schmidt. 21.August Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (BInf 211, BTInf 211, BMInf 211, BWInf 211)

1. Rekursive Algorithmen 2. Rekursive (dynamische) Datenstrukturen

Physikalisch Technische Lehranstalt Wedel 31. Januar 2004 Prof. Dr. Uwe Schmidt

Probe-Klausur Software Engineering Fachbereich BW, für WINFO

Klausur zur Vorlesung Einführung in Verteilte Systeme WS 05/06 Prof. Dr. Odej Kao 30. März 2006

OOP Aufgabenblatt 7 6. Dezember 2013

Prüfung vom 27. November 2007 Teil 1: 30 Minuten

Objektorientierte Programmierung

Klausur Programmieren 2 SS 2016

Klausur Betriebssysteme I

Prüfung Softwareentwicklung I (IB)

Test zu Grundlagen der Programmierung Leitung: Michael Hahsler. 21. Juni 2004

Lesen Sie zuerst die Hinweise auf der folgenden Seite! Klausurort: Aufgabe Summe

II.4.2 Abstrakte Klassen und Interfaces - 1 -

Programmierung mit Threads in Java

Programmiermethodik 3. Klausur Lösung

1 Prozesse und Scheduling (12 Punkte)

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

Objektorientierte Programmierung Studiengang Medieninformatik

Klausur WS 2009/2010

Dr. Monika Meiler. Inhalt

Verteilte Systeme. 2. Die Client-Server-Beziehung und daraus resultierende Techniken. 2.2 Nebenläufigkeitstechniken in Java

Lesen Sie zuerst die Hinweise auf der folgenden Seite! Klausurort: Aufgabe Summe

Scheinklausur zur Vorlesung Praktische Informatik I. 12. November Punkteübersicht

Institut für Programmierung und Reaktive Systeme 6. Juli Programmieren II. Übungsklausur

Einführung in die Informatik 1

Synchronisation in Java. Invisible Web

Prüfung Softwareentwicklung I (IB)

Teil 2: Weitere Aspekte der Objektorientierung

Programmierkurs Java

5. Lesen Sie vor der Bearbeitung einer Aufgabe den gesamten Aufgabentext sorgfältig durch!

Klausur: Programiermethoden und Techniken

Musterlösungen zur Klausur Informatik 3

Transkript:

Vorname: Nachname: Matrikelnummer: Klausur Betriebssysteme 12.02.2013 Hinweise: 1. Beschriften Sie als erstes diese Seite mit Ihrem Namen, Vornamen und Ihrer Matrikelnummer (deutlich in Druckbuchstaben). 2. Die Klausur besteht aus 6 Aufgaben. Die Bearbeitungszeit beträgt 75 Minuten. 3. Verwenden Sie nur diese 9 Blätter, andere Blätter werden nicht berücksichtigt. Wenn die Vorderseiten nicht ausreichen, verwenden Sie zu jeder Aufgabe die Rückseite. Sollte auch dies nicht ausreichen, verwenden Sie die Zusatzblätter; dann sollten Sie vermerken, für welche Aufgabe Sie eine Lösung angeben. 4. Als Hilfsmittel sind erlaubt: ein Blatt mit eigener Zusammenfassung. Viel Erfolg! Aufgabe mögliche Punkte erreichte Punkte 1 10 2 10 3 10 4 10 5 10 6 10 Total 60 Note 1

1 Prozess, Zustände 10 Punkte 1. Grenzen Sie die Begriffe Programm und Prozess gegeneinander ab. 2. Welche Zustände kann ein Prozess annehmen und welche Zustandsübergänge sind möglich. Nennen Sie Beispiele für jeden Zustandsübergang. 3. Aus was besteht ein Prozess? 2

2 Threads und Synchronisation 10 Punkte 1. Welche Ausgabe erzeugt das nachfolgende Programm? class Even { private int n = 0; public int next() { // POST: next is always even ++n; try { Thread.sleep((long)(Math.random()*10)); catch(interruptedexception e) { ++n; return n; public class Test extends Thread { private Even e; public Test(Even e) { this.e = e; public void run() { for (int i = 1 ; i <= 1000; i++) { System.out.println(getName()+": " + e.next()); public static void main(string[] args) { Even e = new Even(); Test1 t1 = new Test(e); Test1 t2 = new Test(e); t1.start(); t2.start(); 2. Wie ist das Programm abzuändern, so dass die POST-Condition stets erfüllt ist? 3

3 Synchronisation 10 Punkte 1. Beschreiben Sie das Konzept der Semaphore. Geben Sie dazu eine Java-Klasse für Semaphore an. 2. Erläutern Sie das Konzept der Semaphore-Gruppen. 4

4 Speicherverwaltung - Uhr Seitenersetzung 10 Punkte Als Seitenersetzungsverfahren ist bei einem Betriebssystem Uhr Seitenersetzung implementiert. Zu einem Zeitpunkt sei das System gegeben durch folgende zyklische Liste von Seiten (1. Zahl Seitenrahmen; 2. Zahl Referenziertbit): Es treten Seitenfehler auf beim Zugriff auf die Seiten in der u.a. Reihenfolge: 1. Seite 4 2. Seite 5 3. Seite 3 Wie verändert sich die o.a. Liste nach jedem Schritt inklusive der Zwischenschritte? Erklären sie jeweils das Zustandekommen der einzelnen Schritte. 5

5 Deadlocks 10 Punkte 1. Deadlocks sollen erkannt werden. Gehen wir von einem System mit 7 Prozessen (A-G) und 6 Betriebsmitteln (a-f) aus. Die Betriebsmittelbelegungen und -anforderungen seien geben durch: a) A belegt a und fordert b an b) B belegt nichts und fordert c an c) C belegt nichts und fordert b an d) D belegt d und fordert b und c an e) E belegt c und fordert e an f) F belegt f und fordert b an g) G belegt e und fordert d an Befindet sich das System in einem Deadlock-Zustand, wenn ja, welche Prozesse sind daran beteiligt? Erläutern Sie die Antwort unter Zuhilfenahme des Betriebsmittelgraphen. 2. Betrachte Sie den Bankieralgorithmus für eine Betriebsmittelklasse zur Verhinderung von Deadlocks. Erklären Sie, wie erkannt wird, ob ein Zustand sicher ist, wenn ein Kunde einen Darlehensantrag stellt (=Betriebsmittel angefordert werden). 6

6 Sicherheit 10 Punkte Um eine Authentifizierung von Benutzern zu realisieren, werden häufig Passworte verwendet. Durch Brute-Force Angriffe können schlechte Passworte entschlüsselt werden. Erklären Sie die folgenden Lösungsansätze zur Abwehr solcher Angriffe: 1. Langsame Hash-Funktionen 2. Suppe versalzen 3. Datei /etc/shadow 7

Zusatzblatt 1 8

Zusatzblatt 2 9