Jenkins
Jenkins vs Travis-CI: What is the difference?
What is CI? Continuous integration is a software development method where members of the team can...
Priority Scheduling is a method of scheduling processes that is based on priority. In this algorithm, the scheduler selects the tasks to work as per the priority.
The processes with higher priority should be carried out first, whereas jobs with equal priorities are carried out on a round-robin or FCFS basis. Priority depends upon memory requirements, time requirements, etc.
In this Operating system tutorial, you will learn:
Priority scheduling divided into two main types:
In Preemptive Scheduling, the tasks are mostly assigned with their priorities. Sometimes it is important to run a task with a higher priority before another lower priority task, even if the lower priority task is still running. The lower priority task holds for some time and resumes when the higher priority task finishes its execution.
In this type of scheduling method, the CPU has been allocated to a specific process. The process that keeps the CPU busy, will release the CPU either by switching context or terminating. It is the only method that can be used for various hardware platforms. That's because it doesn't need special hardware (for example, a timer) like preemptive scheduling.
Consider following five processes P1 to P5. Each process has its unique priority, burst time, and arrival time.
| Process | Priority | Burst time | Arrival time |
|---|---|---|---|
| P1 | 1 | 4 | 0 |
| P2 | 2 | 3 | 0 |
| P3 | 1 | 7 | 6 |
| P4 | 3 | 4 | 11 |
| P5 | 2 | 2 | 12 |
Step 0) At time=0, Process P1 and P2 arrive. P1 has higher priority than P2. The execution begins with process P1, which has burst time 4.
Step 1) At time=1, no new process arrive. Execution continues with P1.
Step 2) At time 2, no new process arrives, so you can continue with P1. P2 is in the waiting queue.
Step 3) At time 3, no new process arrives so you can continue with P1. P2 process still in the waiting queue.
Step 4) At time 4, P1 has finished its execution. P2 starts execution.
Step 5) At time= 5, no new process arrives, so we continue with P2.
Step 6) At time=6, P3 arrives. P3 is at higher priority (1) compared to P2 having priority (2). P2 is preempted, and P3 begins its execution.
| Process | Priority | Burst time | Arrival time |
|---|---|---|---|
| P1 | 1 | 4 | 0 |
| P2 | 2 | 1 out of 3 pending | 0 |
| P3 | 1 | 7 | 6 |
| P4 | 3 | 4 | 11 |
| P5 | 2 | 2 | 12 |
Step 7) At time 7, no-new process arrives, so we continue with P3. P2 is in the waiting queue.
Step 8) At time= 8, no new process arrives, so we can continue with P3.
Step 9) At time= 9, no new process comes so we can continue with P3.
Step 10) At time interval 10, no new process comes, so we continue with P3
Step 11) At time=11, P4 arrives with priority 4. P3 has higher priority, so it continues its execution.
| Process | Priority | Burst time | Arrival time |
|---|---|---|---|
| P1 | 1 | 4 | 0 |
| P2 | 2 | 1 out of 3 pending | 0 |
| P3 | 1 | 2 out of 7 pending | 6 |
| P4 | 3 | 4 | 11 |
| P5 | 2 | 2 | 12 |
Step 12) At time=12, P5 arrives. P3 has higher priority, so it continues execution.
Step 13) At time=13, P3 completes execution. We have P2,P4,P5 in ready queue. P2 and P5 have equal priority. Arrival time of P2 is before P5. So P2 starts execution.
| Process | Priority | Burst time | Arrival time |
|---|---|---|---|
| P1 | 1 | 4 | 0 |
| P2 | 2 | 1 out of 3 pending | 0 |
| P3 | 1 | 7 | 6 |
| P4 | 3 | 4 | 11 |
| P5 | 2 | 2 | 12 |
Step 14) At time =14, the P2 process has finished its execution. P4 and P5 are in the waiting state. P5 has the highest priority and starts execution.
Step 15) At time =15, P5 continues execution.
Step 16) At time= 16, P5 is finished with its execution. P4 is the only process left. It starts execution.
Step 17) At time =20, P5 has completed execution and no process is left.
Step 18) Let's calculate the average waiting time for the above example.
Waiting Time = start time - arrival time + wait time for next burst
P1 = o - o = o P2 =4 - o + 7 =11 P3= 6-6=0 P4= 16-11=5 Average Waiting time = (0+11+0+5+2)/5 = 18/5= 3.6
Here, are benefits/pros of using priority scheduling method:
Here, are cons/drawbacks of priority scheduling
What is CI? Continuous integration is a software development method where members of the team can...
LaTeX Editors are a document preparation system. It offers various features that are designed for...
The most frequent tasks that you perform on your PC is creating, moving or deleting Files. Let's...
Download PDF 1) Explain what is Cassandra? Cassandra is an open source data storage system...
New Relic's is a leading tool for application performance monitoring (APM). It offers real-time...
Shell Scripting Shell Scripting is an open-source computer program designed to be run by the...