Operating System (IOPS332C, 2-1-1)
Course Objective:
Course Outline:
Component | Unit | Topics |
---|---|---|
Unit 1 : Introduction and System Calls |
OS Basics - Definition, Operating Systems as resource manager, Evolution of OS, Structural overview,Types of OS
System Calls, Types of System Call, Hardware requirements: protection, context switching, privileged mode;
Process Concepts;
Process Concepts : Process, Operation on Process, system calls for process operations
Threads : Overview, Multithreading Models, Threads and their Management;
|
|
Unit 2: Process Management |
CPU Scheduling : Scheduling Criteria, Scheduling Algorithms, Multiple-Processor Scheduling
Interprocess Communication : Concept of shared memory, message passing, pipes
Process Synchronization : The Critical-Section Problem, Peterson's Solution, Synchronization Hardware, Monitors, Semaphores, Classic Problems of Synchronization
Deadlocks : System Model, Dynamic Resource Allocation, Deadlock Characterization, Methods for Handling Deadlocks, Deadlock Prevention, Deadlock Avoidance, Deadlock Detection, Recovery From Deadlock |
|
Unit 1 : Memory Management |
Main Memory Basics, Swapping, Contiguous Memory Allocation, Paging, Structure of the Page Table, Segmentation, Basics of Virtual Memory, Demand Paging, Page Replacement, Allocation of Frames, Thrashing
|
|
Unit 2: File Management |
Storage Management : Mass-Storage Structure, Overview of Mass-Storage, Disk Scheduling, Disk Management, Design of IO systems
File Management : File Concept, Protection, Access Methods, Directory Structure, File-System Mounting, File Sharing, File-System Structure, File-System Implementation, Directory Implementation, Allocation Methods, |
|
1. Abraham Silberschatz Peter B. Galvin and Greg Gagne,
Operating System Concepts, Wiley 8th Edition, 2008. [Slides Available Here] 2. Garry. J. Nutt,
Operating Systems: A Modern Perspective, 3. Andrew S. Tanenbaum and Herbert Bros, Modern Operating Systems (4th Edition), Pearson 4. William Stallings , Operating Systems: Internals and Design Principles, Prentice Hall of India
5. D. M. Dhamdhere ,
Operating Systems: A Concept-Based Approach, Tata McGraw-Hill 5. Russ Cox, Frans Kaashoek, Robert Morris ,
xv6: a simple, Unix-like teaching operating system Important Instructions: 1.
The course will be conducted in off-line mode. Lectures will be deliverd using chalk-board/slide presentation. All announcements and notifications related to the course will be made available via Google classroom page for the course. A Google classroom for the Operating System course has been created and students are expected to register themselves in order to receive updates regarding the course, notifications and important links.
2.
Official slide sets and miscellaneous study materials from some of the main
text books will be uploaded on the web site on a regular basis. 3.
Every student is expected to have access to at least
one of the reference books mentioned above-. 4.
Attendance in the classes is mandatory. If the
attendance of a student falls below 75%, he/she may will be dropped from the course after Component 2 5.
The course will consist of take-home
assignments and laboratory assignments, which has to be done very seriously. If a student does not submit
the assignments, his/her grade will remain as incomplete. In addition a short quiz will be conducted at the end of each lecture. 6.
Grading Policy :
o 30%:
Component 1 - Closed book exam (7.5%); Evaluation of Home-Work assignments (7.5%); Weekly Viva (5%) and Evaluation of Lab assignment in the form of demo and viva (10%) o 30%:
Component 1 - Closed book exam (7.5%); Evaluation of Home-Work assignments (7.5%); Weekly Viva (5%) and Evaluation of Lab assignment in the form of demo and viva (10%) o 40%:
Component 3 - Closed book exam (10%); Evaluation of Home-Work assignments and lab assignments(10%); Project evaluation (20%) 7.
Take-home assignments : They will be assigned at the beginning of a module (announcements will be made on the course web-site every week). These assignments will not only help you in development of an in-depth idea of each topic of the course but will also serve to prepare for your written examinations.
There will be two kinds of take home assignments :
(i) Homework assignments - To be done individually. These assignments need not be submitted but it is expected that the students complete them in order to have better understanding of the concepts covered in lecture sessions. Interact with your TAs during tutorial sessions to clear your doubts regarding the homework assignments. 8.
Tutorial Classes : The tutorial classes scheduled every week will have a dual role in the course. First they will serve as doubt clearing sessions where the TAs will interact with the students to clear their doubts and discuss the homework assignments. The second purpose of the tutorial classes would be to assess the understanding of the concepts through quiz/viva conducted on-line. 9.
The lab classes will mainly consist of implementation of operating sytsem concepts discussed in class and the assignments covered in tutorial sessions. Students will also perform hand on with the xv6 operating system
Lab Page of the course website Announcements: Interesting Links 1.
The UNIX Operating System, AT&T Archives, at YouTube
3.
A Narrative History of BSD, Kirk McKusick, at YouTube Lecture Slides:
(ii) Group Assignments - To be done in groups of four (max). These problems will be more harder problems involving rigorous mathematical/analytical treatment or implementation based assignments. These assignments which have to be completed within a given deadline and will be evaluated in the third (C3) component.