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 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 | Jan 8 | Introduction, OS structures, Process Concept | 1-2, 3.1 |
2 | Jan 15 | MLK recess (Mon), Process scheduling & operations | 3.2-3.4 |
3 | Jan 22 | Inter Process Communication | 3.5-3.6 |
4 | Jan 29 | Threads, parallelism, multi-threaded models & programming | 4.1-4.7 |
5 | Feb 5 | Process synchronization & coordination, synchronization algorithms | 5.1-5.3 |
6 | Feb 12 | Synchronization hardware, mutex, semaphores, classical synchronization problems | 5.4-5.6 |
7 | Feb 19 | High-level synchronization solutions, deadlock | 5.7-5.10 |
8 | Feb 26 | CPU scheduling algorithms, multi-core scheduling | 6.1-6.7 |
9 | Mar 4 | Spring break, 'W' drop deadline (Friday) | |
10 | Mar 11 | Memory management, segmentation | 7.1-7.4 |
11 | Mar 18 | Paging, virtual memory, page replacement algorithms | 8.1-8.4 |
12 | Mar 25 | LRU, Trashing, Working Set, Memory system design | 8.5-8.10 |
13 | Apr 1 | Files, directories, file system structure | 10 |
14 | Apr 8 | Filesystem implementation, UNIX file systems | 11 |
15 | Apr 15 | Protection and Security | 13 |
Final exam
|