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 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
Week of | Topic | Reading | |
---|---|---|---|
1 | Aug 26 | Introduction, OS structures, Process Concept | 1-2, 3.1 |
2 | Sep 2 | Process scheduling & operations | 3.2-3.4 |
3 | Sep 9 | Inter Process Communication | 3.5-3.6 |
4 | Sep 16 | Threads, parallelism, multi-threaded models & programming | 4.1-4.7 |
5 | Sep 23 | Process synchronization & coordination, synchronization algorithms | 5.1-5.3 |
6 | Sep 30 | Synchronization hardware, mutex, semaphores, classical synchronization problems | 5.4-5.6 |
7 | Oct 7 | High-level synchronization solutions, deadlock | 5.7-5.10 |
8 | Oct 14 | CPU scheduling algorithms, multi-core scheduling | 6.1-6.7 |
9 | Oct 21 | Memory management, segmentation | 7.1-7.4 |
10 | Oct 28 | Paging, virtual memory, page replacement algorithms | 8.1-8.4 |
11 | Nov 4 | LRU, Trashing, Working Set, Memory system design | 8.5-8.10 |
12 | Nov 11 | Files, directories, file system structure | 10 |
13 | Nov 18 | Filesystem implementation, UNIX file systems | 11 |
14 | Nov 25 | Thanksgiving Recess | |
15 | Dec 2 | Protection and Security | 13 |
Final exam (Monday, Dec 9, 10-noon) |