System Architecture

  • Type: Lecture
  • Chair: System Architecture
  • Semester: WT 2008/2009
  • Place:

    Monday and Wednesday: Hörsaal am Fasanengarten

  • Time:

    Monday 9.45 - 11.15, Wednesday 14.00 - 15.30

  • Start: 20.10.2008
  • Lecturer:

    Frank Bellosa, Gerd Liefländer

  • SWS: 4
  • ECTS: 8 (Tutorial inclusively)
  • Lv-No.: 24071
Vorlesung Systemarchitektur WS 2008/2009
Datum Referent Titel Quelle

20.10.2008

Gerd Liefländer

pdf, additional slides

22.10.2008

Philipp Kupferschmied

pdf

27.10.2008

Gerd Liefländer

pdf, additional slides

29.10.2008

Gerd Liefländer

pdf, additional slides

03.11.2008

Gerd Liefländer

pdf, additional slides

05.11.2008

Gerd Liefländer

pdf

10.11.2008

Gerd Liefländer

additional slides

12.11.2008

Gerd Liefländer

pdf

17.11.2008

Gerd Liefländer

pdf

19.11.2008

Gerd Liefländer

pdf

24.11.2008

Gerd Liefländer

pdf

26.11.2008

Gerd Liefländer

additional slides

01.12.2008

Gerd Liefländer

pdf

03.12.2008

Sven Krohlas

pdf

03.12.2008

Philipp Kupferschmied

pdf

08.12.2008

Frank Bellosa

pdf

10.12.2008

Frank Bellosa

15.12.2008

Frank Bellosa

17.12.2008

Gerd Liefländer

pdf

22.12.2008

Gerd Liefländer

pdf

07.01.2009

Gerd Liefländer

pdf

12.01.2009

Gerd Liefländer

pdf

14.01.2009

Gerd Liefländer

pdf

19.01.2009

Gerd Liefländer

pdf

21.01.2009

Gerd Liefländer

pdf

26.01.2009

Gerd Liefländer

pdf

28.01.2009

Gerd Liefländer

pdf

02.02.2009

Gerd Liefländer

pdf

04.02.2009

Gerd Liefländer

pdf

09.02.2009

Gerd Liefländer

pdf

11.02.2009

Gerd Liefländer

pdf

11.02.2009

Gerd Liefländer

pdf

To prepare for the course
Author Title Source

Gerd Liefländer

pdf

Gerd Liefländer

pdf

Lecture Notes about "System Architecture" (In German)

Author: Gerd Liefländer

 Kapitel 01  Organisation und Einführung  pdf 
 Kapitel 02  Hardwareüberblick  pdf
 Kapitel 03  Überblick über Systeme  pdf
 Kapitel 04  Tasks, Prozesse, Threads  pdf
 Kapitel 05  Threadwechsel (Thread Switch), Threadzustände (Thread States)  pdf
 Kapitel 06  Nebenläufigkeit, Synchronisation, Wechselseitiger Ausschluss  pdf
 Kapitel 07  Kommunikation  pdf
 Kapitel 08  Verklemmungen  pdf
 Kapitel 09  Planung (Scheduling)  pdf
 Kapitel 10  Prioritätsinversion  pdf
 Kapitel 11  Speicherverwaltung  pdf
 Kapitel 12  Adressraumverwaltung  pdf
 Kapitel 13  Virtueller Speicher  pdf
 Kapitel 14  Ein-/Ausgabesubsystem  pdf
 Kapitel 15  Dateien und Dateisystem  pdf

Literature for the lecture "System Architecture"

 Author(s)  Title / Publisher / Year
 Bacon, J., Harris, T.  Operating Systems, Concurrent and Distributed Software Design, Addison Wesley, 2003
 Nehmer, J., Sturm, P.  Systemsoftware: Grundlagen moderner Betriebssysteme, dpunkt.verlag, 2001
 Silberschatz, et al.  Operating System Concepts, John Wiley a. Sons, 8th ed., 2008
 Stallings, W.  Operating Systems: Internals and Design Principles, Prentice Hall, 5th ed., 2005
 Tanenbaum, A.  Modern Operating Systems, Prentice Hall, 3rd ed., 2007
 Tanenbaum, A.  Computer Networks, Prentice Hall, 4th ed., 2003
 Wettstein, H.  Systemarchitektur, Hanser Verlag, 1993
 Leffler, S.  The Design and Implementation of the 4.3BSD Unix Operating System, Addison-Wesley, 1996
 Solomon, D.  Inside Windows NT, Microsoft Press, 2nd ed., 1998
 Davis, W., Rajkumar, T.M.  Operating Systems: A Systematic View, Addison Wesley, 6th ed. 2004
 Hennessey, J.L., Paterson, D.A.  Computer Architecture: A Quantitative Approach, Morgan Kaufmann, 3rd ed., 2003
 Liedtke, J.  Caches Versus Object Allocation, In 5th IEEE International Workshop on Object-Orientation in Operating Systems (IWOOOS), Seattle, WA, October 1996 (pdf)
 Liedtke, J.  Potential Interdependencies between Caches, TLBs and Memory Management Schemes, Draft, GMD, 1995 (pdf)
 Tanenbaum, A.  A Comparison of Three Microkernels, The Journal of Supercomputing, 9, 7-22 (1995)
 Baker, T.P.  A Stack-Based Resource Allocation Policy for Realtime Processes, Florida State University, USA
(Presented by Tsai Lin-Jiun, National Taiwan University EE/CSIE) (pdf)

Contents

In the course System Architecture we'll present various concepts, how to design and implement local systems, according to various objectives. Furthermore we'll discuss in short performance prediction and analysis.
The lecture and the exercises will cover all kinds of software systems, especially operating systems and basic application systems, beginning with small pervasive systems (e.g. a coffee machine) and ending up with highly complex information systems like an airline reservation system.
In all these software systems, though very different according to size and functionality, we have to solve some fundamental conceptual problems arising in nearly every system. The first big point in this lecture will be: "How to establish concurrent activities and how to handle concurrency problems". The concept thread will give the right answer. Another major issue will be: "How to protect concurrent activities against each other". The concept address space will provide the corresponding means. Another interesting topic will be: "How to store information for a longer period of time". The well known concept of files and file systems handle all problems related to this topic. Secure and efficient interactions of singular components are necessary for each successful system design. This course is characterized by the fact that we want to evaluate the freedom of design of a system architect.
In the lecture we will present the following topics: processes (threads), address space and domains, interactions in form of synchronization (event, semaphore, critical region, monitor), communication (message, rpc) and cooperation on common data (semaphore, shared memory), temporary and persistent data (buffers, files), methods of resource management (physical, virtual resources), some examples of structured systems (layered systems, microkernel systems, realtime systems). In some of these topics scheduling problems will be discussed, e.g. processor scheduling, disk scheduling etc.