Lecture: | Mon 6:00P- 8:20P Weaver CIWW 101 | |
Instructor: | Hubertus Franke, frankeh@cs.nyu.edu | |
TAs/Graders: | Ajay Khanna, Hubertus Franke, ak4533@nyu.edu TBD | |
Office Hours: |
Franke: Mon 5:30 - 6:00 CIWW Rm 328 or 320 (look in both) and after class Khanna: Thu 8:00 - 9:00 CIWW 13th Floor | |
Prerequisites: | Common CS knowledge and some programming skills. | |
Text book: |
Author: Andrew Tannenbaum Title: Modern Operating Systems Edition: 3rd or 4th (brand new) Publisher: Prentice Hall ISBN-13: 978-0-13-6006663-2 ISBN-10: 0-13-600663-9 |
Examples will be from Unix/Linux. Programming assignments will be based on C or C++ as Operatings Systems are implemented that way.
This course does not assume that you have taken an Operating Systems course as an undergraduate, or that you have had extensive experience working with one. In fact, if you have taken such a course or have a fair amount of practical experience with OS internals, this course is probably too elementary for you. Please take a look at the course schedule to get a sense of the topics that will be covered: if you can explain most of the terms contained there, you are likely looking for a more advanced course. We will NOT be "hacking" on an operating system but will have lab assignments that deal with the fundamental elements such as different process schedulers and memory management algorithms.
Author: Andrew Tannenbaum
Title: Modern Operating Systems
Edition: 3rd
Publisher: Prentice Hall
ISBN-13: 978-0-13-6006663-2
ISBN-10: 0-13-600663-9
Grades are based on the labs, the final exam, each being important.
The weighting will be:
Homeworks | 0% (optional) |
Lab Assignments | 55% |
Final | 45% |
Lectures | Date | Topic | Handouts | Readings | Assignments |
1 |
6/2 |
Introduction: Computer System Architectures (what does the OS manage) |
Lecture-1 | Chapter 1 |
lab1 (Due 6/16) |
2 |
6/9 |
Structures of OSes + Processes and Threads |
Lecture-2 | Chapter 1 Chapter 2.1-2.2 |
|
3 |
6/16 |
Processes and Threads / Scheduling |
Lecture-3 | Chapter 2.4 |
lab2 (Due 7/7) |
4 |
6/23 |
Synchronization |
Lecture-4 | Chapter 2.3 , 6 |
|
5 |
6/30 |
Memory Management 1 |
Lecture-5 Lecture-6 |
Chapter 3.1-3.3 |
|
6 |
7/7 |
Memory Management 2 |
Lecture-7 | Chapter 3.4++ |
lab3 (Due 7/28) |
7 |
7/14 |
I/O-1 |
Lecture-8 | Chapter 5 |
|
8 |
7/21 |
I/O-2 |
Lecture-9 | Chapter 5 |
lab4 (Due 8/7) Handed out early |
9 |
7/28 |
FileSystems |
Lecture-10 Lecture-11 |
Chapter 4 |
|
10 |
8/4 |
Networking Advanced Topics |
Lecture-12 Lecture-13 |
||
11 |
8/11 |
Final |
Several labs (programming assignments) across the semester will provide practical implementations of operating system concepts such as processor scheduling and memory management. These assignments are accepted in C or C++.
I make a distinction between homeworks and labs. Both are required and form part of your grade.
Labs (aka programming assignments) are
Homeworks are optional, they are there to help get through the material
You may solve lab assignments on any system you wish, but ...
request receiptfeature from home.nyu.edu or mail.nyu.edu and select the
when deliveredoption.
I sent it ... I never received itdebate. Thank you.
Good methods for obtaining help include
Graduate cs.nyu.edu courses: | http://cs.nyu.edu/webapps/summer2014/courses |
Graduate cs.nyu.edu schedule: | http://cs.nyu.edu/webapps/summer2014/Graduate/courses |
Academic integrity policy: | http://cs.nyu.edu/web/Academic/Graduate/academic_integrity.html |