Home Page for CS418 (Spring 2004)
Schedule
- Monday, Wednesday, Friday, 8:00am--8:50am in EPS108
Textbook
- Operating Systems (4th edition), by William Stallings, Prentice Hall
(In fact, for about 50% of the course, I will use my own notes. This
textbook complements with my notes. If you skip most of the classes and
just try to follow the textbook, you will find that this course is hard.)
Instructor: Dr. Binhai Zhu
- Office: EPS 355
- Office hours: Tue, Thu: 11am-12pm; Wed: 10-11am, 2pm-3pm (or by appointment)
- Email: bhz@cs.montana.edu
- Phone: X4836
Syllabus by week
- This is a very rough schedule for each lecture/week (so far I am copying
it from last year's, be prepared for the changes!). If you miss
a lecture for some reason, you might want to contact me for detailed lecture
notes. For your convenience, I also put my lecture slides here.
- week 1: Course overview. Operating system reviews. Components of operating systems.
Letcure 1 Slides (pdf) or
Letcure 1 Slides (ps).
Early memory management. Static and dynamic partition, memory deallocation.
Relocatable dynamic partition (read Chapter 7 of Stallings).
Letcure 2 Slides (pdf) or
Letcure 2 Slides (ps).
- week 2: No class on Jan 19---Martin Luther King day.
Memory hierarchy and cache memory (read 1.5, 1.6, Appendix 1A of Stallings)
Letcure 3 Slides (pdf) or
Letcure 3 Slides (ps).
Recent memory management. Paging and demand paging (read Chapter 7
of Stallings).
Letcure 4 Slides (pdf) or
Letcure 4 Slides (ps).
- week 3: Page replacement policies (read Chapter 8 of Stallings).
Segmented memory allocation, segmented/demand paged memory
allocation (read Chapter 7 and 8 of Stallings).
Letcure 5 Slides (pdf) or
Letcure 5 Slides (ps).
Buddy system. Hash tables (read 8A).
Letcure 6 Slides (pdf) or
Letcure 6 Slides (ps).
Device management (read Chapter 11 of Stallings).
Review for test 1.
- week 4: Test 1 on Feb 2.
Device management (read Chapter 11 of Stallings).
Letcure 7 Slides (pdf) or
Letcure 7 Slides (ps).
- week 5: Device managemnet (RAID system). File management (read Chapter 12 of Stallings).
Letcure 8 Slides (pdf) or
Letcure 8 Slides (ps).
Processor management, part 1 (read Chapter 3, 4 and 9 of Stallings).
Letcure 9 Slides (pdf) or
Letcure 9 Slides (ps).
- week 6: No class on Feb 16---President's Day.
Processor management, part 1 (read Chapter 3, 4 and 9 of Stallings).
Creating processes and threads in UNIX (Linux) system.
Program 1, Program 2, Program 3.
- week 7:
Processor management, part 2 -- deadlock, starvation and synchronization (read Chapter 5,6 of Stallings).
Letcure 10 Slides (pdf) or
Letcure 10 Slides (ps).
- week 8: Readers and Writers Problem (read Chapter 5 of Stallings).
Test 2 on March 3.
- week 9: Security, public key cryptography and RSA public key cryptography.
Multiprocessor scheduling (read 10.1 of Stallings).
Multiprocessor scheduling (pdf) or
Multiprocessor scheduling (ps).
- week 10: study break, no classes.
- week 11: Real-time scheduling (read 10.2 of Stallings).
Real-time scheduling (pdf) or
Real-time scheduling (ps).
Error detection and the CRC method.
Queuing analysis (read Appendix 9B).
Queuing Analysis (pdf) or
Queuing Analysis (ps).
- week 12:
Introduction to distributed processing (pdf) or
Introduction to distributed processing (ps), read 13.1 of Stallings.
Distributed mutual exclusion/deadlock (pdf) or
Distributed mutual exclusion/deadlock (ps), read 14.2 of Stallings.
Review for Test 3.
- week 13: April 5---a review of Unix system and commands.
April 7---Test 3.
April 9---Holiday, no class.
- week 14 & 15 & 16: presentation of projects.
April 28: Brief review for the final exam.
April 30: Question-answering.
Tests (30%)
-
CS418 - test 1
(Test 1 is scheduled on February 2, during regular class time.)
-
CS418 - test 2
(Test 2 is scheduled on March 3, during regular class time.)
-
CS418 - test 3
(Test 3 is scheduled on April 7, during regular class time.)
Assignments (30%)
Project (10%)
-
We will do a project at the end of this term (during the
last 2-3 weeks in late April). (This project has been very
very successful during the previous four occasions when I taught this course!)
The rough idea is that students taking this course will be divided into 6-8
groups, each with about 2 people. Each group will be given (or choose) a
specific OS (or part of it) for detailed survey and analysis. Finally each
group will write a 6-10 pages report and give a (40~50)-minute presentation
in class. (The rough idea is that each student is expected to present
for close to 20 minutes; e.g., a 2-people group should present
for about 40 minutes, including question answering time.) The evaluation is
based on the report, which MUST be received by April 30, 2004, as well as the
presentation.
Each member of the same group should participate in the presentation and will
receive the same mark. For more details check the following possible topics.
So do find your partners now!
- The following is a list of tentative topics for the projects. They
can be chosen based on the first come first serve policy. But
you can also propose your own projects.
- Mac OS X (Alok Gondhalekar and Chris Marth. Presentation time: April 12, 8:10-8:50am).
- Routers (Brandon Hardin, Gabriel Rudy and LeRoy Verwolf. Presentation time: April 14, 8:00-8:50am).
- MSDOS (Trenton Berg and Jason Erickson. Presentation time: April 16, 8:00-8:50am).
- Encryption System for Windows (Brett Lynnes and William Comstock. Presentation time: April 19, 8:00-8:50am).
- Applied Distributed Computing & Clusters (Scott Bridges and William Merryman. Presentation time: April 21, 8:00-8:50am).
- Unix/Linux: device and file management (Ed Davis and Cody Stevens. Presentation time: April 23, 8:00-8:50am).
- Windows Longhorn (Nathan Bible and Robert Hayes. Presentation time: April 26, 8:00-8:50am).
Final Exam (30%): May 4, 4:00pm--5:50pm
Dr. Binhai Zhu
Associate Professor
Department of Computer Science
Montana State University
Bozeman, MT 59717
Email: bhz@cs.montana.edu
Office: EPS 355
Phone: 406-994-4836
Fax: 406-994-4376