CSE
421/521
Introduction
to Operating Systems
Fall 2014
Instructor:
Prof. Tevfik Kosar
338J Davis Hall, 645-2323
tkosar@buffalo.edu
Office hours: Wed 11:00am-12:00pm, Thu 12:30pm-1:30pm
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, 11:00am – 12:20pm (Knox 110)
Recitation sessions : Tue 3:00pm-3:50pm (Clemen 103), Wed 10:00am-10:50am (NSC 205)
Teaching assistants :
Sharath Chandrashekhara, Luigi Di Tacchio, Kyungho Jeon, and Jerry Anthony Ajay (volunteer)
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.
Piazza Discussion Forum:
We will be using Piazza for class discussions, as well as posting the class related material such as lecture notes, projects, and other important documentation. The system is highly catered to getting you help fast and efficiently from classmates, the TA, and myself. Rather than emailing questions to the teaching staff, I encourage you to post your questions on Piazza. Find our class page at: https://piazza.com/buffalo/fall2014/cse421521/home
Course Schedule (Tentative):
This schedule is tentative and subject to change. Please check Piazza for lecture slides, and other course related documents.
Date |
Lect. |
Title |
Notes |
Aug 26 |
1 |
Introduction |
|
Aug 28 |
2 |
Operating System
Structures |
|
Sep 2 |
3 |
Processes |
|
Sep 4 |
4 |
Threads |
|
Sep 9 |
5 |
CPU Scheduling - I
|
|
Sep 11 |
6 |
Project-1 Discussion
|
|
Sep 16 |
7 |
CPU Scheduling
– II |
|
Sep 18 |
8 |
Process
Synchronization – I |
|
Sep 23 |
9 |
Process
Synchronization – II |
|
Sep 25 |
10 |
Deadlocks
– I |
|
Sep 30 |
11 |
Deadlocks
– II |
|
Oct 2 |
12 |
Main Memory
– I |
|
Oct 7 |
13 |
Main Memory
– II |
|
Oct 9 |
14 |
Midterm Review |
|
Oct 14 |
|
MIDTERM
EXAM (Room: Knox 110) |
@11:00am–12:20pm |
Oct 16 |
15 |
Midterm
Discussion |
|
Oct 21 |
16 |
Virtual Memory –
I |
|
Oct 23 |
17 |
Virtual Memory - II
|
|
Oct 28 |
18 |
Project-II Discussion
|
|
Oct 30 |
19 |
Mass Storage & IO
– I |
|
Nov 4 |
20 |
Mass Storage & IO
– II |
|
Nov 6 |
21 |
File Systems
– I |
|
Nov 11 |
22 |
File Systems
– II |
|
Nov 13 |
23 |
Distributed Systems
– I |
|
Nov 18 |
24 |
Distributed
Systems – II |
|
Nov 20 |
25 |
Protection &
Security – I |
|
Nov 25 |
26 |
Protection &
Security - II |
|
Nov 27 |
|
|
Fall
Recess |
Dec 2 |
27 |
Final Review |
|
Dec 4 |
|
FINAL
EXAM (Room: Knox 110) |
@11:00am–12:20pm |