ADVANCED OPERATING SYSTEMS


Textbooks:

  1. Charles Crowley. Operating Systems: A Design-Oriented Approach (OS), Tata-McGraw Hill (2001 or later)
  2. Richard Stevens, Stephen Rago. Advanced Programming in the Unix Environment (APUE), Addison-Wesley (2005 or 2013).

IT LAB (SUPPL/IMPR) EXAM ADOS Questions are now available. Please prepare.

This is a mandatory core course for M. Tech (CS & AI) students. The objectives of this course are to make students understand and learn through programming

  • the creation, management and termination of processes
  • multi-threaded programming
  • interprocess communication and synchronisation
  • file management and file systems
  • devices and device drivers
  • resource (sharable and consumable) management
  • protection of hardware, resources and users
  • issues with multi-core architectures

CLASS TIMINGS

Tuesdays: 2:00PM to 4:00PM
Thursdays: 2:00PM to 4:00PM

Venue: R13 (LHC-1)



Instructor:
Chakravarthy Bhagvati
chakcs@dcis.uohyd.ernet.in

Check out the IT-LAB MINOR (AI) questions. There will be a slightly different set for CS

COURSE SCHEDULE

Note that this is a tentative plan and small changes are always possible! OS refers to Charles Crowley's book and APUE refers to Stevens' book.

You can also read a light-hearted, but definitely useful article titled, How to Program to improve programming style and skills.

Date Topic References
(Usually PDF)
22/07 - 05/08 UNIT - I: PROCESSES AND SCHEDULING
22 July Introduction, Course Plan, Administrative and Grading Policies Syllabus
24 July Process States, Process State Diagram, Linux System Calls APUE Chapter 8
OS Chapters 3, 5
29 July No Class (Ramzan)
31 July Process Implementation, Scheduler, Context-Switching OS Chapter 5
5 August Processes, Process States, Process Groups in Linux APUE Chapter 9
Program using fork()
Tree of processes
7 August Student Discussions
21 August Interprocess Communication: Signals APUE Chapter (Ch 10)
Program using signal()
23 August Introduction to Pipes and Fifos APUE (Ch 15)
25 August Assignment - 1: Due 4 September 2014
26 August Interprocess Communication: Pipes and Fifos APUE Chapter (Ch 15)
pipe-1.c
pipe-2.c
pipe-3.c
pipe-4.c
pipe-5.c
28 August Synchronization
Introduction to Multithreaded Programming
APUE Chapter (Ch 11, 12)
thread-eg.c
thread_1.c
process_1.c
2 September Mutexes: Producer-Consumer Problem (V1.0) Sample Code
4 September Condition Variables: Producer-Consumer Problem (V2.0) Sample Code
9 September POSIX Semaphores: Producer-Consumer Problem (V3.0) Circular Buffer Example
Linear Buffer Example
11 September Student Discussions
16 September Files and File Systems OS Chapter 16
18 September Assignment - 2: Due 30 September 2014
23 September Special Files and Device Drivers -
30 September Writing Device Drivers -
7 October Resource Management OS Chapter 08, 19
9 October Resource Allocation Graphs Notes
14 October Deadlock Management Issues Notes (Same as above)
16 October Virtual Memory - Recap -
21 October Page Table Management Mostly from Web
Mostly from Web
Mostly from Web
28 October Page Replacement Issues From Web
30 October Minor (One Hour; 20 Marks)