CSE 421/521

Introduction to Operating Systems

Fall 2013

 

Instructor:

 

Prof. Tevfik Kosar

338J Davis Hall, 645-2323

tkosar@buffalo.edu

Office hours: Wed 1:00pm-2:00pm, Thu 1:00pm-2:00pm

 

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, 2:00pm – 3:20pm (Davis 101)

Recitation sessions         : Tue 11:00am-11:50am (Bell 138), Wed 10:00am-10:50am (Bell 337)

Teaching assistants         :  Sonali Batra (Mon 11:00am-12:00pm, Fri 10:00am-11:00am),
                                       Fatih Bulut (Tue & Thu 10:00am - 11:00am),
                                       Kyungho Jeon (Mon & Wed 12:00pm - 1:00pm)
                                       (All TA office hours will be held at 302 Davis Hall)

 

 Textbook: (Required)     

 

v Operating Systems Concepts (9th Edition),

      by A. Silbershatz, P.B. Galvin, and G. Gayne. Wiley Publishers, 2012.

ISBN: 978-1-118-06333-0 

 

Recommended Supplementary Text: (Optional)

 

v The C Programming Language. By Kernighan and Ritchie. Prentice Hall, Second Edition, 1988, ISBN 0-13-110362-8.

 

v The C++ Programming Language. 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 Projects: 40%     

v Midterm: 25%

v Final: 30%

 

* There will be separate curves for graduate and undergraduate students.

* 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 two hands-on "individual" programming projects 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 right before or after each class.

 

Date

Lect.

Title

Notes

Aug 27

1

Introduction (2spp)

Read Ch.1

Aug 29

2

Operating System Structures (2spp)

Read Ch.2

Sep 3

3

Processes (2spp)

Read Ch.3; Recitation-1

Sep 5

 

 

Rosh Hashanah

Sep 12

4

Threads (2spp)

 

Read Ch.4; Recitation-2; Homework-1

Sep 17

5

CPU Scheduling – I

Read Ch.5Recitation-3

Sep 19

6

CPU Scheduling – II

Sep 24

7

Project-I Discussion

Project-I out; Recitation-4

Sep 26

8

Process Synchronization – I

Read Ch.6;

Oct 1

9

Process Synchronization – II

HW-2 out; Recitation-5

Oct 3

10

Deadlocks – I

Read Ch.7;

Oct 8

11

Deadlocks – II

 

Oct 10

12

Main Memory – I

Read Ch.8

Oct 15

13

Midterm Review

 

Oct 17

 

MIDTERM EXAM   (Room: Davis 101)

@2:00pm-3:20pm

Oct 22

14

Midterm Discussion

 

Oct 24

15

Main Memory – II

 

Oct 29

16

Virtual Memory – I

Read Ch.9; HW-3 out

Oct 31

17

Virtual Memory – II

 

Nov 5

18

Project-II Discussion

Project-1 due; Project-2 out

Nov 7

19

File Systems – I

Read Ch.11-12

Nov 12

20

File Systems – II

 

Nov 14

21

Mass Storage & I/O – I

Read Ch.10

Nov 19

22

Mass Storage & I/O – II

 

Nov 21

23

Project Discussion

 

Nov 26

24

Distributed Systems – I

Read Ch. 17

Nov 28

 

 

Fall Recess

Dec 3

25

Distributed Systems - II

 

Dec 5

26

Final Review

 

Dec 10

 

FINAL EXAM                    (Room:NSC 201)

@3:30pm–6:30pm