Operating System Tutorial
Last Updated :
18 Aug, 2025
Improve
An Operating System(OS) is a software that manages and handles hardware and software resources of a computing device.
- Responsible for managing and controlling all the activities and sharing of computer resources among different running applications.
- A low-level Software that includes all the basic functions like processor management, memory management, file management, etc.
- It mainly acts a government for your system that has different departments to manage different resources.
- Examples are Linux, Unix, Windows 11, MS DOS, Android, macOS and iOS.

Basics
Process Scheduling
- Process Introduction
- Process Table and Control Block
- Process Management Introduction
- Process Scheduler
- CPU Scheduling Algorithms
- Preemptive vs Non-Preemptive
- Dispatcher vs scheduler
- Starvation and Aging in Operating Systems
Process Synchronization
- Inter Process Communication
- Introduction to Process Synchronization
- Critical Section
- Peterson’s Algorithm in Process Synchronization
- Lock variable synchronization mechanism
- Semaphores in operating system
- Classical IPC Problems
- Communication using signals in C
- Mutex vs. Semaphore
- Monitors for Process Synchronization
- Dekker’s algorithm
- Bakery Algorithm
- Mutex lock for Linux Thread Synchronization
- Priority Inversion
>> Quiz on Process Management in OS
Deadlock
- Deadlock Introduction
- Deadlock Prevention And Avoidance
- Deadlock Detection And Recovery
- Banker’s Algorithm
- Deadlock, Starvation, and Livelock
- Resource Allocation Graph (RAG)
- Methods of resource allocation
- Program for Deadlock free condition
Multithreading
- Operating System | Thread
- Threads and its types
- Operating System | User Level thread Vs Kernel Level thread
- Process-based and Thread-based Multitasking
- Multi threading models
- Benefits of Multithreading
- Operating System | Remote Procedure call (RPC)
Memory Management
- Introduction to memory and memory units
- Memory Management in Operating System
- Buddy System: Memory allocation technique
- Paging
- Segmentation
- Virtual Memory
- Memory Interleaving
- Operating system based Virtualization
- Swap Space
- Page Fault Handling
- Memory Segmentation in 8086 Microprocessor
- Program for Next Fit algorithm in Memory Management
- Overlays in Memory Management
- Belady’s Anomaly
- Page Replacement Algorithms
- Second Chance (or Clock) Page Replacement Policy
- Allocating kernel memory (buddy system and slab system)
- Static and Dynamic Libraries | Set 1
- Working with Shared Libraries | Set 1
- Named Pipe or FIFO with example C program
- Tracing memory usage in Linux
Disk Management
- File Systems
- Unix File System
- Implementing Directory Management using Shell Script
- File Directory | Path Name
- Structures of Directory
- File Allocation Methods
- File Access Methods
- Secondary memory
- Secondary memory – Hard disk drive
- Disk Scheduling Algorithms
- Program for SSTF disk scheduling algorithm
- What exactly Spooling is all about?
- Difference between Spooling and Buffering
- Free space management
>> Quiz on Input Output Systems
Misc
- Computer Memory
- Introduction to UNIX System
- Microkernel
- Kernel I/O Subsystem (I/O System)
- Important Linux Commands (leave, diff, cal, ncal, locate and ln)
- Process states and Transitions in a UNIX Process
- Introduction to Linux Shell and Shell Scripting
- ‘crontab’ in Linux with Examples
- Real time systems
- Tasks in Real Time systems
- Monolithic Kernel and key differences from Microkernel
- Get/Set process resource limits in C
- Dual Mode operations in OS
Important Links
- Last Minute Notes (LMNs) | Operating Systems
- Commonly Asked Operating Systems Interview Questions
- ‘Quizzes’ on Operating Systems !
- ‘Practice Problems’ on Operating Systems !
Introduction to Operating System
Visit Course

Introduction to Operating System

Types of Operating System

Multithreading Introduction

OS - Thread vs Process
