5.
Process Scheduling
The OS uses scheduling algorithms to manage process execution efficiently. There
are three main types of schedulers:
A. Long-Term Scheduler (Job Scheduler)
Decides which processes should be admitted into the system.
Runs less frequently.
B. Short-Term Scheduler (CPU Scheduler)
Selects which process will run on the CPU next.
Runs frequently (every few milliseconds).
C. Medium-Term Scheduler
Swaps processes in and out of memory to optimize CPU usage.
6. Types of Process Scheduling Algorithms
The OS uses different scheduling algorithms to manage CPU execution:
A. Non-Preemptive Scheduling (Once a process starts, it cannot be interrupted)
First-Come, First-Served (FCFS) – The process that arrives first is executed first.
Shortest Job Next (SJN) – The process with the shortest execution time runs first.
B. Preemptive Scheduling (Processes can be interrupted and rescheduled)
Round Robin (RR) – Each process gets a fixed time slice (time quantum).
Priority Scheduling – The process with the highest priority runs first.
Multilevel Queue Scheduling – Different priority levels for different process
types.
7. Interprocess Communication (IPC)
Processes need to communicate with each other in multitasking systems. IPC methods
include:
✅ Shared Memory – Processes share a memory space.
✅ Message Passing – Processes exchange messages via the OS.
✅ Pipes – Unidirectional communication channel between processes.
✅ Sockets – Network-based communication between processes.
8. Process Synchronization
When multiple processes run concurrently, synchronization is needed to avoid race
conditions. Synchronization mechanisms include:
🔹 Semaphores – Used to control access to shared resources.
🔹 Mutex (Mutual Exclusion) – Allows only one process at a time to access a
resource.
🔹 Monitors – High-level synchronization mechanism.
9. Deadlocks in Processes
A deadlock occurs when two or more processes are waiting for resources that are
held by each other, preventing further execution.
Deadlock Prevention Techniques
✔️ Avoid circular waiting
✔️ Use resource allocation strategies
✔️ Apply timeout mechanisms
10. Conclusion
Processes are a crucial part of an OS, enabling multitasking and efficient resource
utilization. The OS manages processes using scheduling, synchronization, and
communication techniques to ensure smooth system operation.