Operating Systems
Course Code | Course Name | Hp | Programs | Student Portal |
---|---|---|---|---|
1DT020 | Operating Systems | 7.5 Hp | DIST, FRI, NÄT | Student Portal |
January 16, 2009
This page is created. It is currently under construction and will so be until the course starts in February 2009.
We will use the 8:th edition of the book. However, the 7:th edition can also be used (it may be hard to find the 8:th edition since it has just been printed). The price at Bokus.se is about 500kr for the 7:th edition - you may also want to check adlibris.se.
Overview
- Operating systems make computers easier to use and are responsible for the management of the available resources, i.e. how to efficiently, fairly, and securely allocate resources to programs. The purpose of this course is to make the student understand the main concepts underlying the design and implementation of operating systems. The topics covered include: processes and threads, interprocess communication and synchronization, deadlocks, scheduling, virtual memory and memory allocation, I/O systems, file systems, and protection.
- a first course in programming (eg. C or Java)
- algorithms and data structures
- computer architecture
- The course textbook is Operating System Concepts,8th edition by Avi Silberschatz, Peter Baer Galvin, and Greg Gagne (John Wiley & Sons Inc., 2008, ISBN 0-470-12872-0).
- Ivan Christoff ( , room 1252) is responsible for the lectures.
- Karl Marklund ( , room 1219) is responsible for the project and the labs.
- To pass the course, the student has to pass a written exam, and complete the 2 labs and the project. The exam will be closed book and is tentatively scheduled for May XX, 2009.
Course outline and schedule
Date | Activity | Lecture topic (tentative schedule) | Slides and audio | Reading |
---|---|---|---|---|
13/2 10-12, room 1146 | Lect. 1 | Introduction | pdf I1.mp3 I2.mp3 | ch 1-2 |
13/2 10-12, room 1146 | Lect. 2 | Processes and threads | ch 3-4 | |
13/2 10-12, room 1146 | Lect. 3 | CPU scheduling | ch 5 | |
13/2 13-14, room 1146 | Lab 1 | Instructions for Lab 1 | ||
13/2 14-17, room 1549D | Lab 1 | Operations on UNIX processes | ||
20/3 10-12, room 1212 | Lect. 4 | Synchronization | ch 6 | |
20/3 10-12, room 1212 | Lect. 5 | Synchronization | ch 6 | |
20/3 10-12, room 1212 | Lect. 6 | Deadlocks | ch 7 | |
20/3 13-14, room 1212 | Lab 2 | Instructions for Lab 2 | ||
20/3 14-17, room 1549D | Lab 2 | Process synchronization | ||
XX | Lect. 7 | Memory management | ch 8 | |
XX | Lect. 8 | Memory management | ch 9 | |
XX | Lect. 9 | File systems | ch 10-11 | |
XX | Lab 3 | Instructions for Lab 3 | ||
XX | Lab 3 | The UNIX File System | ||
XX | Lect. 10 | Protection | ch 14 | |
XX | Course Review | Solving an old exam + questions | ||
YY | Final Exam |
Labs
Lab 1: UNIX shell
Submission
The deadline is: 2009-02-XX 17:00 (submission in Ping Pong)
You will have to hand in your program for each of the 4 steps (only source programs). Note that for steps 1 and 2 you will also have to give your answers to the questions in the lab instructions.
Lab 2: Process synchronization
Submission
The deadline is: 2009-03-XX 17:00 (submission in Ping Pong)
Lab 3: The UNIX File System
Submission of your work
The deadline is: 2009-06-08 17:00 (submission in Ping Pong)
You will have to hand in answers to the questions and your lsnode.c program.