/Operating-System

This repository contains detailed discussions and concepts of all aspects of operating systems.

Operating System

Chapter 01: What is Operating System?

Chapter 02: What are the types of operating System?

Chapter 03: Multi-tasking and Multi-threading?

Chapter 04: Components of Operating System?

Chapter 05: System calls (Theory and Practical)?

Chapter 06: How operating system Boots up?

Chapter 07: What is the difference between 32-bit and 64-bit?

Chapter 08: Different Storage in computer?

Chapter 09: How OS creates process? Process in OS?

Chapter 10: What are different states of Process?

Chapter 11: Context Switching? Medium term scheduling? | Orphan/Zombie Process

Chapter 12: What is convoy effect? | FCFS CPU scheduling algorithm?

Chapter 13: Shortest Job first Priority algorithm? | Round Robin scheduling algorithm?

Chapter 14: Multilevel Queue scheduling algorithm? | MLFQ | Comparison CPU of scheduling algorithm

Chapter 15: What is Concurrency? | Multi-threading in C++?

Chapter 16: Critical section Problem? | Race condition problem

Chapter 17: Conditional Variable and Semaphores to synchronize threads?

Chapter 18: Producer Consumer Problem and its solution

Chapter 19: The reader-writer problem and its solution

Chapter 20: The dining philosopher problem and its solution

Chapter 21: What is Deadlock | Necessary conditions | handling method | part-1

Chapter 22: Deadlock Avoidance | Deadlock Detection and Recovery | part-2

Chapter 23: Solving LeetCode problem on Concurrency?

Chapter 24: Memory Management System | Contiguous Memory allocation

Chapter 25: How OS manages free space?

Chapter 26: What is paging? | Non-contiguous memory allocation

Chapter 27: What is segmentation? | Non-contiguous memory allocation

Chapter 28: What is virtual Memory? | page fault in OS?

Chapter 29: Page Replacement algorithm? | How to implement LRU algorithm?

Chapter 30: What is thrashing? | Important Interview Questions

Chapter 31: Bonus: Solving LeetCode problem on Concurrency?