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

CPP

Basics Downloading and installing CodeBlock Creating and explaining first project Hello World – the terms (keyword, main, header file) Keyword – Keywords are reserved words for compiler whose purpose is already defined in compiler and user cannot use for personal use. E.g if, else, double, switch main – main is a necessary function to define to execute C/C++ program. Without main, we cannot run our program. Header file  - header file contains functions that perform certain tasks  Characters \n, \t, \a data types: int – 4b, float – 4b, double – 8b, char – 1b, string – equal to the number of characters variable: rules to define a variable cannot start with numbers and special characters. Only special character acceptable is _ e.g. _age Camel case: weightInKg Snake Case: weight_in_kg declaration vs initialization arithmetic operations (+, -, *, /, %) input from user – cin, getline() relational operators (>=, <=, >, <, ==, !=) if selection statement if…else – double s...

3.Operating System - Services

Program Execution: The OS is responsible for executing programs. It loads the program into memory and executes the program. Program execution also includes process sync, process communication, and deadlock handling.  I/O Operation :  An I/O subsystem comprises I/O devices and their corresponding driver software. I/O operation means read or write operation with any file or any specific I/O device. OS provides the access to the required I/O device when required. File System Manipulation:  A file represents a collection of related information. A file system is normally organized into directories for easy navigation and usage. The operating system gives the permission to the program for operation on file. Permission varies from read-only, read-write, denied, and so on. Operating System provides an interface for the user to create/delete files. Operating System provides an interface for the user to create/delete directories. Operating System...

OS Outline

Operating System - Overview OS Definition Memory Management  Processor Management  Device Management  File Management  Security  Error Detecting Aids  Job Accounting Operating System - Types  Batch Operating System Time-sharing Operating System Distributed Operating System Network Operating System Real-time Operating System Hard real-time Operating System Soft real-time Operating System Operating System - Services Program Execution  I/O Operations  File System Management  Communication  Error-handling  Resource Management  Protection  Operating System - Properties  Batch-processing Multi-tasking Multi-programming Interactivity  Real-time system Distributed Environment  Spooling  Operating System - Process Process Program Process Control Block (PCB) Operating System - Process Scheduling Definition Process Scheduling Queues Job Queue Ready Queue Device Queue Two-State Process Model  Running...