# Introduction To Operating Systems

- Institution: IIT Madras
- Department: Computer Science and Engineering
- Teacher: Prof. Chester Rebeiro
- Level: Undergraduate
- Language: English
- Subjects: Computer science, Engineering
- Source: [NPTEL](https://nptel.ac.in/courses/106106144)
- Licence: [CC BY-NC-SA](https://nptel.ac.in/faq) (Non-commercial use only.)
- Syllabus: [at the source](https://nptel.ac.in/courses/106106144)
- Who can watch: Tweens profiles and older (sources give no ratings; placed by Invisible Network from the source's own words)

Operating systems (OS) provide the crucial interface between a computer's hardware and the applications that run on it. It allows us to write programs without bothering much about the hardware. It also ensures that the computer's resources such as its CPU, hard disk, and memory, are appropriately utilized. In this course, we dwell into how the OS manages to do all this in an efficient manner. This is an introductory course, for students with prior knowledge of computer organization. The course is based on an OS called xv6, which in many ways is similar to the Linux operating systems.

INTENDED AUDIENCE B.E./Msc (Computer Science)

PRE-REQUISITES Good knowledge of C, Computer Organization and Architecture, x86 Assembly level programming.

## Lectures

1. [Introduction to the Course](https://invisiblenetwork.ai/learn/nptel/106106144/cb3bef363c07) (YouTube)
2. [Introduction to OS](https://invisiblenetwork.ai/learn/nptel/106106144/3ff8bc3b1d99) (YouTube)
3. [PC Hardware](https://invisiblenetwork.ai/learn/nptel/106106144/5f5d7166e21c) (YouTube)
4. [From Programs to Processes](https://invisiblenetwork.ai/learn/nptel/106106144/767ccd086d36) (YouTube)
5. [Sharing the CPU](https://invisiblenetwork.ai/learn/nptel/106106144/5fd215c97ccd) (YouTube)
6. [Introduction](https://invisiblenetwork.ai/learn/nptel/106106144/8f39a7a0ad5b) (YouTube)
7. [Virtual Memory](https://invisiblenetwork.ai/learn/nptel/106106144/393927afd351) (YouTube)
8. [MMU Mapping](https://invisiblenetwork.ai/learn/nptel/106106144/146df765019f) (YouTube)
9. [Segmentation](https://invisiblenetwork.ai/learn/nptel/106106144/1e07049e3924) (YouTube)
10. [Memory Management in xv6](https://invisiblenetwork.ai/learn/nptel/106106144/a1f0d6f72d67) (YouTube)
11. [PC Booting](https://invisiblenetwork.ai/learn/nptel/106106144/40f7baf92db5) (YouTube)
12. [Introduction](https://invisiblenetwork.ai/learn/nptel/106106144/935accfe34b1) (YouTube)
13. [Create Execute and Exit from Processes](https://invisiblenetwork.ai/learn/nptel/106106144/6293f4d0e003) (YouTube)
14. [System Calls for Process Management](https://invisiblenetwork.ai/learn/nptel/106106144/278c3a3b8875) (YouTube)
15. [Interrupts](https://invisiblenetwork.ai/learn/nptel/106106144/840292b64ea5) (YouTube)
16. [Interrupt Handling](https://invisiblenetwork.ai/learn/nptel/106106144/a0e86b73bebd) (YouTube)
17. [Software Interrupts and System calls](https://invisiblenetwork.ai/learn/nptel/106106144/73343517a9ea) (YouTube)
18. [CPU Context switching](https://invisiblenetwork.ai/learn/nptel/106106144/f49fda3304b3) (YouTube)
19. [CPU Scheduling](https://invisiblenetwork.ai/learn/nptel/106106144/f4ad3afd5271) (YouTube)
20. [Priority Based Scheduling Algorithms](https://invisiblenetwork.ai/learn/nptel/106106144/4c037bd5f581) (YouTube)
21. [Multi-Processor Scheduling](https://invisiblenetwork.ai/learn/nptel/106106144/e9017c9c454a) (YouTube)
22. [Scheduling in Linux](https://invisiblenetwork.ai/learn/nptel/106106144/b19ff0f59123) (YouTube)
23. [Completely Fair Scheduling](https://invisiblenetwork.ai/learn/nptel/106106144/150f415fa974) (YouTube)
24. [Inter Process Communication](https://invisiblenetwork.ai/learn/nptel/106106144/6da851a79e4e) (YouTube)
25. [Synchronization](https://invisiblenetwork.ai/learn/nptel/106106144/3699c17f9864) (YouTube)
26. [Software solutions for critical sections](https://invisiblenetwork.ai/learn/nptel/106106144/6295cead95ad) (YouTube)
27. [Bakery Algorithm](https://invisiblenetwork.ai/learn/nptel/106106144/8c0aa4294e6c) (YouTube)
28. [Hardware Locks](https://invisiblenetwork.ai/learn/nptel/106106144/ae275fe091b8) (YouTube)
29. [Mutexes](https://invisiblenetwork.ai/learn/nptel/106106144/b64817526286) (YouTube)
30. [Semaphores](https://invisiblenetwork.ai/learn/nptel/106106144/aeca05fa1714) (YouTube)
31. [Dining Philosophers Problem](https://invisiblenetwork.ai/learn/nptel/106106144/bc22c5a75c79) (YouTube)
32. [Deadlocks](https://invisiblenetwork.ai/learn/nptel/106106144/cc29696cb08d) (YouTube)
33. [Dealing with Deadlocks](https://invisiblenetwork.ai/learn/nptel/106106144/7fed7b82e97a) (YouTube)
34. [Threads Part 1](https://invisiblenetwork.ai/learn/nptel/106106144/68d5d04fd48f) (YouTube)
35. [Threads Part 2](https://invisiblenetwork.ai/learn/nptel/106106144/38df0fac5bd3) (YouTube)
36. [Operating system security](https://invisiblenetwork.ai/learn/nptel/106106144/3417bcf39d0e) (YouTube)
37. [Information Flow policies](https://invisiblenetwork.ai/learn/nptel/106106144/dad1099b4cb0) (YouTube)
38. [Buffer Overflows](https://invisiblenetwork.ai/learn/nptel/106106144/0ce746c76e0a) (YouTube)
39. [Preventing Buffer Overflow Attacks](https://invisiblenetwork.ai/learn/nptel/106106144/81260917ba58) (YouTube)
