This course
is intended as an introductory course into Operating Systems for Computer
Science bachelor students. The course contents can be regarded as fairly
traditional. The used text is by Silberschatz, Galvin
and Gagne, Operating System Concepts, 8th
edition, and is
obligatory. This means that the lecturers assume that you have and use the book
and that we assume that exercises in the book have been done. The lectures will
not just follow the book but provide additional points of view and background
knowledge.
Examples
will be taken from the book and from other literature and refer often to Linux
and Windows. In many cases we will also use POSIX, the portable operating
systems interface. For these examples we will use mainly C as the language. For
other examples we use an ad-hoc Pascal-like language to express our algorithms.
For the practical we use C and a Linux operating system that you can download
from our site. We expect that you have access to an installed Linux system,
including sources, and that you know how to program.
There will
be 16 weeks of lectures, of 2 hours each. In addition there are 2 hours of
practical. For the first block we also have 2 hours of instruction. For the
second block these are replaced by one hour of open consultation (‘vragenuur’).
In the first week we spend the time to get acquainted with the Linux operating
system.
The purpose
of the instructions is to discuss exercises from the book and from the site,
and to provide you with information about the practical. Typically, exercises
and lecturing are somewhat mixed during the instruction sessions as indicated
above. Passing the course is through a final exam, a series of practical
exercises for which a report has to be handed in and writing an essay on a
research paper.
The
scheduling is distributed over two blocks, both concluded with an exam. Exam
retries will always be separate for the two blocks. The essay topics become
available at the beginning of October. The essay deadline is January 14, 2011.
There are
two written exams, a practical and an essay. The written exam will start with a
collection of short knowledge oriented questions. After that has been handed
in, the book, and the slides may be used with the remainder of the exam. It is not
allowed to use anything else, including copies of previous exams and
solutions to exercises. You will find example examinations plus solutions at
the bottom of this page.
The final
grade is determined as (2w1 + 2w2 + 2p + e)/7, where w1 and w2 are the grades
for the written exams, p is the grade for the practical and e the grade for the
essay.
The retry
for the first block is in January, together with the exam of the second block.
The retry for the second block is in the examination period of the second
semester. The exam in January therefore consists of two parts: a retry of block
1 and the exam of block 2. The structure is the same: the first part
consists of knowledge questions, the second part of exercises. You may use the
slides and the book with the second part, so you can start with it only after
you have handed in the first part(s).
The details
of the essay assignment are found here. The
deadline for the essay is given on Peach. Read
the instructions carefully; not preparing the essay according to the
instructions will certainly lead to a low grade.
Lectures: see the schedule on owinfo. The
lectures are given Tuesdays 16.45-17.30 (I did not choose this….) The slides
will become available incrementally. After presentation on the lecture they
will not be altered anymore; up until that moment, they may be modified.
See the
schedule below (it will be growing) for details.
Block 1 – chapters 1-7 [execept 3.6.2, to be announced]
Block 2 – chapters 5,8-13
·
chapter
8, memory management
·
chapter
9, memory management
·
chapter
5+ part of chapter 6, Kernel issues +
scheduling
·
chapter
10, File systems
·
chapter
11, Implementing filesystems
·
chapter
13, Input / output, second
part
There are a
number of good books on the subject, there are journals devoted to it and the
Internet hosts many relevant papers. There is a tendency for texts to be rather
bulky though. We selected a concise book with a good level of abstraction and a
good amount of detail. Nevertheless you may benefit from studying things from a
different point of view. For the lectures and the examination we assume that
you have studied the selected parts of the obligatory text.
Operating
systems courses and presentations like ours necessarily are a bit high-level in
the sense that the detailed operation of a real operating system is not
discussed but rather the general issues. We list here some links that provide
much more details on UNIX-related operating systems.
·
www.minix3.org, and the correspondent book:
A.S. Tanenbaum, Alber S. Woodhull, Operatings Systems, Design and
Implementation – The MINIX book, Pearson Education, 2006, ISBN
0-13-0-13-142938-9
o
presents the
implementation of MINIX3, a microkernel, with a codebase of less that 30k
lines. Code is included.
·
http://www.tldp.org/guides.html, the
Linux Documentation Project with references to the kernel.
·
http://www.cse.unsw.edu.au/~cs9242/03/lectures/lect11.pdf,
a discussion and literature comparison of multi-processor and locking.
·
http://www.xml.com/ldd/chapter/book/,
is an online book on how to write Linux modules and device drivers. While doing
so it gives a comprehensive discussion on how to deal with interrupts, in
chapter 9.
Notice that
some of these examinations are from the older versions of the course. They are,
however, indicative. The current course covers more material since 2008. Note
that you cannot bring these exam documents to the examination!
Results
These are the results to date. For some students the boundary conditions
on the grades (5.5 for P and 6 for E) turn out to be close to the edge. I propose
they contact us.
ID nr. |
A1 |
A2 |
B2 |
B1 |
Assignments |
Essays |
Eind |
Afgerond |
578915 |
3,8 |
|
|
|
3,4 |
0 |
2,057143 |
NV |
584638 |
1,25 |
|
|
|
7 |
8 |
3,5 |
NV |
592621 |
6,5 |
|
|
|
8,4 |
8 |
5,4 |
NV |
598038 |
6,75 |
|
|
|
8,4 |
9 |
5,614286 |
NV |
608553 |
5,4 |
|
|
4,25 |
6,6 |
8 |
5,785714 |
6 |
619251 |
5,75 |
6,5 |
|
7,7 |
8 |
8,5 |
7,557143 |
8 |
628297 |
9 |
|
|
7,8 |
8,6 |
9 |
8,542857 |
9 |
628731 |
6,1 |
|
|
7,25 |
6,6 |
8,5 |
6,914286 |
7 |
630291 |
8,5 |
|
|
6,6 |
5,2 |
8 |
6,942857 |
5 |
637586 |
6 |
1 |
|
3,4 |
8,8 |
7 |
6,2 |
6 |
651077 |
5,75 |
|
|
5,7 |
7 |
7,5 |
6,342857 |
6 |
653842 |
6,4 |
|
|
3,35 |
8,6 |
7,5 |
6,314286 |
6 |
654113 |
6,5 |
|
|
5,7 |
8,4 |
8,5 |
7,1 |
7 |
654428 |
2,95 |
3,6 |
|
0,95 |
8,8 |
7 |
4,814286 |
5 |
654741 |
6,25 |
|
|
3,1 |
8,6 |
7,5 |
6,2 |
6 |
656718 |
6,8 |
|
|
4,45 |
6,8 |
8 |
6,3 |
6 |
660703 |
5,7 |
|
|
4,15 |
6,8 |
8 |
5,9 |
6 |
672197 |
7,55 |
|
|
3,2 |
7,2 |
8,5 |
6,342857 |
6 |
674244 |
6,5 |
|
|
5,1 |
6,6 |
8,5 |
6,414286 |
6 |
674790 |
7,8 |
|
|
5,45 |
7,2 |
8,5 |
7,057143 |
7 |
675027 |
6,35 |
|
|
5,55 |
7,6 |
9 |
6,857143 |
7 |
675271 |
7,95 |
|
|
6,1 |
8,8 |
8 |
7,671429 |
8 |
675355 |
8,05 |
|
|
5,3 |
7,4 |
8 |
7,071429 |
7 |
675518 |
7,75 |
|
|
5,15 |
8,4 |
8,5 |
7,3 |
7 |
675661 |
0,6 |
2 |
|
|
2,8 |
0 |
1,371429 |
NV |
676069 |
4,75 |
2,3 |
|
1,35 |
5,8 |
0 |
3,4 |
3 |
676238 |
5,05 |
|
|
2,7 |
7,4 |
8 |
5,471429 |
5 |
676727 |
3,1 |
5,9 |
|
2,2 |
5,6 |
8 |
5,057143 |
5 |
678801 |
6,2 |
6,3 |
|
6,3 |
7,6 |
7 |
6,771429 |
7 |
679458 |
7,75 |
|
|
3,5 |
8,6 |
8 |
6,814286 |
7 |
679808 |
3 |
|
|
|
6,4 |
7 |
3,685714 |
NV |
714617 |
5,7 |
|
|
2,75 |
5,8 |
6,5 |
5 |
5 |
714644 |
5,3 |
|
|
4,85 |
6,6 |
7 |
5,785714 |
6 |
714680 |
4,4 |
0,5 |
|
0,75 |
5,4 |
8 |
4,157143 |
4 |
715105 |
4,95 |
2,9 |
|
3,55 |
7,8 |
7,5 |
5,728571 |
6 |
715810 |
3,1 |
3 |
|
2,85 |
3 |
6,5 |
3,485714 |
3 |
716090 |
5,1 |
|
|
|
2,8 |
0 |
2,257143 |
NV |
716330 |
9 |
|
|
6,4 |
8,6 |
9 |
8,142857 |
8 |
716597 |
3,65 |
4 |
|
4,45 |
5,6 |
8 |
5,157143 |
5 |
716993 |
7,65 |
|
|
6,45 |
5,4 |
8 |
6,714286 |
5 |
720008 |
5,4 |
1 |
|
2,3 |
6,8 |
8 |
5,285714 |
5 |
720167 |
4,4 |
3,5 |
|
3,35 |
7,8 |
7,5 |
5,514286 |
6 |
720803 |
6,35 |
6,5 |
|
6,15 |
6,6 |
8,5 |
6,714286 |
7 |
721553 |
5,75 |
|
|
3,95 |
7,4 |
8 |
6,028571 |
6 |
721908 |
4,85 |
1,5 |
|
0,8 |
0 |
0 |
1,614286 |
2 |
721913 |
3,55 |
|
|
|
5,8 |
0 |
2,671429 |
NV |
722672 |
8,3 |
|
|
8,55 |
8,8 |
6,5 |
8,257143 |
8 |
722909 |
5,05 |
3,5 |
|
1,85 |
8 |
7,5 |
5,328571 |
5 |
729025 |
7,1 |
|
|
5,95 |
8,6 |
8 |
7,328571 |
7 |
729033 |
8,45 |
|
|
5,35 |
8,8 |
6,5 |
7,385714 |
7 |