Introduction to Operating Systems

CS 3224

2011 Spring

M/W 10-12

http://cis.poly.edu/jsterling/cs3224

 

Instructor: John Sterling
Office: LC125
email: jsterling@poly.edu
phone: (718) 260-4138
Office Hours: Check my homepage. Other times you can schedule an appointment or drop by and see if I'm free.

Course Description: Overview of user interface. Process structure, creation and context switching; system calls; process cooperation. Memory management; virtual memory. I/O management; interrupt handling. File structures; directories, fault-tolerance. Design project involving construction of portions of operating system required.

Textbook: Modern Operating Systems, Third Edition; Andrew Tanenbaum; Prentice Hall.
Author's URL: www.cs.vu.nl/~ast.
You are expected to read the material before the corresponding lectures.

Lecture Schedule. This schedule is tentative.

Lecture

Date

Topic

Reading

Project Due Dates

1

9/7

Intro, History

1.1 - 1.3, 10.1, 11.1

 

2

9/12 Hardware, System Calls, OS Structure
1.4-1.6  
3 9/14

Processes: model, life-cycle, implementation, Threads

1.7, 10.2  

4

9/19

Process Scheduling: FCFS, SJF, SRTN, Aging

2.1, 2.2
MINIX
 

5

9/21 Process Scheduling: Lottery, RR,. Priority, Multiqueue with feedback, Unix/Linux/NT 2.4, 11.4
Lottery
The Martian Inversion
 

6

9/26 Process Scheduling: Unix/Linux
Communicaton
10.3, 2.3  

7

9/28 Communicaton
2.3
 

8

10/03

Classical IPC Problems

2.5

 

9

10/05 Memory Management: Contiguous
3.1, 3.2  

10

10/12

Memory Management: Virtual

3.3

Process Scheduling

11

10/17

Memory Management: Page Replacement

3.4

 

12

10/19

Memory Management: Page Replacement

3.4

 

13

10/24 Memory Management: Design 3.5  
14 10/26 Midterm (tentative)    
15 10/31

Memory Management Implementation Issues and Segmentation

3.6, 3.7  
16 11/02 File Systems Features 4.1, 4.2  
17 11/07 File Systems Features, Implementation 4.2, 4.3  
18 11/09 File Systems: Management / Consistency, Examples 4.4, 4.5, 10.6 Memory Management
19 11/14 File Systems: Examples 11.8  
20 11/16 Input/Output: Principles 5.1-5.2  
21 11/21

Input/Output: Software layers

5.3  
22 11/23

Input/Output: Disks

5.4  
23 11/28 Deadlocks 6  
24 11/30 Deadlocks 6 File System
25 12/05 Security / Attacks    
26 12/07 Security / Attacks    
 

Final Exam
TBD

   

NB: Chapters 10 & 11 do not generally have their own lecture slots. They discuss Unix and NT, respectively. Their material will be introduced and discussed throughout the semester where it fits into the appropriate topics. You are responsible for the material in both of these chapters.

Outside Reading

 

Grading

Cheating

Cheating will not be tolerated.

For projects:

If you are at all confused by this then speak to me - ahead of time.

Projects

Slides

If I use slides, they will appear here as pdf files.

Do not assume they cover everything you need to know. Your notes had better be more detailed than these slides. Be aware that studying the slides and skimming the textbook has not proven to be an effective technique for most students.

Subject Modified
Intro  
Processes  
Memory Management  
Files  
IO  
Deadlocks  
Security  

Sample Code

Other Resources

Listed below are related, but not at all required, useful materials.


Maintained by John Sterling (jsterling@poly.edu). Site last updated January 3, 2011