CS3SH3: Operating Systems Concepts
- Instructor: Michael Soltys, email:
my last name at mcmaster.ca
- Lectures: TWF 9:30--10:20 in CNH/B107
- Course Information
- Course Outline: Process Management: Processes,
Threads, CPU scheduling, Synchronization, Deadlocks. Storage
Management: Memory, Virtual Memory, File-System. I/O Systems and
Mass-Storage Structure. Distributed Systems. Protection and
Security. Case Study: Linux. We will follow the textbook ("Operating
Systems Concepts") fairly closely, but we will emphasize the
algorithmic aspects of operating systems; for example,
page-replacement algorithms for cache management.
- Each section is the textbook has a good selection of exercises;
the student is expected to do them in order to prepare for the tests.
Some familiarity with the C programming language is assumed. We will
illustrate the different OS concepts mainly with
Linux (one of the case studies in
- Check this web page regularly for announcements. If you need a
PostScript previewer, go to
- Apr 23: Click here for the final exam.
- Apr 8: Click here for the term marks.
Make sure that your marks are entered correctly. Let me know if there
are mistakes; I may ask you to see the relevant test to change a mark.
Those people who have submitted a registrar's note for a missed test,
should make sure that the word "note" is entered in the relevant
- Apr 4: Due to the ice strom, the university is closed
today. On Tuesday, April 8, we will have the last class of the
term; we will
review caching algorithms. As far as the final exam is concerned:
there will be 7 questions, from all the areas covered in the tests.
To prepare, review the tests, and the course notes. To know which
are the relevant sections in the textbook, just look at the textbook
sections specified for each test. I will post the term marks (by
student number only!) on this web site, as soon as Test 4 marks are
- Apr 3: Because of the current weather system, there may be no class
tomorrow (Friday Apr 4, 2003).
- March 31: There are going to be no questions on the RSA algorithm
on Test 4, since I want to review it one more time in class on
Wednesday. There are going to be no questions on section 19.8. Test
3 is ready, and I will bring it to class on Wednesday.
- March 17: The last test, Test 4, will take place on April 1st,
which is a Tuesday in class. On March 28, Friday, there will
be no class since the 4th year students will be attending the Ritual
of the Calling of an Engineer.
- March 6: Test 3 will take place on Friday March 14, in the
classroom as usual. This test will be on Chapters 9,10,and 11.
We will finish chapter 10 on Friday March 7, and we will have two
lectures for Chapter 11 which is short and easy (File-System
Interface). The relevant exercises are listed below.
- Feb 25: Test 4 will take place on April 1.
- Feb 12: Some people have asked me about exercise 8.9. Click here for a solution.
- Feb 7: We have a new TA; Roman Kordasiewicz
Luo Chao Min is no longer a TA for our course.
- Feb 6: Solutions to Test 1 have been posted below.
- Feb 4: There was a question in class today regarding the Bakery
algorithm (posted below, pg 197 in the textbook): why do we need the
first while loop (while(choosing[j]))? The reason is the following:
we cannot assume that those processes P_j for which choosing[j] has
not been set yet will necessary have a higher number[j]. This is
because the atomic machine code instructions for processes might be
interleaved in such a way, that a process P_j may be assigned a number
BEFORE a process P_i, but still P_i may reach the for loop sooner;
we cannot predict a priori the choices of the
- Feb 3: Reminder of the TA office hours:
Thursdays, 4-5pm, in Room 201, in the ITC building.
- Jan 31: I will hold permanent office hours on Tuesdays
10:30--11:20 (right after class) as announced. However, you are
welcome at other times, or by appointment.
- Jan 31: If you miss a test, please go through the official
"channel," and obtain the white-yellow-pink note from the Registrar's
office, and bring it to me with a short explanatory note attached.
You can give it to me after class, or bring it to my office (ITC214).
- Jan 31: Test 2 will take place on February 14.
- Jan 29: In today's class, we mentioned that Alg 1 does not
satisfy the progress requirement. To see this, note that if P1 is in
its remainder section, it must have set turn==1. Therefore, if P0 is
ready to enter its critical section, it cannot. This means that P1,
while being in its remainder section, "participates" in P0's decision
to enter its critical section.
- Jan 28: The textbook sections that you are responsible for for
Test 1 are listed below.
- Old Announcements
Assigned Exercises, Slides, and Tests:
- Test 1: (Friday January 31 in the classroom)
SOLUTIONS TO TEST 1
- Exercises: 1.1--13, 2.1--13, 3.1--7 and 3.10--15
- Exercises: 4.1--6 (Read 4.5.1--4 on your own)
- Slides Jan 14
- Slides Jan 15
- Exercises: 5.1--6
- Slides Jan 21
- Chapters 1--3: everything
- Chapter 4: everything except 4.5.5, 4.5.6, 4.6
- Chapter 5: everything except 5.5, 5.6, 5.8
- Exercises: 6.1--5,7
- Chapter 6: 6.1--3
- Test 2: (Friday February 14 in the classroom)
SOLUTIONS TO TEST 2
- Slides Jan 29
- Slides Feb 04
- Chapter 7: 7.1--5
- Exercises: 7.1--5,7--9
- Slides Feb 05
- Chapter 8: everything
- Exercises: 8.1--15
- Test 3: (Friday March 14 in the classroom)
SOLUTIONS TO TEST 3
- Chapter 9: everything.
- Exercises: 9.1--18 (i.e., all the exercises in Chapter 9)
- Chapter 10: everything, with special emphasis on page replacement
- Exercises: all the exercises in Chapter 10, except 10.21.
- Chapter 11: everything.
- Exercises: all the exercises in Chapter 11.
- Test 4: (Tuesday April 1 in the classroom)
SOLUTIONS TO TEST 4
- Chapter 19
- Exercises: 19.1--8 (all the exercises in Chp 19).
- Slides Mar 18
- Slides Mar 19
- Chapter 15
- Exercises: 15.1--19 (all the exercises in Chp 15).
- Slides Mar 25
- Slides Mar 26
- Slides Apr 2
Wed Apr 2 11:11:49 EST 2003