Instructor Information
Required Text
Stallings, William. Operating Systems: Internals and Design Principles. 3rd ed. Upper Saddle River, NJ: Prentice Hall, Inc., 1998.
Goals
Catalog description: Introduces the fundamentals of operating systems, process concepts, concurrent programming, etc. Process management, memory management, device management, scheduling, etc. will be covered.
Objectives: This is a one-semester introductory course in the concepts of operating systems. Operating systems are the software that make computer hardware usable. The course will explain how operating systems determine the interface seen by users, control the sharing of resources between users, recover from errors, and determine computer performance. This course will not go into the details of systems programming or the writing of device drivers.
After completing this course a student should be familiar with how an operating system:
Attendance: If you need to miss a class, please notify the instructor in advance so we can arrange an alternate meeting time.
Academic Honesty: Students are referred to the policy outlined in the student handbook (The Maggie).
Grading Scale
| Grade | Percentage |
| A | 90 – 100% |
| B | 80 – 89% |
| C | 70 – 79% |
| D | 60 – 79% |
| F | 0 – 59% |
Grade Distribution
| Component | Percentage |
| Exam 1 | 15 % |
| Exam 2 | 10 % |
| Final exam | 20 % |
| Online journal | 8 % |
| Major project | 12 % |
| Homework & VMS projects | 30 % |
| Attendance & participation | 5 % |
Homework Schedule
Some adjustments to the homework schedule may occur during the semester.
| Due Date | Chapter | Exercises in Stallings |
| February 3 | 1 | 1.1, 1.3, 1.5, 1.8, 1.11, 1.13 |
| February 10 | 2 | 2.1, 2.2, 2.4, 2.6 |
| February 17 | 3 | 3.3, 3.5, 3.6, 3.7, 3.11 |
| February 24 | 4 | 4.2, 4.3, 4.5, 4.6 |
| March 2 | 5 | 5.1, 5.2, 5.3, 5.5, 5.9, 5.13, 5.20 |
| March 9 | 6 | 6.2, 6.3, 6.8, 6.10, 6.14, 6.15 |
| March 28 | 7 | 7.4, 7.5, 7.8, 7.10 |
| April 4 | 8 | 8.1, 8.4, 8.5, 8.6, 8.14 |
| April 11 | 9 | 9.1, 9.10, 9.11, 9.14, 9.15 |
| April 18 | 10 | 10.1, 10.2 |
| April 27 | 11 | 11.2, 11.5, 11.6, 11.8, 11.11 11.12 |
| May 4 | 12 | 12.3, 12.5, 12.7 |
General Schedule
(Chapter references are to Stallings, Operating Systems: Internals and Design Principals)
| Day | Chapter | Topics covered |
| January 27 | 1 | Registers, instructions, interrupts |
| February 1 | 1 | Memory and I/O |
| February 3 | 2 | Intro to operating systems |
| February 8 | 2 | VMS, NT, UNIX SVR4, Solaris |
| February 10 | 3 | Process states |
| February 15 | 3 | Process control |
| February 17 | 4 | SMP, & threads |
| February 22 | 4 | Microkernals |
| February 24 | 5 | Mutual exclusion |
| February 29 | 5 | Semaphores |
| March 2 | 6 | Deadlock |
| March 7 | 6 | Deadlock avoidance |
| March 9 | 1-6 | Exam 1 |
| March 14 | 7 | Memory management |
| March 16 | 7 | Paging |
| March 21,23 | Break | |
| March 28 | 8 | Virtual memory |
| March 30 | 8 | Virtual memory cont. |
| April 4 | 9 | Types of scheduling |
| April 6 | 9 | Scheduling algorithms |
| April 11 | 10 | Multiprocessor scheduling |
| April 13 | 10 | Real-time scheduling |
| April 18 | 7-10 | Exam 2 |
| April 20 | 11 | I/O devices |
| April 25 | 11 | RAID & caching |
| April 27 | 12 | File organization |
| May 2 | 12 | File sharing |
| May 4 | 13 | Client/Server |
| May 9 | 13 | Clusters |
| May 11 | No class | |
| May 16 | 1-13 | Final exam (8 AM) |
VMS Projects
VMS will be used as the sample operating system for the course. Several projects will be announced at a later date.
Major Project
Prepare a web site based on your research on an operating system topic. The site should contain about 2500 words of text on various pages. You should include at least 10 bibliographic citations or external links. The grade of this assignment will be primarily determined by textual content rather than the quality of graphical presentation.
Submit a one page proposal describing your proposed research and include at least two references by February 17. The final project is due May 2nd.
Online Journal
You should maintain a Web page with weekly entries. An entry in the journal should include a 200 to 500 word review or summary of an article or chapter (from a book other than the textbook for this course) about a topic related to operating systems. The student should include a full citation of the article using the documentation protocol given in Allen Metcalf’s Research to the Point. If the material being reviewed is online, the entry should include link as well as a citation.
Exam Schedule
| Week | Exam | Topics |
| March 9 | Exam 1 | Computer processes, multiprocessors, threads, microkernals, semaphores, deadlock |
| April 18 | Exam 2 | Scheduling and memory management |
| May 16
(8 AM) |
Final Exam | This exam will be comprehensive, but greater emphasis will be placed on material covered since the last exam. |