Operating Systems
CSCI-GA.2250-001, Fall 2012





Good Luck on the Final.





General Information

Lecture:
Wed 7:10PM - 9:00PM CIWW Rm 109
Instructor: Hubertus Franke, frankeh@cs.nyu.edu
TAs/Graders: (lastname) [A-L]*: Jiakai Zhang (zhjk at nyu dot edu)
(lastname) [M-Z]*: Monish Vachhani (mkv218 at nyu dot edu)
Office Hours:
Franke: Wed 6:00 - 7:00 CIWW Rm 328 or after class
Monish Vachhani: Tue 12:00 - 1:00 CIWW Lounge
Jiakai Zheng: Th 12:00 - 1:00 CIWW Lounge
Prerequisites: G22.1170 (algorithms)
Text book: Author: William Stallings
Title: Operating Systems: Internals and Design Principles
Edition: 7th
Publisher: Prentice Hall
ISBN-13: 978-0-13-230998-1
ISBN-10: 0-13-230998-X

Course Description

This course is an introductory course in operating systems (OS), focusing on the core concepts of operating systems. The emphasis will be on understanding general concepts that are applicable to a wide range of operating systems, rather than a discussion of the features of any one specific system. Topics that will be covered include:

Examples will be from Unix/Linux and Windows. Programming assignments will be based on C, C++, or Java.

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.

Textbook

Author: William Stallings
Title: Operating Systems: Internals and Design Principles
Edition: 7th
Publisher: Prentice Hall
ISBN-13: 978-0-13-230998-1
ISBN-10: 0-13-230998-X

Computer Accounts and Mailman Mailing List

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++.

homeworks and Labs

I make a distinction between homeworks and labs. Both are required and form part of your grade.

Labs (aka programming assignments) are

Homeworks are

Doing Labs on non-NYU Systems

You may solve lab assignments on any system you wish, but ...

Obtaining Help with the Labs

Good methods for obtaining help include

  1. Asking me during office hours (see web page for my hours).
  2. Asking the mailing list.
  3. Asking another student, but ...
    Your lab must be your own.
    That is, each student must submit a unique lab. Naturally, simply changing comments, variable names, etc. does not produce a unique lab.

Grades

Grades are based on the labs, the midterm nad final exam, and the class participation, each being important. The weighting will be approximately:
Homeworks10%
Lab Assignments45%
MidTerm15%
Final30%
This is a graduate level class, so I am looking for lively interactions during the class and not just presence. The midterm will be given on 10/17/2012 The final will be given on 12/19/2012.


Class Materials, Handouts, Lectures and Assignments

LecturesDateTopicHandouts ReadingsAssignments
1
09/05
Introduction: Computer System Architectures (what does the OS manage)
Intro/Overview/Lab1-explain
Chapter-1
Chapter 1 hw01 (Due 9/12)
lab1 (Due 9/19)
2
09/12
Introduction: What is an OS anyway
Chapter-2
Chapter 2 hw02 (Due 9/19)
3
09/19
Processes/Threads
Chapter-3
Chapter 3 hw03 (Due 9/26)
lab2 (Due 10/10)
4
09/26
Processes/Threads
Chapter-4
Chapter 4 hw04 (Due 10/3)
5
10/03
Scheduling
Chapter-9 Chapter 9 hw05 (Due 10/10)
6
10/10
Scheduling
Chapter-10
Chapter 10 hw06 (Due 10/17)
7
10/17
Midterm (~55min)
Memory Management
Chapter-08
Chapter 8 No homework
lab3 (Due 11/21)
8
10/24
Memory Management Chapter-07
Chapter-08
Chapter 7
Chapter 8
hw08 (Due 11/01)

10/31
Cancelled due to NYC emergency (moved to December)



11/07 No Class (due to travel) will extent other classes to make up


9
11/14
Memory Management , I/O Chapter-08
Chapter-11
Chapter 8
Chapter 11
hw09 (Due 11/21)
lab4 (Due 12/05)
10 11/21 I/O , File Management Chapter-11
Chapter-12
Chapter 11
Chapter 12
No homework (enjoy Thanksgiving)
11 11/28 File Management Chapter-12 Chapter 12 hw10 (Due 12/5)
12 12/05 Concurrency Chapter-05
Chapter-06
Chapter 5 No homework .. read the chapters
13 12/13 Class moved to Thursday Room 101


14 12/19 Final Exam



Grade/Point Distribution through Midterm

A: 90-100
B: 80-90
C: 70-80
D: 60-70
F: < 60
Note that this is for you to gauge where you are. the TAs will send out the individual points to each of you.
All homework accounted for 10%, the 2 labs for 45% and the midterm for 45%. Grade -/+ will be assigned with in the range of -/+ 2.5


See also

Graduate cs.nyu.edu courses: http://cs.nyu.edu/webapps/summer2012/courses
Graduate cs.nyu.edu schedule: http://cs.nyu.edu/webapps/summer2012/Graduate/courses
Academic integrity policy: http://cs.nyu.edu/web/Academic/Graduate/academic_integrity.html

http://cs.nyu.edu/courses/summer12/G22.2250-001/index.html