•
•
Contact Information
•
Instructor: Dr. Gregory Wolffe (wolffe@gvsu.edu)
•
Office: C-2-213 Mackinac (331-3884)
•
Off. Hrs: Monday, Wednesday, Friday from 10:00-11:00am; and by appointment
•
Info Page: http://www.cis.gvsu.edu/~wolffe/courses/cs452
Includes all course policies, announcements, assignments and class documents.
Course Description and Objectives
To obtain conceptual understanding and a working knowledge of:
•
Process management including threads, CPU scheduling, concurrency and synchronization.
•
Memory management including paging, replacement algorithms, and virtual memory.
•
Secondary storage management including file system implementation and space management.
•
Protection and security. Case studies of modern systems.
Prerequisites
•
Simple hardware concepts
CS 251 Computer Organization or EGR 226 Digital Systems
•
‘C’ programming skills
CS 343 Structure of Programming Languages or
CS 361 System Programming
Textbooks
Required:
•
Operating Systems Concepts Essentials, 2 nd
Ed.
; Silberschatz, Galvin, Gagne; Wiley, 2014.
Optional (for lab reference):
•
Any C / Linux programming guide.
Grading
•
Homework 10
%
•
Labs/Projects 40
%
•
Midterm 25
%
•
Final 25
%
Grading Scale
A / A- 90%
B+ / B / B- 80%
C+ / C / C- 70%
D+ / D 60%
F
<
60%
Course Policies
•
The deadline to drop with a “W” is Friday, March 11 th
, at 5:00 p.m.
•
Course policy summary: you agree to be a responsible and communicative student, I in turn promise to be a fair and reasonable instructor.
•
Course policy details: see http://www.cis.gvsu.edu/~wolffe/courses/policies.html
Week Lecture Schedule
1
2
3
4
5
Introduction; Operating system structures
Process concepts
Process scheduling; Process operations
Interprocess communication
MLK Holiday – Monday 1/18
Thread concepts; Parallelism
Multi-threaded models; Multi-threaded programming
Process synchronization and coordination
Synchronization algorithms
Synchronization hardware; Mutex; Semaphores
Classical synchronization problems
6
7
8
High-level synchronization solutions
Deadlock concepts, prevention, avoidance
CPU scheduling concepts
Scheduling criteria; Metrics
Scheduling algorithms
Multicore scheduling; Case studies
Midterm Thursday, 3/3 10:00am - Noon
Spring Break (3/7 – 3/11)
9 Memory management concepts
Segmentation
10
11
Paging fundamentals; Paging implementation
Virtual memory concepts; Memory performance
Page replacement; Page replacement algorithms
LRU algorithms; Paging case studies
12
13
Frame allocation; Thrashing; Working set theory
Memory system design; Case studies
Files, directories, file system concepts
File system structure and implementation
Storage system concepts; Disk subsystem management
8.5, 8.6
8.7 – 8.10
Chap. 10
Chap. 11
Chap. 9
14
Final
Exam
Protection
Security
Wednesday, 4/27 10:00am - Noon
Chap. 13
Chap. 14
Lab Projects
•
Lab projects include excursions into operating system source code, hands-on experience with advanced systems programming, and experiments in support of classroom concepts.
•
Attendance at lab (EOS) is mandatory . The lab format will consist of a combination of weekly group projects/reports and periodic individual programming assignments.
Readings
Chaps. 1-2
3.1
3.2, 3.3
3.4 – 3.6
4.1, 4.2
4.3 – 4.7
5.1, 5.2
5.3
5.4 – 5.6
5.7
5.8 – 5.10
5.11
6.1
6.2
6.3
6.4, 6.5, 6.7
7.1 - 7.3
7.4
7.5, 7.6
8.1 - 8.3
8.4