E0 253 Operating Systems
Prof K Gopinath
Topics covered
- Introduction
- History of UNIX/Linux
- Basics of Linux kernel
- Virtual machines
- x86 architecture
- System calls
- Various bin utilities
- Kernel modules
- Executable file format
- Synchronization
- Peterson alg
- Program correctness
- N-process alg
- Ticket alg
- Bakery alg
- Lamport's alg
- Atomicity
- Race conditions
- Semaphores
- Monitors
- Message passing
- Process management
- fork, execv, shell
- Login process & passwords
- Process states
- Switching & saving state
- Threads
- User-level thread library
- Kernel threads
- Light weight process
- POSIX model of concurrency
- Signals, pselect sys call
- Scheduling
- Switching
- Models and metrics
- Online/offline
- Swapper/scheduler
- Scheduling in UNIX/Linux
- Some subtilities of scheduling
- Virtual Memory
- Introduction
- Case studies: SVR4 VM, BSD
Texts and references
- Daniel P. Bovet and Marco Cesati, Understanding the Linux Kernel, O'Reilly ( ebook )
- Uresh Vahalia, UNIX Internals: The New Frontiers, Prentice Hall
- Maurice J. Bach, The Design of the UNIX Operating System, Prentice Hall
- Internet
Lecture slides
Assignments
Exams