CS 452 Operating Systems

advertisement

CS 452

Operating Systems Concepts

Winter 2016

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

Course Outline

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

Download