Course runs in Slot 1:
Monday 8.30-9.25, Tuesday 9.30-10.25, Thursday 10.25-11.30
Place:
SIC-201, Kanwal Rekhi Building
Associated lab CS 377: Monday 2.00 - 5.00 in New Software Lab
Teaching Assistants: Abhay kadam, Anurag Sharma, Prashan Sachdeva, Neeraj Dhariwal, Vibhor Kulshrestha
email ids: {abhaykadam,anuragsharma,sachdevap,neerajd,vibhork}@cse.iitb.ac.in
The course will be based on the following book:
D. M. Dhamdhere : Operating Systems---A concept-based approach,
Second Edition,
Tata McrGraw Hill, 2006.
Syllabus of the course
Introduction to Operating Systems. Interaction between the OS, computer system and user programs.
Process management---Creation and scheduling of processes, Process synchronization, Message Passing, Deadlocks.
Memory management---relocation and execution of programs, sharing of programs, Virtual memory management.
File systems---file organization, directory structures, file system reliability.Disk scheduling.
Security and Protection.
Plan/log of lectures:
Lecture 1 (21 July 2011):
Introduction to the course.
Introduction to critical thinking skills.
Power of abstraction as a focusing tool.
Slides
Lecture 2 (25 July 2011):
Goals of an OS. Fundamental tasks of an OS.
Program management and scheduling. Overhead of OS operation.
Slides
Lecture 3 (26 July 2011):
Resource management policies---partitioning of resources and pool-based allocation.
Security and Protection.
Lecture 4 (28 July 2011):
Overview of the course---how the OS controls operation of the OS, how programs
and resources are managed, process interactions and deadlocks.
Fundamentals of computer architecture.
User accessible registers and the PSW.
Lecture 5 (1 August 2011):
Memory hierarchy. Performance issues in memory hierarchies.
I/O organization. Operation of the DMA.
Slides
Lecture 6 (2 August 2011):
Interrupts---the interrupt action, interrupt processing, masking of interrupts.
Lecture 7 (4 August 2011):
System calls.
Operating system features for different computing environments---Performance measures in non-interactive and interactive environments.
Batch processing systems. Multiprogramming systems---architectural support.
Quiz 1
Lecture 8 (8 August 2011):
Multiprogramming operating systems---program mix and program priorities.
Lecture 9 (9 August 2011):
Time sharing systems. Real time systems.
Lecture 10 (11 August 2011):
Introduction to processes.
Slides
Lecture 11 (16 August 2011):
Process management: Process control block and process environment.
Switching between processes.
Process states and event management.
Lecture 12 (18 August 2011):
Process states (contd.) Swapping states; event management.
Introduction to threads---concept and benefits.
Quiz 2.