Chalmers University of Technology and Gothenburg University, Computer Science and Engineering Department

Operating Systems

EDA092, DIT 400; 7.5 hp-credit
Period 3 (Jan-March) 2011

(http://www.cse.chalmers.se/edu/course/EDA092/)
(Please reload this page regularly to get the current information)


Course Contents and learning goals


The course provides an introduction to the design and implementation of operating systems. Topics covered include: concurrent processes, resource management, deadlocks, memory management, virtual memory, processor scheduling, disk scheduling, file systems, distributed file systems, micro kernels, multiprocessor operating system issues, case-studies. The labs place emphasis on hands-on experience with operating systems design. Students practice by using and constructing essential modules in operating systems, such as multiprogramming, memory management, implementation of unix-like shell functionality.
After successful completion of the course students will be able to demonstrate knowledge and understanding of:
- The core functionality of modern operating systems.
- Key concepts and algorithms in operating system implementations.
- Implementation of simple OS components.
The students will also be able to:
- Write programs that interface to the operating system at the system-call level.
- Implement a piece of system-level code.

PAGE CONTENTS

News |
Teachers, contact |
Course literature |
Slides, Notes |
Assignments |
Schedule|
Past exams

NEWS

April 5: The exams will soon be reported to LADOC and can be inspected on Wednesday 11-04-13, 12.00-12.45 in room 5128.
Mar 14: Due to a technical problem, submissions to the Fire system for lab 2.2 appear as submitted for one person only (not the group). This is not a problem, the submission counts for the whole group and will be treated as such.
Mar 7: Notes and hints for the 5th exercise set (Synchronization and Resource Allocation) can be found here. It is a protected file and the password is the same with the previous sets.
Mar 4: On Thu 10/03, 17:00-21:00 there is going to be an extra lab session (assignments 1 and 2). No booking needed.
Mar 2: Notes and hints for the exercise solutions are at this file (for 3 sets as of today). It is a protected file and you can get the password form the instructors
Feb 25: The instructions on how to check the hand_in of lab2 have been modified. After hand_in, just check the contents of the simulation.run file. An updated version of the 'Programming Assignment 2' pdf is available at the lab homepage.
Feb 14: There has been some small change in the schedule for the coming 2 weeks. Please check Schedule below
Feb 14: Please try to book early timeslots, too; i.e. do not defer until later, as there can be congestion in the late timeslots and there is risk to no be able to finsih in time. Also, note, it is best to directly contact the responsible person for each of the 2 assignments directly; cf info at the Assignments section.
Feb 9: Booking links for timeslots of lab 2 can be found in the labs page.

Feb 3: Attention! - The lab slot on 110224 has limited capacity, please book your slot for week 6 (Tue or Thu) as early as possible (cf labs page).
Jan 27: While you should use your normal CID account name to login to the laboratory computer system, the name of your group as assigned in the Fire system is used to identify a protected (non-readable to other groups) area on the file system where you can store your source code files for the laboratory exercise. The path to the group area is (where 'os_xxx' is your six-character group name):
/chalmers/groups/cab_ce_edu_2011_eda092_os_xxx_-

Jan 20: Booking links for timeslots of lab 1 can be found in the labs page.

Jan 18: Student representatives contact info available. See Teachers, contact. Please contact them (or the teachers directly if you prefer) for any feedback regarding the course.

Dec 06: Page initiated for 2011

Teachers, Contact

Arne Dahlberg - dahlberg[a]chalmers... (lecturer, examiner)
Marina Papatriantafilou - ptrianta[a]chalmers... (lecturer, examiner)
Giorgios Georgiadis - georgiog[a]chalmers... (exercises, lab assistent)
Negin Nejad - negin[a]chalmers... (exercises, lab assistent)
Dmitry Knyaginin - dmitry.knyaginin[a]chalmers... (exercises, lab assistent)
Zhang Fu - zhafu[a]chalmers... (exercises, lab assistent)

Student representatives/feedback team: Ola Jeppsson (olaj[a]student.chalmers....) Ingemar Aadahl (adahli[a]student....)


Course literature

The main course text book is
Abraham Silberschatz, Peter Baer Galvin and Greg Gagne, Operating System Concepts,  8/e, John Wiley & Sons, Inc., 2008 (Cremona and Chalmers Lib.). Complementary on-line contents should be consulted in case your edition does not cover enough of the issues handled at the lectures.

Slides on the book are available from the link below.
These are not the slides that are used in this course (the latter are found via this link).

Additional course documents

Exercises can be found here.

For past notes and material of the course http://www.cse.chalmers.se/edu/year/2010/course/EDA092/

Book reading instructions


Assignments "Laborations"


Schedule

Schedule-- watch for updates in times, due to e.g. travelling reasons. There will be an update of the table below and a note in the "News" section of the page if this happens.

CourseWeek
Monday
13-15 Room HB2
Wednesday
13-15 Room HB2
Thursday
10-12 Room HB2
Friday
13-15 Room HA3
1:Jan17-21
L1. Intro, Comp. and OS Organization (MP) Tutorial to programming in C (NF) L2. Comp. & OS Organization (cont) (MP) L3. Unix processes, I/O, pipes (AD)
2:jan24-28
L4. Unix functionality: Shell, Threads, Signals (AD) Discussion on the first project assignment (ZF) L5. Processes, Threads; Intro to multiprocessor and multicore systems (MP) L6. Memory Management (MP)
3:jan31-feb4
L7. Virtual Memory (MP) Exercises (vmem, meman) (D) L8. Scheduling: uniprocessor, multiprocessor, RT sys (MP) L9. Synchronization in shared memory and message-passing communication systems(MP)
4:Feb7-11
-- (no class, CHARM days) L10. Case study in Virtual Memory (AD) L11. Disk memory (AD)
5:feb14-18
Discussion on 2nd prg-assignment (GG) Exercises (scheduling) (N) L12. File Systems (AD) L13. IO systems, Sockets (AD)
6:feb21-25
L14. Distributed File Systems (AD) Exercises (IO, fsys, protection (ZF)) L15. Distributed File Systems (AD) L16. Virtual Machines (AD)
7:feb28-mar4
L17. Synchronization -continuation from L9(MP) L18. Resource allocation and Deadlocks (MP) Exercises (RA, synch) (GG) --
8:Mar7-11
-- L19. selected topics in multiprocessor, distributed, embedded OS (MP) -- --
9
exam week
EXAM: 15 march, 8.30-12.30 M building EXAM: 15 march, 8.30-12.30 M building EXAM: 15 march, 8.30-12.30 M building EXAM: 15 march, 8.30-12.30 M building

Slides/Notes

Many of the slides are adaptations of the slides available by the course main textbook.

For past slides and notes, look here at the previous year's web page for course. This year's slides may change but many are similar.


Past exams


Additional voluntary reading:

Other useful textbooks (Chalmers Library):


Other Interesting Pointers

 
December 13 2010