Skip to content

CS452 Operating System Concepts

Instructor

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

Office Hours

MonTueWedThuFri8a-9a9a-10a10a-11a11a-noonnoon-1p1p-2p2p-3p3p-4p4p-5p5p-6pCS452-01 LabCS452-02 LabCS452-01CS452-01CS357CS357CS452-02CS452-02OfficeOfficeOfficeOffice
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
1Jan 8Introduction, OS structures, Process Concept1-2, 3.1
2Jan 15MLK recess (Mon), Process scheduling & operations3.2-3.4
3Jan 22Inter Process Communication3.5-3.6
4Jan 29Threads, parallelism, multi-threaded models & programming4.1-4.7
5Feb 5Process synchronization & coordination, synchronization algorithms5.1-5.3
6Feb 12Synchronization hardware, mutex, semaphores, classical synchronization problems5.4-5.6
7Feb 19High-level synchronization solutions, deadlock5.7-5.10
8Feb 26CPU scheduling algorithms, multi-core scheduling6.1-6.7
9Mar 4Spring break, 'W' drop deadline (Friday)
10Mar 11Memory management, segmentation7.1-7.4
11Mar 18Paging, virtual memory, page replacement algorithms8.1-8.4
12Mar 25LRU, Trashing, Working Set, Memory system design8.5-8.10
13Apr 1Files, directories, file system structure10
14Apr 8Filesystem implementation, UNIX file systems11
15Apr 15Protection and Security13
Final exam
  • Section 01: Wed Apr 24, 10a-noon
  • Section 02: Wed Apr 22, noon-2pm