CSE 421/521

Introduction to Operating Systems

Fall 2012

 

Instructor:

 

Prof. Tevfik Kosar

338J Davis Hall, 645-2323

tkosar@buffalo.edu

Office hours: Wed 10:00am-11:00am, Thu 11:00am - noon

 

Course Description:

 

CSE 421/521 is an introductory course on the design and implementation of operating systems. It will focus on different OS design techniques, process management, processor scheduling, concurrent programming, deadlocks and synchronization, memory management, file management and I/O systems, disk scheduling, protection and security, and distributed systems. The course will include hands-on programming projects on different OS components.

(Prerequisites of this course: CSE 305, CSE 321, or permission of the instructor.)

 

Course Logistics:

 

Lecture time & location  : Tue & Thu, 9:30am-10:50am (Davis 101)

Recitation sessions         : Tue 11:00am-11:50am (Capen 260), Wed 10:00am-10:50am (Obrian 112)

Teaching assistants         : Sonali Batra, Ying Yang, Weida Zhong

 

 Textbook: (Required)     

 

v Operating Systems Concepts (8th Update Edition),

      By A. Silbershatz, P.B. Galvin, and G. Gayne. Wiley Publishers, 2011. ISBN: 978-1-1181-1273-1 

 

Recommended Supplementary Text: (Optional)

 

v The C Programming Language (Second Edition)

By Kernighan and Ritchie. Prentice Hall, Second Edition, 1988, ISBN 0-13-110362-8.

 

v The C++ Programming Language (Third Edition)

By Bjarne Stroutstrup. Addison-Wesley, Third Edition, 1997, ISBN 0-201-88954-4

 

v Advanced Programming in the UNIX Environment

By Richard Stevens. Addison Wesley Press, 1993, ISBN 0-201-56317-7.

 

Grading:

 

The end-of-semester grades for this course will be composed of:

 

v Pop Quizzes: 5%

v Homework: 10%

v Projects: 30%     

v Midterm: 25%

v Final: 30%

 

There will be no formal attendance taken in the class. But, you are expected to attend the classes and actively contribute via asking and/or answering questions. There may be pop quizzes at the beginning of some classes. The questions in the quizzes will come mostly from the material discussed in the previous lecture(s) or homework assignment(s). There will be three programming projects, and four homework assignments throughout the course.

 

Course Schedule (Tentative):

 

This schedule is tentative and subject to change. Please check this page regularly for the updates on the schedule; announcements on the projects, homework assignments and exams; and other news about the course. All lecture slides will be posted online to the course web page the same day after each class.

 

Date

Lect.

Title

Notes

Aug 28

1

Introduction (2spp)

Read Ch.1

Aug 30

2

Operating System Structures (2spp)

Read Ch.2

Sep 4

3

Processes (2spp)

Read Ch.3

Sep 6

4

Threads (2spp)

Read Ch.4; HW-1 out

Sep 11

5

CPU Scheduling – I (2spp)

Read Ch.5; Recitation-1

Sep 13

6

CPU Scheduling – II (2spp)

HW-1 due

Sep 20

7

Project-I Discussion (2spp)

Prj-1 out; Recitation-2

Sep 25

8

Process Synchronization – I (2spp)

Read Ch.6; Recitation-3

Sep 27

9

Process Synchronization – II (2spp)

 

Oct 2

10

Deadlocks – I (2spp)

Read Ch.7; HW-2 out;Recitation-4

Oct 4

11

Deadlocks – II (2spp)

 

Oct 9

12

HW-2 due 

Oct 11

13

Midterm Review (2spp)

 

Oct 16

 

MIDTERM EXAM   (Room: Davis 101)

@ 9:30am-10:50am

Oct 18

14

Main Memory (2spp)

Read Ch.8;

Oct 23

15

Virtual Memory – I (2spp)

Read Ch 9;

Oct 25

16

Virtual Memory – II (2spp)

HW-3 out;

Oct 30

17

Project-II Discussion

Prj-1 due; Prj-2 out

Nov 1

18

 

Nov 6

19

File Systems (2spp)

Read Ch.11;HW-3

Nov 8

20

Mass Storage & I/O – I (2spp)

Read Ch.12

Nov 13

21

Mass Storage & I/O – II (2spp)

 

Nov 15

22

Distributed Systems – I (2spp)

Read Ch.18

Nov 20

23

Project –III Discussion

Prj-2 due; Prj-3 out

Nov 22

 

 

Fall Recess

Nov 27

24

Distributed Systems – II (2spp)

 

Nov 29

25

Distributed Systems – III (2spp)

Read Ch.17

Dec 4

26

Protection & Security (2spp)

Read Ch.15

Dec 6

27

Final Review (2spp)

 

Dec 17

 

FINAL EXAM                    (Room:Knox 104)

@ 11:45am - 2:45pm