| CS341 | OPERATING SYSTEMS | July 2014 -Nov 2014 | Instructor: Dr. A. Sahu (email:asahu) |
TAs: [M Tech II: Akash Bharti, Pranjal Borah]
Course Structure:
- Process Management: process, thread, scheduling; Concurrency: mutual exclusion, synchronization, semaphores, deadlocks; Memory Management: allocation, protection, hardware support, paging, segmentation;
- Virtual Memory: demand paging, allocation, replacement, swapping, segmentation, TLBs; File Management: naming, file operations and their implementation; File Systems: allocation, free space management, directory management, mounting; I/O Management: device drivers, disk scheduling.
Lectures (Thanks to (a) Galvin, author of OS Book, (b) Herlihy author of Art of multiprocessor programming, and (c) Brucker, author of Scheduling Algorithms book for providing PPT Slides)
- 30th July 2014: Introduction to CS341 PDF Slides
- 31th July 2014: Introduction to OS PDF Slides
- 05th Aug 2014: Review of Comp Arch From OS Prospects PDF Slides
- 07th Aug 2014: Multicore/thread, Multi-programming, multi tasking, user/kernel mode in OS PDF Slides
- 12th Aug 2014: OS Services and Structure PDF Slides
- 13th Aug 2014: System Call and System Program PDF Slides
- 14th Aug 2014: System Call and System Program, Static/Dynamic Linking/Loading Example Cntd.. PDF Slides
- 19th Aug 2014: OS Types, Envt, Design Approach PDF Slides
- 20th Aug 2014: Process State, PCB, JOB Queue, Context Switch, Scheduler PDF Slides
- 21st Aug 2014: Process Creation, Termination, I/O, Scheduling Criteria PDF Slides
- 26th Aug 2014: Process Scheduling Flow Time,Waiting Time, 2 CPUs, FCFS, SJF, SJF-I,Burst PredictionPDF Slides
- 27th Aug 2014: Process Scheduling: Priority, RR, Multilevel Queue, α|β|γ Notation PDF Slides.
- 28th Aug 2014: Scheduling Algorithm α|β|γ, 1|∑wjCj, P/Q|ptmn|Cmax, P|Cmax [Sec 5.1, Brucker EBook] PDF Slides
- 02nd Sep 2014: Scheduling Algorithm: Approx for P||Cmax (Algorithm EvaTardos-Page 600)PDF Slides
- 03rd Sep 2014: Scheduling Algorithm: Approx for P|prec,pj=1|Cmax (Algorithm:CLR Book page 779) and Distributed Scheduling (Load Balancing Vs Load Sharing) PDF Slides
- 04th Sep 2014: Cilk and Work Stealing, Real Time Scheduling (Chapter 4, Buttazzo Book and Chap 27, CLR BookCilkProject@MIT) PDF Slides
- 09th Sep 2014: Quiz/Take home on Power Aware (/Cloud) Scheduling PDF Slides
- 10th Sep 2014: Threading(Uthread, Kthread, Hthread), Uthread Vs KThread, Mapping UT to HT by Bypassing OS, Thread API, Mutex/Lock PDF Slides
- 11th Sep 2014: Pthread APIs: mutex, condition, barrier, TLS, Thread Safe DSPDF Slides.
- 16th Sep 2014: Lock/Unlock: Algorithms, Event, Time, Poset/Toset, Mutex+Deadlock Free+Starvation Free (Chap 2, Book: Art of Multiprocessor Programming, and Galvin Book) PDF Slides
- 17th Sep 2014:Two thread Sync+Proof, N thread Filter and Lamport Bakery Sync Algorithm, Lock with TAS/CAS PDF Slides
- 18th Sep 2014:LL/SC==> TAS/CAS/XCGH/FAI ==> Lock/Unlock ==> Mutex ==> Semaphore ==> Monitor; TAS/TTAS, Semaphore PDF Slides
Mid Semester Examination 22nd Sept 2014:2PM-4PM, L1/L2/L3/L4[[Question]][[ModelSolution]]
- 30th Sep 2014:Classical Problem of Mutex and Monitor PDF Slides
- 01st Oct 2014:Monitor, Deadlock (Conditions for deadlock, Prevention and Avoidance) PDF Slides
- 07th Oct 2014:Deadlock: Avoidance (Banker Algorithm), Detection (WFG) with Removal PDF Slides
- 08th Oct 2014:Wrapping up Deadlock part, Main Memory PDF Slides
- 09th Oct 2014:Logical and Physical Address, MMU, Relocatable Address, Dynamic/Static linking, Dynamic/Static loading, Swap In/Swap out in PC (> 4GB, mostly un-utilized RAM) and Mobile (SSD: read/write asymmtry and bound on num write)?PDF Slides
- 14th Oct 2014:Memory Allocation: Fixed, Variable (first fit, best fit, worst fit) and Buddy PDF Slides
- 15th Oct 2014:Segmentation, Paging, Segmentation with Paging PDF Slides
- 16th Oct 2014:Paging and Virtual Memory PDF Slides
- 21st Oct 2014:Virtual Memory PDF Slides
- 22nd Oct 2014:VM PDF Slides
- 29th Oct 2014:VM : Page Replacement (FIFO, Optimal, LRU, LRU Implementation (Stack, Counter, Shift Reg+Comparator, Ref Bit and Second Chance, and Ref Bit+Modified Bit), Buffer frames/Victim Frame, Double Buffering) PDF Slides
- 30th Oct 2014: Frame Allocation, Thrashing, Working Set, Dynamic Utility Based Frame Allocation (LB, UB) PDF Slides
- 31st Oct 2014: HDD and (Quiz 2) PDF Slides, Question and Solution for Quiz 2 CS341-Quiz2.pdf
- 01st Nov 2014: FS and LDD:I/Os, Mass Storage, HDD Basic, Disk Arm Scheduling PDF Slides
- 05th Nov 2014:FS : RAID (Performance, Reliability, Availability, Capacity :PRAC) PDF Slides
- 11th Nov 2014:FS : File System Basic and Interface, I-node, Header PDF Slides
- 12th Nov 2014:FS : I-node and Disk AllocationPDF Slides
- 13th Nov 2014:LDD: Device Driver and Conclusion PDF Slides
End Semester Examination 21st Nov 2014:1PM-4PM, L1/L2/L3/L4 [[Question]], [[ModelSol]]
Text Book
- Silberschatz, A. and Galvin, P. B Operating System Concepts, 8/e. Wiley, 2008
Reference Books
- Maurice Herlihy, Nir Shavit, Art of Multiprocessor Programming, Elsevier 2009
- Buttazzo Giorgio C. Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications , Springer Verlag, 2011
- Peter Brucker Scheduling Algorithms , Springer-verlag, 2007 EBook PDF
- M Pinedo Scheduling: Theory, Algorithms, and Systems , Springer-verlag, 2008
- Jonathan Corbet, Alessandro Rubini
Linux Device Drivers, 3rd Edition Paperback – February 14, 2005 ,3rd Edition O'Reilly Media, 2005 EBooks Link
Class timing, Venue and Rules
- Venue: 3202, Time: Tue 9AM-10AM, Wed 10AM-11AM, Thu 11AM-12Nn (Slot for makeup class Mon 8AM-9AM) and Rule: 75% attendance is mandatory
- Grading: 5% class participation, 30% mid sem, 45% end sem, 10% Quizs (2 Quizs), 10% take home exams (2, will be announced in class and to be submitted in the next class)