Lecture: | Mon 6:00P- 8:20P Weaver CIWW 1302 | |
Instructor: | Hubertus Franke, frankeh@cs.nyu.edu | |
TAs/Graders: |
Jiakai Zhang,
(jiakai.ta@gmail.com)
| |
Office Hours: and TA Assignment |
[0-9] Franke: Mon 8:20 (after class) in class room or Weaver 320 [A-Z] Zhang : Fri 3:00-4:00 CIWW 13th floor (lounge) | |
Prerequisites: | Common CS knowledge and programming skills Four labs consists of approximately 500-600 lines of code each (give and take). This class is designated as class to emphasize programming in C and/or C++. We allow the first lab we programmed in Java or Phyton (or a commonly available language that we can actually grade). Subseqent classes will be based on C/C++. | |
Text book: |
Author: Andrew Tannenbaum Title: Modern Operating Systems Edition: 4th (you will also survive 3rd) Publisher: Prentice Hall ISBN-13: 978-0-12-3591620 or 978-0-13-6006663-2 ISBN-10: 0-13-359162X or 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. You will initially not be required to have C or C++ knowledge, but after the first of four labs you will have to move over to C/C++. Each of the four labs is approximately 600 lines of code.
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 and I/O schedulers. It will allow you to get and experiment with the concept rather than spending endless hours debugging tedious operating system code.Grades are based on the labs, the midterm and final exam, each being important.
The weighting will be:
Lab Assignments | 65% |
MidTerm (ain't happening) | 0% |
Final | 35% |
Date | Topic | Handouts | Readings | Assignments | |
5/23 |
Introduction: Computer System Architectures (what does the OS manage) |
Class Overview , Introduction to O/S |
Chapter 1 |
Lab 1 Due 6/7
|
|
5/30 | Intro + Processes and Threads |
Processes and Threads | Chapter 2 | ||
6/6 |
Processes and Threads and Scheduling |
Scheduling | Chapter2 | Lab 2 Due 6/28 | |
6/13 |
Concurrency | Concurrency |
Chapter 6 | ||
6/20 |
Memory Management 1 |
Memory Management 1 |
Chapter 3 |
||
6/27 |
Memory Management 2 |
Memory Management 2 |
Chapter 3 |
Lab 3 Due 7/19 | |
7/4 |
Independence Day Holiday OFF |
Read the US Constitution | |||
7/11 |
I/O-1 |
I/O-1 |
Chapter 5 | ||
7/18 |
I/O-2 |
I/O-1 |
Chapter 5 | Lab 4 Due 8/2 | |
7/25 |
File Systems |
Filesystems |
Chapter 4 |
8/1 |
Networking/Review |
Networking |
No book chapter |
8/8 |
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++.
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/summer2016/courses |
Graduate cs.nyu.edu schedule: | http://cs.nyu.edu/webapps/summer2016/Graduate/courses |
Academic integrity policy: | http://cs.nyu.edu/web/Academic/Graduate/academic_integrity.html |