topic : process management lecture by: rupinder kaur lecturer it, srs govt. polytechnic college for...
TRANSCRIPT
Topic : Process Management
Lecture By: Rupinder KaurLecturer IT,SRS Govt. Polytechnic College for Girls,Ludhiana
Index
Process ConceptProcess statesProcess Control BlockProcesses SchedulingSchedulersScheduling Algorithms
What is Process?
A Process is a program in execution. A process is more than the program
code, which is some time known as the text section.
It also includes the current activity, as represented by the value of program counter and the contents of the processor’s registers.
Operations on Processes
Process Creation
Process Termination
Process States
Process StatesNew - The process is being created.Running –It means CPU is actually running the
process(i.e. executing the instruction of the process).
Waiting –It means that process needs input or produced an output and it is waiting for the completing of that input /output.
Ready –This state means that process has been created and now it is ready to be picked up by CPU for execution
Terminated - Process has finished execution.
Contains information associated with each process
Process State - e.g. new, ready, running etc.
Process Number – Process ID
Program Counter - address of next instruction to be executed
CPU registers - general purpose registers, stack pointer etc.
Process Control Block
Process Control Block (Cont..)
CPU scheduling information - process priority, pointer
Memory Management information - base/limit information
Accounting information - time limits, process number
I/O Status information - list of I/O devices allocated
Process Scheduling QueuesJob Queue - set of all processes in the
systemReady Queue - set of all processes
residing in main memory, ready and waiting to execute.
Device Queues - set of processes waiting for an I/O device.
Process migration between the various queues.
Schedulers
Long-term scheduler (or job scheduler) - selects which processes should be brought
into the ready queue. invoked very infrequently (seconds,
minutes); may be slow.controls the degree of multiprogramming
Short term scheduler (or CPU scheduler) -
selects which process should execute next and allocates CPU.
invoked very frequently (milliseconds) - must be very fast
Medium Term Schedulerswaps out process temporarilybalances load for better throughput
Schedulers (Cont..)
Scheduling CriteriaCPU utilization — It is defined as how much time
the CPU remain busy .CPU utilization should be as high as possible.
Throughput —It is defined as the no. of process completed as per unit time.
Turnaround time — It is defined as the time between the submission of job and completion of job. so, it is the time taken the process in the ready queues, time during execution by CPU. It should also be as small as possible.
Scheduling Criteria(Cont..)
Waiting time — It is define as the time spent by the process in the ready queue .waiting time should be small.
Response time — It is define as the time when the first response start coming. It should also be as small as possible.
Scheduling Criteria(Cont..)Max CPU utilizationMax throughputMin turnaround timeMin waiting timeMin Response time
Types of CPU SchedulingThere are two types of CPU scheduling :1) Preemptive2)Non-Preemptive
Types of CPU Scheduling (cont..)
A scheduling discipline is non-preemptive if, once a process has been given the CPU, the CPU cannot be taken away from that process.
In nonpreemptive system,- short jobs are made to wait by longer jobs but
the overall treatment of all processes is fair.-a scheduler executes jobs in the following two
situations.When a process switches from running
state to the waiting state.When a process terminates.
Types of CPU Scheduling (cont..)
A scheduling discipline is preemptive if, once a process has been given the CPU can taken away.
Scheduling AlgorithmsFCFS
Round Robin
Priority
Shortest Job First
Feedback Queues
FCFS (First Come First Serve)Implementation:
As each process becomes ready, it joins the ready queue.
When the current process finishes the oldest process is selected next.
Characteristics:Simple to implementNonpreemptive
FCFS EXAMPLE :
Process Burst Time P1 8 P2 4 P3 9 P4 5
0 8 12 21 26
Average wait =(0+8+12+21)/4 = 10.25
P1 P2 P3 P4
SHORTEST JOB FIRST:
• Associate with each process the length of its next CPU burst.
• Use these lengths to schedule the process with the shortest time.
Two schemes:1. non-preemptive – once CPU given to the
process it cannot be preempted until completes its CPU burst.
2. preemptive – if a new process arrives with CPU burst length less than remaining time of current executing process, preempt. This scheme is know as the Shortest-Remaining-Time-First (SRTF).
SJFS(Non-Preemptive) Process Burst Time P1 7 P2 4 P3 1 P4 4SJF (non-preemptive) 0 1 5 9 16
Average waiting time = [9 +1+0+5] /4 =3.7
P3 P2 P4 P1
SJFS(Preemptive)Example of Preemptive SJF Process Arrival Time Burst
TimeP1 0.0 7P2 2.0 4P3 4.0 1P4 5.0 4 SJF (preemptive) 0 2 4 5 7
11 16
P1 P2 P3
P2 P4 P1
SJFS(Preemptive) 0 2 4 5 7
11 16 Waiting Time = Waiting Time - No. of times
executed – Arrival TimeP1 = 11 – 2 – 0 = 9P2 = 5 – 2 – 2 = 1P3 = 4 – 0 – 4 =0P4 = 7 – 0 – 5 =2Avg. Waiting Time : (9 + 1 + 0 +2)/4 =3
P1 P2 P3 P2 P4 P1
RR - Round RobinIn case of the Round Robin Scheduling ,the
CPU is allocate to all the processes one by one but for a fixed period of time . This time period is known as time slice or time quantum .
After allocating CPU to a process for a fixed time slice , it shifts to next process and so on.
It is very efficient algorithm for interactive system because response time is very small in this case .
It is similar to FCFS but preemptive in nature.
Example of RRExample of RR with Time Quantum = 2 Process Burst Time P1 5 P2 3 P3 3 The Gantt chart is:
0 2 4 6 8 9 10 11
P1
P2 P3 P1 P2
P3
P1
Example of RR The Gantt chart is:
0 2 4 6 8 9 10 11 Waiting time = Waiting Time – No. of times executedP1 = 10 – 4 = 6P2 = 8 – 2 = 6P3 = 9 – 2 = 7Avg . Waiting Time = (6+6+7)/3 = 6.3
P1 P2 P3 P1 P2 P3 P1
Priority Scheduling
• A priority number (integer) is associated with each process.
• The CPU is allocated to the process with the highest priority (smallest integer ≡ highest priority).
1. Preemptive 2. non-preemptive• SJF is a priority scheduling where priority is the
predicted next CPU burst time.• Problem with the priority scheduling is
Starvation – low priority processes may never execute
Priority SchedulingProcess Priority Burst Time P1 2 24 P2 1 3 P3 3 3The Gantt Chart for the non-preemptive schedule is: 0 3 27 30
Waiting time for P1 = 3; P2 = 0; P3 = 27 Average waiting time: (3+ 0 + 27)/3 = 10
P2 P1
P3
Priority SchedulingProcess Burst Time Priority
Arrival Time P1 3 2 0 P2 2 1 1 P3 1 3 2The Gantt Chart for the preemptive schedule is: 0 1 2 3 5 6
Waiting time for P1 = 3 – 1 - 0 =2; P2 = 1 – 1 = 0; P3 = 5 – 2 = 3 Average waiting time: (2+0+3)/3 = 1.6
P1 P2
P2
P1 P3
Multilevel Queue
• Ready queue is partitioned into separate queues• Each queue has its own scheduling algorithm• Scheduling must be done between the queues.
Multilevel Queue SchedulingHighest priority
Lowest priority
SYSTEM PROCESS
INTERACTIVE PROCESS
INTERACTIVE EDITING PROCESS
BATCH PROCESS
STUDENT PROCESS
Multilevel Feedback QueueA process can move between the various queuesMultilevel-feedback-queue scheduler defined by
the following parameters: 1. number of queues 2. scheduling g algorithms for each queue 3. method used to determine when to upgrade a
process 4. method used to determine when to demote a
process 5. method used to determine which queue a
process will enter when that process needs service
Example of Multilevel Feedback Queue
Three queues:1. Q0 – time quantum 8 milliseconds2. Q1 – time quantum 16 milliseconds3. Q2 – FCFS
Quantum=8
Quantum=16
FCFS
THANK YOU