Skip to content

CS452 Operating System Concepts

Instructor

👨‍🏫 Hans Dulimarta
🏢 MAK C-2215
📫 HansDulimarta@gvsu.edu

Office Hours

MonTueWedThuFri8:30-9:00a9:00-9:30a9:30-10:00a10:00-10:30a10:30-11:00a11:00-11:30a11:30-noon12:00-noon12:30-1:00p13:00-1:30pCS357CS357CS457CS457CS457CS452CS452CS452-01 LabOfficeOfficeOfficeOffice
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/CIS351: Computer Organization and Assembly Language
    • EGR326 Digital Systems
  • C or C++ programming skill, one of the following courses
    • CIS241/CIS361: System-Level Programming and Utilities
    • CIS343 Structure of Programming Languages

Textbook

and any textbook on C/Linux programming guide

Graded Activities

Grading ItemPercentage (tentative)
Labs17%
Lab participation3%
Programming Assignments20%
Homework/Quizzes20%
Midterm Exam20%
Final Exam20%

Grading Scale

GradeMinimumGradeMinimumGradeMinimum
A>=93A->= 90
B+>= 87B>= 83B->= 80
C+>= 77C>= 73C->= 70
D+>= 67D>= 60F< 60

Course Policies

  1. 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
  2. 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.
  3. 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
  4. 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.)
  5. The course is also subject to the GVSU policies listed at this page
  6. Please see me if you have any special accommodations that need to be considered

Course Outline and Schedule

Week ofTopicReading
1Aug 26Introduction, OS structures, Process Concept1-2, 3.1
2Sep 2Process scheduling & operations3.2-3.4
3Sep 9Inter Process Communication3.5-3.6
4Sep 16Threads, parallelism, multi-threaded models & programming4.1-4.7
5Sep 23Process synchronization & coordination, synchronization algorithms5.1-5.3
6Sep 30Synchronization hardware, mutex, semaphores, classical synchronization problems5.4-5.6
7Oct 7High-level synchronization solutions, deadlock5.7-5.10
8Oct 14CPU scheduling algorithms, multi-core scheduling6.1-6.7
9Oct 21Memory management, segmentation7.1-7.4
10Oct 28Paging, virtual memory, page replacement algorithms8.1-8.4
11Nov 4LRU, Trashing, Working Set, Memory system design8.5-8.10
12Nov 11Files, directories, file system structure10
13Nov 18Filesystem implementation, UNIX file systems11
14Nov 25Thanksgiving Recess
15Dec 2Protection and Security13
Final exam (Monday, Dec 9, 10-noon)