Home Page for CS418 (Fall 2004)
Schedule
- Tuesday, Thursday: 3:35pm--4:50pm in EPS103
Textbook
- Operating Systems (5th 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: Wed: 9:30am-10:30am; Wed: 2pm-3pm; Thu: 9am-11am (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 (read Chapter 2 of Stallings).
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:
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).
Page replacement policies (read Chapter 8 of Stallings).
- week 3:
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 September 21.
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:
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 October 21.
- week 9: Security, public key cryptography and RSA public key cryptography.
Error detection and the CRC method.
- week 10: No class on Nov 2---Election Day holiday.
Multiprocessor scheduling (read 10.1 of Stallings).
Multiprocessor scheduling (pdf) or
Multiprocessor scheduling (ps).
Real-time scheduling (read 10.2 of Stallings).
Real-time scheduling (pdf) or
Real-time scheduling (ps).
- week 11:
Queuing analysis (read Appendix 9B).
Queuing Analysis (pdf) or
Queuing Analysis (ps).
No class on Nov 11---Veteran's Day holiday.
- week 12:
Introduction to distributed processing (pdf) or
Introduction to distributed processing (ps), read 14.1 of Stallings.
Distributed mutual exclusion/deadlock (pdf) or
Distributed mutual exclusion/deadlock (ps), read 15.3 of Stallings.
- week 13: Test 3 on November 23. No class on Nov 25---Thanksgiving.
- week 14 & 15: presentation of projects.
December 9: Brief review for the final exam.
Tests (30%)
-
CS418 - test 1
(Test 1 is scheduled on September 21, during regular class time.)
-
CS418 - test 2
(Test 2 is scheduled on October 21, during regular class time.)
-
CS418 - test 3
(Test 3 is scheduled on November 23, during regular class time.)
Assignments (30%)
Project (10%)
-
We will do a project at the end of this term (during the
last weeks in late November and early December). (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 (30~40)-minute presentation
in class. (The rough idea is that each student is expected to present
for close to 15-20 minutes; e.g., a 2-people group should present
for about 30-40 minutes, including question answering time.) The evaluation is
based on the report, which MUST be received by December 9, 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.
- A comparison of clustered and distributed computing (Chad Hohannan and Sam Gardner; Presentation time: Tuesday, Nov 30, 3:35pm-4:05pm).
- Palm OS (Luke Cordingley, Dallas Fisher and Jason Unruh; Presentation time: Tuesday, Nov 30, 4:05pm-4:50pm).
- MSDOS (Eric Hansen, Justin Heidema and Karl Keith; Presentation time: Thursday, Dec 2, 3:35pm-4:20pm).
- Device management in Linux (Mike Gustafson and Angie Kimmel; Presentation time: Thursday, Dec 2, 4:20pm-4:50pm).
- Microsoft Windows (Loren Block and Tom Seitel; Presentation time: Tuesday, Dec 7, 3:35pm-4:10pm).
- Windows CE (Tyler Garaas and Jack Whitehouse; Presentation time: Tuesday, Dec 7, 4:10pm-4:45pm).
- The Linus network stack (Toby Nelson; Presentation time: Thursday, Dec 9, 3:35pm-3:50pm).
- Microsoft DOS (Arthur Krebsbach; Presentation time: Thursday, Dec 9, 3:50pm-4:05pm).
Final Exam (30%): Dec 16, 12:00pm--1: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