• Skip to main content
  • Skip to primary sidebar
  • Skip to secondary sidebar
  • Skip to footer

Computer Notes

Library
    • Computer Fundamental
    • Computer Memory
    • DBMS Tutorial
    • Operating System
    • Computer Networking
    • C Programming
    • C++ Programming
    • Java Programming
    • C# Programming
    • SQL Tutorial
    • Management Tutorial
    • Computer Graphics
    • Compiler Design
    • Style Sheet
    • JavaScript Tutorial
    • Html Tutorial
    • Wordpress Tutorial
    • Python Tutorial
    • PHP Tutorial
    • JSP Tutorial
    • AngularJS Tutorial
    • Data Structures
    • E Commerce Tutorial
    • Visual Basic
    • Structs2 Tutorial
    • Digital Electronics
    • Internet Terms
    • Servlet Tutorial
    • Software Engineering
    • Interviews Questions
    • Basic Terms
    • Troubleshooting
Menu

Header Right

Home » Fundamental » OS » What is Priority Scheduling? – Definition
Next →
← Prev

What is Priority Scheduling? – Definition

By Dinesh Thakur

Definition: Priority Scheduling is a scheduling process which is based on priority. In priority scheduling, the scheduler himself chooses the task priority, and the process which has the highest priority is processed first as compared to other processes.

Example: Shortest Job First (SJF) scheduling

ProcessBurst TimePriority
P172
P2105
P341
P424
P563

So now the process are executed on the basis of priority. The GANTT chart for this will be as follows:

The average waiting time or AWT= (0+4+11+17+19)/5= 51/5= 10.2 ms

On the Basis of Execution
Priorities are of two types: static and dynamic.
Static priorities are those priorities which we defined while creating the list of processes or you can say that the number of priority does not changes when the process of execution is going on.
Dynamic priorities are those which we defined on the basis of the behavior of the processes or you can say that the priority keeps changing itself when the process of execution is going on as per its own needs.
On the basis of definition
Priorities are further of two types: externally defined and internally defined.
Internally defined priorities are those which make use of any measurable unit so that they can calculate the priority of a process.
Example: time limits, file requirements includes number of open files etc.. and memory requirements etc.
Externally defined priorities are those which make use of some criteria which is beyond our operating system. It includes the sum of resources which are being utilized for computer use, significance of process, user preference and some other factors.
Example: the department which is sponsoring our work, politics, the amount of fund which is being paid for computer use and the type of fund which is being paid for computer use, process importance etc..
On the basis of preemption
It is of two types: preemptive and non-preemptive.
Preemptive priority scheduling algorithm is that which preempts the CPU while executing the process in case high priority process appears in front of the CPU.
Non-preemptive priority scheduling algorithm is that which does not preempts the CPU. It simply puts the new process at the top of the ready queue.

We’ll be covering the following topics in this tutorial:

  • Advantages of Priority Scheduling
  • Disadvantages of Priority Scheduling

Advantages of Priority Scheduling

• The priority of process is selected on the basis of memory requirement, user preference or the requirement of time.
• Processes are executed on the basis of priority. So high priority does not need to wait for long which saves time.
• It is easy to use.
• It is a user friendly algorithm.
• Simple to understand.
• it has reasonable support for priority.

Disadvantages of Priority Scheduling

• The major disadvantage of priority scheduling is the process of indefinite blocking or starvation. This problem appears when a process is ready to be executed but it has to wait for the long time for execution by CPU because other high priority processes are executed by the CPU.
The problem of starvation can be solved by aging. Aging is a technique in which the system gradually increases the priority of those processes which are waiting in the system from a long time for their execution.
• In case if we have the processes which have the same priority, then we have to make use of 2nd scheduling algorithm.
• If the system get crashes eventually, then all the processes having low priority which are not finished yet, also get lost.

You’ll also like:

  1. What is Round Robin Scheduling (RRS)? – Definition & Example
  2. What is Disk Scheduling? Type of Disk Scheduling
  3. CPU Scheduling Algorithms
  4. What is Preemptive Scheduling?
  5. First Come First Serve(FCFS) Scheduling
Next →
← Prev
Like/Subscribe us for latest updates     

About Dinesh Thakur
Dinesh ThakurDinesh Thakur holds an B.C.A, MCDBA, MCSD certifications. Dinesh authors the hugely popular Computer Notes blog. Where he writes how-to guides around Computer fundamental , computer software, Computer programming, and web apps.

Dinesh Thakur is a Freelance Writer who helps different clients from all over the globe. Dinesh has written over 500+ blogs, 30+ eBooks, and 10000+ Posts for all types of clients.


For any type of query or something that you think is missing, please feel free to Contact us.


Primary Sidebar

Operating System

Operating System & Types

    • Operating System - Software
    • Operating System - Definition
    • Operating System - Types
    • Operating System - Functions
    • Operating System - Characteristics
    • Operating System - Services
    • Operating System - Multiprogramming
    • Operating System - Time Sharing
    • Operating System - Multiprocessor
    • Operating System - Distributed
    • Operating System - Batch Processing
    • Operating System - Real-Time
    • Operating System - Multitasking
    • Operating System - Network(NOS)
    • Operating System - Multi-User
    • Operating System - Batch
    • Operating System - External Structure
    • Operating System - MS-DOS
    • Operating System - System Software
    • Operating System - Kernel
    • Operating System - Main Functions

Operating System Scheduling

    • Operating System - Scheduling
    • Operating System - Disk Scheduling
    • Operating System - Process
    • Operating System - Round Robin
    • Operating System - CPU Scheduling
    • Operating System - (FCFS) Scheduling
    • Operating System - Preemptive
    • Operating System - Priority Scheduling

Memory

    • Operating System - Memory
    • Operating System - Cache Memory
    • Operating System - Virtual Memory
    • Operating System - Memory Partition

Operating System - What is

    • Operating System - Booting
    • Operating System - Files & Types
    • Operating System - Shell
    • Operating System - Real Time System
    • Operating System - Demand Paging
    • Operating System - Multi Tasking
    • Operating System - Parallel Processing
    • Operating System - Swapping
    • Operating System - Spooling
    • Operating System - App Software
    • Operating System - Dead Lock
    • Operating System - Batch Processing
    • Operating System - Semaphore
    • Operating System - Variable Partitioned
    • Operating System - File System
    • Operating System - Cipher Text
    • Operating System - OS/2
    • Operating System - CONFIG.SYS
    • Operating System - Segmentation
    • Operating System - CLI

Some Other Tutorials

  • OS - Application Vs System Software
  • OS - Commands in DOS
  • OS - Process States
  • OS - System Components
  • OS - Inter-Process
  • OS - Computer Languages
  • OS - System Architecture
  • OS - Directory Structure
  • OS - Process Management
  • OS - Deadlock Prevention
  • OS - Thread Vs Process
  • OS - File Sharing

Other Links

  • Operating System - PDF Version

Footer

Basic Course

  • Computer Fundamental
  • Computer Networking
  • Operating System
  • Database System
  • Computer Graphics
  • Management System
  • Software Engineering
  • Digital Electronics
  • Electronic Commerce
  • Compiler Design
  • Troubleshooting

Programming

  • Java Programming
  • Structured Query (SQL)
  • C Programming
  • C++ Programming
  • Visual Basic
  • Data Structures
  • Struts 2
  • Java Servlet
  • C# Programming
  • Basic Terms
  • Interviews

World Wide Web

  • Internet
  • Java Script
  • HTML Language
  • Cascading Style Sheet
  • Java Server Pages
  • Wordpress
  • PHP
  • Python Tutorial
  • AngularJS
  • Troubleshooting

 About Us |  Contact Us |  FAQ

Dinesh Thakur is a Technology Columinist and founder of Computer Notes.

Copyright © 2025. All Rights Reserved.

APPLY FOR ONLINE JOB IN BIGGEST CRYPTO COMPANIES
APPLY NOW