Operating Systems (ELL783)


Course Outline and General Information (PDF)


Course Outline

Link to course outline

General Information

No one shall be permitted to audit the course. People are welcome to sit through it, however. The course is open to all suitably inclined M.Tech, M.S.(R) and Ph.D. students of all disciplines. This course is not open to B.Tech and Dual Degree students.

Credits: 4 (LTP: 3-0-2) [Slot A]

Schedule for Classes:

Monday
08:00 - 09:30
IIA-201 (Bharti Building)
Thursday
08:00 - 09:30
IIA-201 (Bharti Building)

Schedule for Examinations:

(To be announced)

Teaching Assistant(s):

Akash Nayak
Hemant Goyal

Books, Papers and other Documentation

Textbook:

Reference Books:

[Internal Link: IIT Delhi]

The above list is (obviously!) not exhaustive. Other reference material will be announced in the class. The Web has a vast storehouse of tutorial material on Operating Systems, and other related areas.

Lecture Schedule, Links to Material (where applicable)

S.No.
Topics
Lectures
Instructor
References/Notes
0
Introduction
01-01
SDR
The design of a bare-bones OS: a glorified interrupt service routine on a timer interrupt. How to design an OS for a simple microprocessor. Instruction set design, interaction with a von Neumann-type architecture. ROM and RAM. Programs and processes. Instruction and data, types of data. How a computer boots up.
04 Jan (Thu) {lecture#01}
SDR
1
The Process Concept
02-05
SDR
[SGG: Chap.3]
The process concept. The Process Control Block. A small sample example for creating processes.
08 Jan (Mon) {lecture#02}
SDR
A small sample example for creating processes (contd). Introduction to two basic actions for a process, the fork and exec family of instructions. Linux's copy-on-write policy, and the clone() system call. A fork bomb. Assignment 1: implementation of a simple shell, using the above theory.
11 Jan (Thu) {lecture#03}
SDR
2
Threads
04-05
SDR
[SGG: Chap.4]
Introduction to threads. The hardware perspective and motivation. A programming example. Linux treats threads and processes alike, with different parameters to the same clone() system call.
13 Jan (Sat) {lecture#04}
SDR
Introduction to threads (contd). Shared memory and processes. Assignment 2: Inter-process communication.
15 Jan (Mon) {lecture#05}
SDR
3
CPU Scheduling
06-xx
SDR
[SGG: Chap.6]
CPU Scheduling: basic performance criteria, basic scheduling algorithms
18 Jan (Thu) {lecture#06}
SDR

Assignments

... A combination of theoretical work as well as programming work.
Both will be scrutinized in detail for original work and thoroughness.
For programming assignments, there will be credit for good coding.
Sphagetti coding will be penalized.
Program correctness or good programming alone will not fetch you full credit ... also required are results of extensive experimentation with varying various program parameters, and explaining the results thus obtained.
Assignments will have to be submitted on or before the due date and time.
Late submissions will not be considered at all.
Unfair means will be result in assigning as marks, the number said to have been discovered by the ancient Indians, to both parties (un)concerned.
Assignment 1
Assignment 2
Assignment 3
Assignment 4

Examinations and Grading Information

The marks distribution is as follows (out of a total of 100):
Minor I
25
Minor II
25
Assignments
25
Major
25
Grand Total
100

ELL783 Evaluation: Programming Assignment Groups, Assignment/Examination-related Information [Internal Link: IIT Delhi]

Attendance Requirements:

As per Institute rules for IIT Delhi students: a minimum of 75% attendance (i.e., a maximum of 7 absents permitted), else one grade less
Illness policy: illness to be certified by a registered medical practitioner
Attendance in Examinations is Compulsory.

ELL783 Attendance Records [Internal Link: IIT Delhi]


Course Feedback

Link to Course Feedback Form

Sumantra Dutta Roy, Department of Electrical Engineering, IIT Delhi, Hauz Khas,
New Delhi - 110 016, INDIA. sumantra@ee.iitd.ac.in