1 © 2008 universität karlsruhe (th), system architecture group basispraktikum: systemarchitektur 1...

22
1 © 2008 Universität Karlsruhe (TH), System Architecture Group Basispraktikum: Systemarchitektur 1 Einführung WS 2008 21. Oktober 2008 Frank Bellosa, Gerd Liefländer, Philipp Kupferschmied

Upload: alf-geier

Post on 05-Apr-2015

105 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: 1 © 2008 Universität Karlsruhe (TH), System Architecture Group Basispraktikum: Systemarchitektur 1 Einführung WS 2008 21. Oktober 2008 Frank Bellosa, Gerd

1© 2008 Universität Karlsruhe (TH), System Architecture Group

Basispraktikum:Systemarchitektur 1

EinführungWS 2008

21. Oktober 2008Frank Bellosa, Gerd Liefländer,

Philipp Kupferschmied

Page 2: 1 © 2008 Universität Karlsruhe (TH), System Architecture Group Basispraktikum: Systemarchitektur 1 Einführung WS 2008 21. Oktober 2008 Frank Bellosa, Gerd

© 2007 Universität Karlsruhe(TH), System Architecture Group 2

Übersicht

Organisation

Literatur

Versuchsübersicht

Teambildung

Arbeitsumgebung

Einführung in BS + Linux

Page 3: 1 © 2008 Universität Karlsruhe (TH), System Architecture Group Basispraktikum: Systemarchitektur 1 Einführung WS 2008 21. Oktober 2008 Frank Bellosa, Gerd

© 2007 Universität Karlsruhe(TH), System Architecture Group 3

Was ist ein Basispraktikum?

Warum kommen Sie ausgerechnet zu uns?

Was ist Ihre Erwartungshaltung?

Basispraktikum?

Organisation

Page 4: 1 © 2008 Universität Karlsruhe (TH), System Architecture Group Basispraktikum: Systemarchitektur 1 Einführung WS 2008 21. Oktober 2008 Frank Bellosa, Gerd

© 2007 Universität Karlsruhe(TH), System Architecture Group 4

Basispraktikum

Forum für: Erfahrung mit systemnaher Programmierung

Programmieren von parallelen Programmen Concurrency & Coordination

Parallelitätsprobleme Race Conditions (Wettlaufsituationen) Exklusive Ressourcennutzung Prioritätsumkehr Umgang mit gemeinsamen Ressourcen Ausnahmen (exceptions)

Organisation

Page 5: 1 © 2008 Universität Karlsruhe (TH), System Architecture Group Basispraktikum: Systemarchitektur 1 Einführung WS 2008 21. Oktober 2008 Frank Bellosa, Gerd

© 2007 Universität Karlsruhe(TH), System Architecture Group 5

Unsere Erwartungshaltung:

Interesse am Stoff

Hohe Eigeninitiative

Anwesenheit bei jedem Besprechungstermin

Anwesenheitsliste

Dienstag: 8:00 – 9:30 Uhr

Organisation

Page 6: 1 © 2008 Universität Karlsruhe (TH), System Architecture Group Basispraktikum: Systemarchitektur 1 Einführung WS 2008 21. Oktober 2008 Frank Bellosa, Gerd

© 2007 Universität Karlsruhe(TH), System Architecture Group 6

Besprechungstermine WS 2008/09

Di. 21. 10. Di. 28. 10. Di. 4.11. Di. 11. 11.

Di. 18. 11. Di. 25. 11. Di. 2. 12. Di 9. 12.

Di. 16. 12. Di. 6. 1. Di. 13. 1.

Di. 20. 1. Di. 27. 1. Di. 3. 2. Di. 10. 2.

Di. 23. 12.

Page 7: 1 © 2008 Universität Karlsruhe (TH), System Architecture Group Basispraktikum: Systemarchitektur 1 Einführung WS 2008 21. Oktober 2008 Frank Bellosa, Gerd

© 2007 Universität Karlsruhe(TH), System Architecture Group 7

Versuchsdurchführung

Rechtzeitig anfangen

Rechtzeitig anfangen

Rechtzeitig anfangen Aufgabenstellung im Team verstehen

Offene Fragen mit eurem Tutor abklären

Gründliches Konzept erarbeiten

Wechselseitiges Implementieren & Testen

Organisation

Page 8: 1 © 2008 Universität Karlsruhe (TH), System Architecture Group Basispraktikum: Systemarchitektur 1 Einführung WS 2008 21. Oktober 2008 Frank Bellosa, Gerd

© 2007 Universität Karlsruhe(TH), System Architecture Group 8

Versuchsdurchführung

Versuchsprotokoll anfertigen!!! Fragen beantworten und Prognosen abgeben Design- und Implementierungsfehler festhalten In der 2. Woche implementieren + testen

Fristgerechtes Vorführen der Experimente nach Terminvereinbarung mit Tutor(in)

Fristgerechtes Vorführen

Fristgerechtes Vorführen

Organisation

Page 9: 1 © 2008 Universität Karlsruhe (TH), System Architecture Group Basispraktikum: Systemarchitektur 1 Einführung WS 2008 21. Oktober 2008 Frank Bellosa, Gerd

© 2007 Universität Karlsruhe(TH), System Architecture Group 9

Veranstalter:

Gerd Lieflä[email protected].: 608-3837

Frank [email protected]

Philipp [email protected]

Organisatoren

Tutoren:

Dominik Bruhn

Atanas [email protected] Jonathan Dimond

Johannes Weiß

Organisation

Page 10: 1 © 2008 Universität Karlsruhe (TH), System Architecture Group Basispraktikum: Systemarchitektur 1 Einführung WS 2008 21. Oktober 2008 Frank Bellosa, Gerd

© 2007 Universität Karlsruhe(TH), System Architecture Group 10

Literatur

Literatur

Bacon, J.: Operating Systems, Addison-Wesley, 2004

Silberschatz, A.: Operating Systems Concepts, 2005

Tanenbaum, A.: Modern Operating Systems, Prentice Hall, 2002

Bovet: Understanding the Linux Kernel

Beck: Linux: Kernel Programming

www Some “Online Java Tutorials”

Page 11: 1 © 2008 Universität Karlsruhe (TH), System Architecture Group Basispraktikum: Systemarchitektur 1 Einführung WS 2008 21. Oktober 2008 Frank Bellosa, Gerd

© 2007 Universität Karlsruhe(TH), System Architecture Group 11

Experiments

Versuche

Versuch 0: Thread-Erzeugung

Versuch 1: Thread-Umschaltung

Versuch 2a: Kooperation

Versuch 2b: Semaphore

Versuch 2c: Erzeuger/Verbraucher

Versuch 2d: Leser-/Schreiber

Versuch 2e: Kommunikation

Page 12: 1 © 2008 Universität Karlsruhe (TH), System Architecture Group Basispraktikum: Systemarchitektur 1 Einführung WS 2008 21. Oktober 2008 Frank Bellosa, Gerd

© 2007 Universität Karlsruhe(TH), System Architecture Group 12

Experiments

Versuch1 Threadumschaltung

„Threadkontrollblöcke“ (TCB) zwecks Manipulation der Threads

TCB Attribute

Emulierung von Umschaltstrategien auf Anwenderebene Zyklische Strategie Multilevel-Feedback Bevorzugung E/A intensiver Threads ...

Page 13: 1 © 2008 Universität Karlsruhe (TH), System Architecture Group Basispraktikum: Systemarchitektur 1 Einführung WS 2008 21. Oktober 2008 Frank Bellosa, Gerd

© 2007 Universität Karlsruhe(TH), System Architecture Group 13

Lösung des Inkonsistenzproblems beim Zugriff auf gemeinsame Daten durch 2 Threads mittelsdes Monitorkonzepts von Java.

Thread 1 Thread 2

Experiments

Kooperation

Page 14: 1 © 2008 Universität Karlsruhe (TH), System Architecture Group Basispraktikum: Systemarchitektur 1 Einführung WS 2008 21. Oktober 2008 Frank Bellosa, Gerd

© 2007 Universität Karlsruhe(TH), System Architecture Group 14

Erzeuger legt ein Produkt im Puffer ab, das vom Verbraucher abgeholt werden kann.

...

producer consumer

Puffer

Experiments

Erzeuger-Verbraucherproblem

Kann es da jemals Parallelitätsprobleme geben?

Page 15: 1 © 2008 Universität Karlsruhe (TH), System Architecture Group Basispraktikum: Systemarchitektur 1 Einführung WS 2008 21. Oktober 2008 Frank Bellosa, Gerd

© 2007 Universität Karlsruhe(TH), System Architecture Group 15

Experiments

Philosophenproblem

Page 16: 1 © 2008 Universität Karlsruhe (TH), System Architecture Group Basispraktikum: Systemarchitektur 1 Einführung WS 2008 21. Oktober 2008 Frank Bellosa, Gerd

© 2007 Universität Karlsruhe(TH), System Architecture Group 16

Betriebsmittelprobleme

Schottenrestaurant Santa Claus Rohrpost Bibliothek Affenfelsen

Page 17: 1 © 2008 Universität Karlsruhe (TH), System Architecture Group Basispraktikum: Systemarchitektur 1 Einführung WS 2008 21. Oktober 2008 Frank Bellosa, Gerd

© 2007 Universität Karlsruhe(TH), System Architecture Group 17

The northern and southern monkeys have to eat and drink,but most of the time they like to play. a small rope between the two rocks, but also hungry crocodiles below the rope.Rope can carry up to m≥1 monkeys, concurrentcrossing in both direction is not possible.

Experiments

„Monkeys on the Rocks“

Page 18: 1 © 2008 Universität Karlsruhe (TH), System Architecture Group Basispraktikum: Systemarchitektur 1 Einführung WS 2008 21. Oktober 2008 Frank Bellosa, Gerd

© 2007 Universität Karlsruhe(TH), System Architecture Group 18

Simulationen

Fahrstuhl Durlacher Tor Kreuzungsbahnhof

Page 19: 1 © 2008 Universität Karlsruhe (TH), System Architecture Group Basispraktikum: Systemarchitektur 1 Einführung WS 2008 21. Oktober 2008 Frank Bellosa, Gerd

© 2007 Universität Karlsruhe(TH), System Architecture Group 19

Wer arbeitet mit wem im Team?

Teambildung

Size of teams: n = 2

Teams wsgr01 … wsgr25

Login: wsgr

see www-page

http://i30www.ira.uka.de/teaching/courses/practicalwork.php?courseid=174&lid=en

Page 20: 1 © 2008 Universität Karlsruhe (TH), System Architecture Group Basispraktikum: Systemarchitektur 1 Einführung WS 2008 21. Oktober 2008 Frank Bellosa, Gerd

© 2007 Universität Karlsruhe(TH), System Architecture Group 20

Arbeitsumgebung

Versuchsrechner

Implementierungssprache: Java

Entwicklungstool: Eclipse

Vorführung der Versuchsergebnisse für Versuch 0 auf Linux-Rechnern, z.Z. 12 im Rechnerlabor 149 oder auf eigenem Rechner

Spätere Versuche dann im Pool der ATIS oder im Rechnerlabor

Page 21: 1 © 2008 Universität Karlsruhe (TH), System Architecture Group Basispraktikum: Systemarchitektur 1 Einführung WS 2008 21. Oktober 2008 Frank Bellosa, Gerd

© 2007 Universität Karlsruhe(TH), System Architecture Group 21

Besprechungstermine im HS-102

Vorbereitung der nächsten Versuche Siehe Systemstruktur, Tasks, Prozesse, Threads

(im Anschluss) Scheduling ...

Nachbereitung der vergangenen Versuche Ausgewählte Teams tragen ihre Resultate vor

Diskussion sonstiger versuchsnaher Themen

Fragen?

Page 22: 1 © 2008 Universität Karlsruhe (TH), System Architecture Group Basispraktikum: Systemarchitektur 1 Einführung WS 2008 21. Oktober 2008 Frank Bellosa, Gerd

© 2007 Universität Karlsruhe(TH), System Architecture Group 22

Versuch 0: Thread Erzeugung

Erzeugen

Abwickeln

Identifizieren

Beenden

Parametrisierung der Java-Applikation

Einfache Visualisierung von Threadabwicklungen

ABGABE Versuch 0:

7. November 2008, 15:00 Uhr (inklusive Versuchsprotokoll)