Quiz1: Sept 8;
Midsem: Sept 22
Quiz II: Nov. 14
End-semester Exam: Nov. 28
Class Coverage:
1. Introduction to Operating Systems
2. The Course Overview
3. Brief History of OS Evolution
4. OS Functionalities
5. Processes: contexts, modes and states
6. Analysis of the 3 state model
6. Evolving the State-Transition model
6. CPU Scheduling: The ends and the means
7. The FCFS and its performance; convoy effect
8. SJF,SRTF,RR; starvation, fairness, response
times, context switches, predictability
9. Priority queues, priority computations, effect
of aging
10. Estimates and a Predictive policy
11. The 4.3 BSD policy
12. Effect of the Decay factor, load dependent
decay factor
13. Improvisations of 4.4 BSD, SVR 4
14. Priority Inversion and Priority Inheritance
15. Concurrent accesses to a shared resource;
The Critical Section Problem
16. Attempting a 2-process solution with one
shared boolean variable
17. The problems of non-progressiveness, starvation,
deadlocks and livelocks
18. Solutions of Dekker and Peterson
19. Relevance of the algorithmic approaches to
critical section to
operating systems
and to an OS course
20. An n-process solution: Lamport's 'Bakery'
21. Atomic Instructions: Test and Set, Swap
22. Binary and Counting Semaphores and their
implementations
23. Benchmark Problems of Synchronization
24. The Bounded Buffer
25. Dining Philosophers
26. Readers and Writers
27. Critical Regions and Conditional Critical
Regions
28. Monitors
29. Occurrence of Deadlock;
30. Deadlock Characterization (SISR, SIMR,MISR,
MIMR systems)
31. Deadlock Handling Approaches: Prevention,
Detection and Avoidance
32. Requirements of memory management systems
33. Evolution of memory management
34. Address bindings (static-load-execution)
and consequences to memory management
35. Logical Vs. Physical Addresses and address
translation
36. CAFP, CAVP, NCVP and NCFP Policies
37. Performance and caching
38. Large Logical Address Spaces
39. Virtual Memory Techniques
40. Page Faults, Page Replacement Algorithms
41. Thrashing
42. Working Sets
43. File Systems: Issues
44. File Systems: Case Study 1
45. File Systems: Case Study 2
References
1. Silberschatz and Galvin, Operating
System Concepts, Fifth Edition,
Addison Wesley, 1998.
2. D.M. Dhamdhere, Systems Programming
and Operating Systems, Second
Edition, Tata McGraw Hill, 1999.
3. Uresh Vahalia, Unix Internals: The new frontiers, Prentice Hall, 1996.
4. McKusic, Bostic, Karels, Quarterman,
The Design and Implementation of
the 4.4 BSD Operating System,
Addison Wesley, 1996.
Additional Readings
1. Operating Systems in a Changing World by Maurice
Wilkes, Olivetti Research,
Cambridge, England
2. section 1.2, History of Operating Systems, from Tanenbaum and Woodhull
3. Linux Kernel - an online guide
4. Fernando J. Corbató: On Building Systems
That Will Fail. Communications
of the ACM 34(9): 72-81(1991); ACM Turing
Award Lecture 1990.
Some articles have been filed in the OS file kept in CSE
library. Please contact the
librarian for articles in this file.
Labs
Lab 1: On Process Accounting (closed)
Lab 2: Source Code Reading (closed)
Lab 3: Scheduling (closed)
Lab 4: Synchronization: A game of cricket
through semaphores, threads
and shared memory (closed) A
tutorial on pthreads
Lab 5: Source Code reading (closed)
Lab 6: System Call Implementation on LINUX.
Instructions: Five Machines have been identified for kerenl-based
assignments.
Get your slots assigned by the TAs. Keep the existing kernel intact and
generate
a different boot image of your own.
Miniprojects
Deadline for completion: Nov. 15, 2000.
Teaching Assistants:
Neeraj Bhope (neerajb@everest)
Chandrashekhar (chandu@everest)
M Srikrishna (msk@kailash)