Textbooks: Operating System Concepts, 9th edition, Silberschatz, Galvin and Gagne
Reference Books: Advanced Programming in Unix Environment, W.Richard Stevens,
Unix Network Programming, vol.2, W.Richard Stevens,
Design of Unix Operating System, Maurice Bach
Operating Systems: a design oriented approach, Charles Crowley
Date |
PLANNED SCHEDULE |
ACTUAL SCHEDULE |
July 18 |
Introduction |
Introduction |
July 19 |
fork(), Process state diagram, PCB, zombies/orphans |
How system calls work, Interrupt processing |
July 20 |
What does fork() do exactly? CoW and exec(), wait() |
No class |
July 25 |
Lab Class - 1 |
No class |
July 26 |
IPC: Pipes, Named Pipes, Shared Memory (Features such as blocking/nonblocking, buffered/unbuffered) |
Bootup procedure, review of system calls |
July 27 |
Process scheduling: general concepts, FIFO, SJF, Priority, RR, Multi-level queue, Multi-level feedback queue |
fork(), Process state diagram, PCB, zombies/orphans |
August 1 |
Lab Class - 2 |
fork() experiments |
August 2 |
Context switch, Multithreading |
|
August 3 |
Process Synchronization |
|
August 8 |
Lab Class - 3 |
|
August 9 |
Analysing code with semaphores |
|
August 10 |
Monitors and Transactional memory |
|
August 16 |
MINOR – 1 |
|
August 17 |
Deadlocks: RAG, Deadlock avoidance algos. |
|
August 23 |
Deadlock detection and recovery |
|
August 24 |
Memory Mgmt. Basics – linking, loading |
|
August 29 |
Lab Class - 4 |
|
August 30 |
Segmentation, paging, binding |
|
August 31 |
Review of paging + TLB |
|
September 5 |
Lab Class - 5 |
|
September 6 |
|
|
September 7 |
|
|
September 12 |
Lab Class - 6 |
|
September 14 |
Hierarchical paging, inverted page tables, hashed tables, Intro to VMM |
|
September 19 |
Lab Class - 7 |
|
September 20 |
|
|
September 26 |
Lab Class - 8 |
|
September 27 |
Page replacement, frame allocation, thrashing and solutions |
|
September 28 |
|
|
October 3 |
Lab Class - 9 |
|
October 4 |
Intro. to FS |
|
October 5 |
Disk allocation strategies |
|
October 10 |
Lab Class - 10 |
|
October 11 |
FAT, inode, Free space mgmt., Directory implementation |
|
October 12 |
MBR, VCB, VFS and mounting, Backup, Consistency, Journaling systems |
|
October 17 |
Lab Class - 11 |
|
October 18 |
I/O subsystem: Programmed and memory-mapped I/O, DMA, Block, char and N/W devices, device driver structures and entry points |
|
October 24 |
Lab Class - 12 |
|
October 25 |
Blocking and non-blocking I/O, Disk scheduling algorithms + RAID, NAS, SAN concepts |
|
October 26 |
|
|
October 31 |
Lab Class - 13 |
|
November 1 |
|
|
November 2 |
|
|
November 8 |
MINOR – 3 |
|