Operating System Concepts

M. Afzal Bhatti


Objectives

The aim of lecture topics of this course is to introduce basic concepts in operating systems, and how different choices in Operating System design and implementation have effects on applications, and user environments.


[Lectures]  [Lecture Notes]  [Exercises]


BS level course: topical lectures (video Urdu/Englsih), exercises(English) and lecture notes(Englih). Better to first read notes of a lecture and then view lecture.


Have already taken operating system course ?

  You may like to refresh concepts of a specific topic of operating system course:

        Try to solve questions in Exercises of a specific lecture topic, if done easily, Good skip lecture topic.

              otherwise read lecture notes, or view lecture of the topic.


Lectures

  1. Operating System - An overview - Operating System types with historical perspective
  2. Memory Management Basics - Memory Addressing - Logical to Physical Address Transaltion
  3. Memory Management - Fixed/Variable partitions Allocation
  4. Paging - non-contiguous allocation and Address Translation
  5. Segmentation; Paged segmentation; Multilevel paging
  6. Virtual Memory - Demand paging. Virtual to Physical Address Translation
  7. Page Replacement Algorithms
  8. Process and Threads
  9. Processor Scheduling Policies
  10. Virtual Round Robin, Multilevel Feedback Queues
  11. Process coordination - Critical Section Problem - Software Solution
  12. Hardware based Solutions of Critical Section Problem
  13. Semaphores for Mutual Exclusion & Synchronization - N-Process Mutual Excluion
  14. Use of Semaphores for Producer-Consumer Problem
  15. Use of Semaphores for Reader/Writer Problems - Reader's Priority
  16. Use of Semaphores for Reader/Writer Problems - Writer's Priority
  17. Use of Semaphores for Dining-Philosophers-Problem
  18. Inter-Process Communication - Message Passing to solve Synchronization Issues
  19. Deadlocks Conditions - Prevention and Avoidance
  20. Deadlocks - Illustartion of Avoidance and Detection Algorithms and Recovery
  21. Information-Storage-Management-Disk Scheduling
  22. File System - File Organization, Access Methods, Disk Space Allocation
  23. File System - Functions, Implementation, Protection

Lecture Notes

  1. Operating System - An overview - Operating System types with historical perspective
  2. Memory Management Basics - Memory Addressing - Logical to Physical Address Transaltion
  3. Memory Management - Fixed/Variable partitions Allocation
  4. Paging - non-contiguous allocation and Address Translation
  5. Segmentation; Paged segmentation; Multilevel paging
  6. Virtual Memory - Demand paging. Virtual to Physical Address Translation
  7. Page Replacement Algorithms
  8. Processor Scheduling Policies
  9. Hardware based Solutions of Critical Section Problem
  10. Semaphores for Mutual Exclusion & Synchronization - N-Process Mutual Excluion
  11. Use of Semaphores for Reader/Writer Problems - Writer's Priority
  12. Use of Semaphores for Dining-Philosophers-Problem
  13. Inter-Process Communication - Message Passing to solve Synchronization Issues
  14. Deadlocks Conditions - Prevention and Avoidance
  15. Information-Storage-Management-Disk Scheduling
  16. File System - File Organization, Access Methods, Disk Space Allocation

Exercises

  1. Memory Management - Fixed/Variable partitions Allocation
  2. Paging - non-contiguous allocation and Address Translation
  3. Segmentation; Paged segmentation; Multilevel paging
  4. Page Replacement Algorithms
  5. Processor Scheduling Policies
  6. Process coordination - Critical Section Problem - Software Solution
  7. Semaphores for Mutual Exclusion & Synchronization - N-Process Mutual Excluion

Recommended Readings

  • A. Silberschatz et al, Operating System Concepts, 9/e, Wiley, 2013
  • W. Stallings, Operating Systems: Internal and Design Principles, 7/e, Prentice Hall, 2012

Acknowledgements

While teaching operating systems course at Quaid-i-Azam University, I enhanced my understating of operating systems from two main text books used for the course 'Operating System Concepts' by A. Silberschatz et al' and 'Operating Systems: Internal and Design Principles' by W. Stallings. Lecture notes are also prepared from these books listed as recommended readings for this course.

Exercises for lecture topics are mostly from course quizzes and exam papers at Quaid-i-Azam University, I am grateful to all students who solved those questions in exams and during lectures ask questions to clarify concepts of different topics.

For lecture presentations some images and animation ideas are taken from OS lecture presentations available at web.

I am grateful to Dr. Rabeeh Ayaz Abbasi (CS-department, Quaid-i-Azam University) for creating "CS-Concepts-hub" site repository and "Operating-System-Concepts" course repository and pages at github.com