CS452 Operating System Concepts
Instructor
👨🏫 Hans Dulimarta
🏢 MAK C-2215
📫 HansDulimarta@gvsu.edu
Office Hours
MonTueWedThuFri9:30-10:00a10:00-10:30a10:30-11:00a11:00-11:30a11:30-noon12:00-noon12:30-1:00p13:00-1:30p13:30-2:00p14:00-2:30p14:30-3:00p15:00-3:30p15:30-4:00pCS452-01CS452-01CS452-02CS452-02CS452-01-LabCS452-02-LabOfficeOfficeOffice
Reserve 15-minute blocks of office hour at Calendly. Course Description and Objectives
After successful completion of the course, students will be able to:
- Write a program that effectively utilizes process management system calls and inter process communication
- Describe multi-threaded program execution on modern multi-core processors, and the use of concurrent control mechanism
- Describe memory management concepts and the metrics used to evaluate their relative performance
- Describe filesystem implementation and storage space management
Prerequisites
- Basic hardware concepts, one of the following courses
- CIS251: Computer Organization and Assembly Language
- C or C++ programming skill, one of the following courses
- CIS241: System-Level Programming and Utilities
Textbook(s)
Option 1: Classic

The second edition (left image above) is available for purchase. The first edition (right image above) is available as a free online book from O'Reilly technical books.
When logging in to O'Reilly website it may ask you to authenticate via the GVSU Library. 
Option 2: Free Online
Prof. Kurmas used a free online book by Arpaci-Dusseau for his CS452 sections.
Graded Activities
| Grading Item | Percentage (tentative) |
|---|---|
| Labs | 17% |
| Lab participation | 3% |
| Programming Assignments | 20% |
| Homework/Quizzes | 20% |
| Midterm Exam | 20% |
| Final Exam | 20% |
Grading Scale
| Grade | Minimum | Grade | Minimum | Grade | Minimum |
|---|---|---|---|---|---|
| A | >=93 | A- | >= 90 | ||
| B+ | >= 87 | B | >= 83 | B- | >= 80 |
| C+ | >= 77 | C | >= 73 | C- | >= 70 |
| D+ | >= 67 | D | >= 60 | F | < 60 |
Course Policies
- Academic Honesty: All students are expected to adhere to the academic honesty standards set forth by Grand Valley State University. In addition, students in this course are expected to adhere to the academic honesty guidelines as set forth by the School of Computing and Information Systems, the details of which can be found online
- Unless previous arrangements have been made, all assignments (homework & programming projects) are due at the beginning of class on the due date. The instructor will not accept late assignments.
- Lab reports must be typed. To provide a context that helps your instructor to understand your answer, include the original question text from the lab handout before providing your answer
- Programs should include acknowledgments/citations for any work that is not your own. Please follow stylistic guidelines you have learned in introductory courses (documentation, appropriate comments, coding style, formatting, etc.)
- The course is also subject to the GVSU policies listed at this page
- Please see me if you have any special accommodations that need to be considered
Course Outline and Schedule
The reading materials:
- The SIL column refers to section number from the Silberschatz textbook first edition
- The ARP column includes links to PDF files from Arpaci-Dusseau online book
Week OfTopicReading
SILARP
3Sep 14Inter Process Communication3.4-3.6
4Sep 21Threads, parallelism, multi-threaded models & programming4.1-4.5
5Sep 28CPU scheduling algorithms, multi-core scheduling5.1-5.6
7Oct 12Synchronization hardware, mutex, semaphores, classical synchronization problems6.4-6.5
8Oct 19High-level synchronization solutions, deadlock6.6-6.9
10Nov 2Virtual memory, page replacement algorithms8.1-8.4
11Nov 9LRU, Trashing, Working Set, Memory system design8.5-8.10
14Nov 30Thanksgiving Recess
15Dec 7Protection and Security13
Final exam (Wednesday, Dec 16, 10-noon, noon-2p)