Operating Systems 2
Learning materials for the Operating Systems 2 course.
Be warned, that published here lecture notes were not reviewed and despite my best efforts may contain errors!
Lectures
- Introduction --- handout
- Process Management --- handout
- Process Scheduling, Part One --- handout
- Process Scheduling, Part Two --- handout
- System Calls --- handout
- Interrupts Handling --- handout
- Bottom Halves --- handout
- Synchronization in Linux Kernel --- handout
- Time Management And Timers --- handout
- Linux Memory Management --- handout
- Virtual File System --- handout
- Character And Block Devices --- handout
- The Block I/O Layer --- handout
- Process Address Space --- handout
- Networking --- handout
Literature and other resources
Primary Literature:
- Robert Love, "Linux Kernel Development", Third Edition, Addison-Wesley, Upper Saddle River, NJ, 2010
- Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman, "Linux Device Drivers"
- Wolfgang Mauerer, "Professional Linux Kernel Architecture", Wiley Publishing, Inc., Indianapolis, 2008
- Sreekrishnan Venkateswaran, "Essential Linux Device Drivers", Prentice Hall, Upper Saddle River, 2008
- Daniel P. Bovet, Marco Cesati, "Understanding the Linux Kernel, 3rd Edition", O'Reilly Media, Sebastopol 2005
Additional Literature:
- Mel Gorman, "Understanding the Linux Virtual Memory Manager"
- Maurice J.Bach, "The Design of the Unix Operating System”, Prentice Hall 1986