Skip to main content

6. Operating System - Process Scheduling


Definition:
 Process scheduling is the activity of the process manager that handles the removal of the running process from the CPU and the selection of another process on the basis of a particular strategy.

Process Scheduling Queues (Job Queue, Ready Queue, Device Queue):

  • Job queue - This queue keeps all the processes in the system.
  • Ready queue - This queue keeps a set of all processes residing in the main memory, ready and waiting to execute. A new process is always put in this queue.
  • Device queues - The processes which are blocked due to the unavailability of an I/O device constitute this queue.

Two-State Process Model (Running, Not Running):

  • Running: When a new process is created, it enters into the system as in the running state.
  • Not Running: Processes that are not running are kept in a queue, waiting for their turn to execute.

Scheduler (Long-Term Scheduler, Short-Term Scheduler, Medium-Term Scheduler):

Schedulers are special system software that handles process scheduling in various ways. Their main task is to select the jobs to be submitted into the system and to decide which process to run.

  • Long-Term Scheduler: It is also called a job scheduler. A long-term scheduler determines which programs are admitted to the system for processing. It selects processes from the queue and loads them into memory for execution. Process loads into the memory for CPU scheduling. The primary objective of the job scheduler is to provide a balanced mix of jobs, such as I/O bound and processor bound.

  • Short-Term Scheduler: It is also called a CPU scheduler. Its main objective is to increase system performance in accordance with the chosen set of criteria. Short-term schedulers are faster than long-term schedulers.

  • Medium-Term Scheduler: Medium-term scheduling is a part of swapping. It removes the processes from the memory.

Context Switch: A context switch is a mechanism to store and restore the state or context of a CPU in the Process Control block so that a process execution can be resumed from the same point at a later time.

Scheduling Algorithm:

  • First Come, First Serve (FCFS): Jobs are executed on a first-come, first-served basis. 
  • Shortest Job Next (SJN): Best approach to minimize waiting time.
  • Priority Based Scheduling: Each process is assigned a priority. A process with the highest priority is to be executed first and so on.
  • Shortest Remaining Time: The processor is allocated to the job closest to completion but it can be preempted by a newer ready job with a shorter time to completion.
  • Round Robin Schedule: Each process is provided a fixed time to execute; it is called a quantum.  

Comments

Popular posts from this blog

5.Operating System - Process

Process:   A process is basically a program in execution. The execution of a process must progress in a sequential fashion. To put it in simple terms, we write our computer programs in a text file and when we execute this program, it becomes a process that performs all the tasks mentioned in the program. When a program is loaded into the memory and it becomes a process, it can be divided into four sections ─ stack, heap, text and data. Program:  A computer program is a collection of instructions that performs a specific task when executed by a computer. When we compare a program with a process, we can conclude that a process is a dynamic instance of a computer program. Process Life Cycle (Start, Ready, Running, Waiting, Terminate/Exit): Process Control Block (PCB):  A Process Control Block is a data structure maintained by the Operating System for every process. The PCB is identified by an integer process ID (PID). A PCB keeps all the information needed to keep track of...

1. Operating System - Overview

  Definition: An operating system is a program that acts as an interface between the user and the computer hardware and controls the execution of all kinds of programs. Memory Management:   Memory management refers to the management of Primary Memory or Main Memory. It keeps track of primary memory, i.e., what part of it is in use by whom, what parts are not in use. It allocates and de-allocates the memory when a process requests it to do so. Processor Management :   Processor Management k eeps track of the processor and the status of a process. The program responsible for this task is known as a  traffic controller . It is responsible for a llocating and de-allocating the processor (CPU) to a process. Device Management :  An Operating System manages device communication via their respective drivers.  Device Management keeps track of all devices. The program responsible for this task is known as the I/O Controller. It d ecides which process gets the d...

8. Operating System - Virtual Memory and Input/Output

Definition: A computer can address more memory than the amount physically installed on the system. This extra memory is actually called virtual memory and it is a section of a hard disk that's set up to emulate the computer's RAM. The main visible advantage of this scheme is that programs can be larger than physical memory. Virtual memory serves two purposes. First, it allows us to extend the use of physical memory by using disk. Second, it allows us to have memory protection, because each virtual address is translated to a physical address. Demand Paging: A demand paging system is quite similar to a paging system with swapping where processes reside in secondary memory and pages are loaded only on demand, not in advance. Page Replacement Algorithm: Page replacement algorithms are the techniques using which an Operating System decides which memory pages to swap out, write to disk when a page of memory needs to be allocated Reference String: The string of memory references i...