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
Datum | Referent | Titel | Quelle |
---|---|---|---|
20.10.2008 |
Gerd Liefländer |
Introduction | |
22.10.2008 |
Philipp Kupferschmied |
Introduction to Programming Assignments | |
27.10.2008 |
Gerd Liefländer |
System Overview | |
29.10.2008 |
Gerd Liefländer |
System Structures | |
03.11.2008 |
Gerd Liefländer |
Activities | |
05.11.2008 |
Gerd Liefländer |
Threads (1) | |
10.11.2008 |
Gerd Liefländer |
Threads (2) | |
12.11.2008 |
Gerd Liefländer |
Thread Switching | |
17.11.2008 |
Gerd Liefländer |
Thread States, Dispatching | |
19.11.2008 |
Gerd Liefländer |
Coordination (1) | |
24.11.2008 |
Gerd Liefländer |
Coordination (2) - Mutual Exclusion (1) | |
26.11.2008 |
Gerd Liefländer |
Mutual Exclusion (2) | |
01.12.2008 |
Gerd Liefländer |
Message Passing | |
03.12.2008 |
Sven Krohlas |
Windows Thread States | |
03.12.2008 |
Philipp Kupferschmied |
Thread Switch and IPC in L4 | |
08.12.2008 |
Frank Bellosa |
Scheduling (1) | |
10.12.2008 |
Frank Bellosa |
Scheduling continued | |
15.12.2008 |
Frank Bellosa |
Scheduling continued | |
17.12.2008 |
Gerd Liefländer |
Scheduling (2) | |
22.12.2008 |
Gerd Liefländer |
Priority Inversion | |
07.01.2009 |
Gerd Liefländer |
Deadlocks | |
12.01.2009 |
Gerd Liefländer |
Memory Management | |
14.01.2009 |
Gerd Liefländer |
Address Spaces | |
19.01.2009 |
Gerd Liefländer |
Virtual Memory (1) | |
21.01.2009 |
Gerd Liefländer |
Virtual Memory (2) | |
26.01.2009 |
Gerd Liefländer |
I/O Management (1) | |
28.01.2009 |
Gerd Liefländer |
I/O Management (2) | |
02.02.2009 |
Gerd Liefländer |
Files and File Management | |
04.02.2009 |
Gerd Liefländer |
File System | |
09.02.2009 |
Gerd Liefländer |
Example File Systems | |
11.02.2009 |
Gerd Liefländer |
Linux | |
11.02.2009 |
Gerd Liefländer |
Summary |
Author | Title | Source |
---|---|---|
Gerd Liefländer |
History of Operating Systems | |
Gerd Liefländer |
Hardware (P)Review |
Lecture Notes about "System Architecture" (In German)
Kapitel 01 | Organisation und Einführung | |
Kapitel 02 | Hardwareüberblick | |
Kapitel 03 | Überblick über Systeme | |
Kapitel 04 | Tasks, Prozesse, Threads | |
Kapitel 05 | Threadwechsel (Thread Switch), Threadzustände (Thread States) | |
Kapitel 06 | Nebenläufigkeit, Synchronisation, Wechselseitiger Ausschluss | |
Kapitel 07 | Kommunikation | |
Kapitel 08 | Verklemmungen | |
Kapitel 09 | Planung (Scheduling) | |
Kapitel 10 | Prioritätsinversion | |
Kapitel 11 | Speicherverwaltung | |
Kapitel 12 | Adressraumverwaltung | |
Kapitel 13 | Virtueller Speicher | |
Kapitel 14 | Ein-/Ausgabesubsystem | |
Kapitel 15 | Dateien und Dateisystem |
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. |