This repo contains code, notes, and the reference material I used while learning Operating Systems.
1) Operating System Course (Instructor: Lakshay)
https://www.youtube.com/watch?v=3obEP8eLsCw&t=37440s
2) Operating System Playlist (Instructor: Numan Ali)
https://www.youtube.com/watch?v=Yo2MASx_Kko&list=PLnd7R4Mcw3rLVqVWxTlC99FeDbzjJZO-F
I have followed this playlist up to video 17
https://www.dropbox.com/scl/fo/tlu4xxhujr9h2zh91igzu/ADL4DdNdCTqdUY15r9BoLh8?rlkey=kygzvtcscu3cgr42yz8a8ce2w&e=1&dl=0 ( course slides)
- What an Operating System is and its role
- How a process is created and how CPU switches between processes
- Process states and context switching
- Multitasking and multithreading in OS
- Critical section problem and synchronization basics
- Semaphores and condition variables
- Producer-Consumer problem
- Reader-Writer problem
- Dining Philosophers problem
- Deadlock and deadlock handling techniques
- Memory management and free space handling
- Paging and segmentation
- Virtual memory and demand paging
- Page replacement algorithms
- Thrashing and its effects