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 Sep 1 Introduction Sep 4 Introduction Sep 8 System call handling, Process state machine, zombie and orphan processes Sep 11 Process state machine, fork() and exec() Sep 15 Wait(), process inheritance, process address space, context switch Sep 18 IPC intro, pipe(), Sep 22 shared memory, FIFO() Sep 25 Multithreading Sep 29 Process synchronization Oct 2 Analysing code with semaphores Oct 6 Monitors and Transactional memory Oct 9 Memory Mgmt. Basics – linking, loading Oct 13 MINOR – 1 Oct 16 Segmentation, paging, binding Oct 20 TLB, Hierarchical paging, inverted page tables, hashed tables ACTUAL SCHEDULE Oct 23 Virtual memory management Oct 27 frame allocation, thrashing and solutions Oct 30 Intro. to FS Nov 3 Disk allocation strategies Nov 6 FAT, inode, Free space mgmt., Directory implementation Nov 10 MINOR – 2 Nov 13 MBR, VCB, VFS and mounting, Backup, Consistency, Journaling systems Nov 17 I/O subsystem: Programmed and memorymapped I/O, DMA, Block, char and N/W devices, device driver structures and entry points Nov 20 Blocking and non-blocking I/O, Disk scheduling algorithms Nov 24 RAID, NAS, SAN concepts Nov 27 Dec 1 MINOR – 3 Dec 4 Review class (if possible and needed)