Computer Systems DV1 (10p), Fall 2005
The course consists of two parts: an introduction to operating systems (5 points) and a project (5 points). Part 1 covers: algorithms for scheduling of the CPU, methods for synchronization of concurrently executing processes and for interprocess communication, techniques for memory management, and methods for protection. The UNIX operating system is used as a case study. The objective for Part 2 is to implement a simple operating system.
Part 1 of the course covers essential aspects of operating systems.
Part 2 is a project where you implement a simple operating system.
The course is given at B-level in Computer Science.
Prerequisites: Algorithms and Data Structures and Computer Architecture.
Course start and registration: September 2 at 13.15 in room 1311.
Part 1: There are three labs. A written exam will be given on October 20. To pass Part 1 one has to pass the labs and the exam.
The official course plan can be found at http://dbteknat.its.uu.se/.
The schedule is shown at http://www.it.uu.se/edu/schedule/H05/DV2_p1.pdf. The lectures of the course will cover the following topics:
- 01 Introduction and registration (Ivan)
- 02 Processes (Ivan)
- 03 Scheduling (Ivan)
- 04 Lab instruction - Lab 1 (John)
- 05 Synchronization (Ivan)
- L1 Lab 1 (John)
- 06 Synchronization (Ivan)
- 07 Deadlocks (Ivan)
- 08 Lab instruction - Lab 2 (John)
- 09 Memory allocation (Ivan)
- L2 Lab 2 (John)
- 10 Paging and segmentation (Ivan)
- 11 Virtual memory (Ivan)
- 12 Lab instruction - Lab 3 (John)
- 13 File- and I/O-systems (Ivan)
- L3 Lab 3 (John)
- 14 Protection and security (Ivan)
- 15 Problem session (Ivan)
- FE Final Exam (October 20)
The course book is: A. Silberschatz, P.B. Galvin and G. Gagne. Operating System Concepts. 7th edition. John Wiley & Sons, 2004.
In addition, lab instructions will be distributed. Students not well versed in C may find it useful to purchase a C-book, e.g., The C Programming Language by Kernighan and Ritchie.