3.1 Resource Management
Download
Report
Transcript 3.1 Resource Management
3.1 : Resource Management
Part2 :Processor Management
Learning Outcomes
3.1.1 Understand Processor Management
3.1.2 Various type of scheduling processes
3.1.3 Scheduling Algorithms
– First in first out (FIFO)
– Shortest Job First (Nonpreemptive SJF)
– Shortest Remaining Time (Preemptive SJF)
– Round Robin Scheduling
– Priority
Processor Management
• To know how Processor Manager allocates a
single CPU to execute the jobs / processes
from those user.
• Task of Processor Manager : Decide
i. How to allocate the CPU
ii. Monitor whether it’s executing or
waiting a process .
iii.Control job entry to ensure balanced use
of resources
Process
•
•
•
•
Process is a program in execution
When process execute it changes state
State represent process’s current activity
Each process may be in one of the following state,
which are :
– New : the process is being created
– Running : instruction are being executed
– Waiting : the process is waiting for some event to occur
(reception of signal)
– Ready : the process is waiting to be assigned to a
processor
– Terminated : the process has finished execution
Process
• Waiting queue is place for not executing
process.
• Ready queue is contains all the processes
that are ready to execute and waiting for the
CPU.
• Each process is represent by PCB (Process
Control Block)
PCB (Process Control Block)
• PCB contains many pieces of information with specific
process which are;
– Process state : new, running, waiting, ready and terminated
– Program counter : the counter indicate the address of the next
instruction to be executed
– CPU Register: include accumulator, index register stack
pointer and so on .
– CPU Scheduling algorithm : includes a process priority, or
others CPU scheduling algorithm
– Memory – management information : may include such
information as the value of the limit and base register, the
page table or segment table, depend on which memory scheme
used by operating system.
• PCB can linked together to a ready queue
Scheduling Concept
• The objective of Multiprogramming is to have
some process running at all times, - to
maximize CPU utilization
• Objective of Time-Sharing is to switch the CPU
among processes – so frequently that user
can interact with each program while it is
running.
• A uniprocessor/ single – user system can have
only one running process. If more processes
exist, the rest must wait until the CPU is free
and can be rescheduled.
Process Scheduling
• Therefore process scheduling is need for
schedule processes on your system
• Why to schedule ? To decide which
process to run first if there have more than
one process is run able.
• Scheduler is part of O/S which make this
decision.
Schematic of scheduling
Preempted request
Arriving
requests
Scheduled
request
Scheduler
Pending
requests
Figure above is shows movement
of requests in the system
All requests waiting to be
executed are kept in a list of
pending requests.
Whenever scheduling is to be
performed, the scheduler
examines the pending request and
select one for executing.
CPU
Completed
request
Data flow
Control Flow
This request is handed over to the CPU.
A request leaves the CPU when it completes or
when it is preempted by the scheduler.
In which case, it is put back into the list of
pending request
In either situation, scheduler performs
scheduling to select next request to be executed.
Cont..
• Preemptive
– Interrupts the processing of a job and transfer the CPU
to another job.
– Strategy of allowing process that are logically run able
to be suspended.
– It is widely used in time-sharing environments
• Nonpreemtive
– Always processes a scheduled request to completion
– Since only one request is under processing by the CPU
at any time, it is not necessary to maintain the
distinction between long, medium and short – term
scheduling
– Example of scheduling are FCFS and SJF scheduling
Type of scheduling processes :
Long – term Scheduling
– Also known as job scheduling
– Is the selection of processes to be allowed to
compete for the CPU.
– Normally Long – Term Scheduling is heavily
influenced resource – allocation consideration,
especially memory management.
Type of scheduling processes :
Short– term Scheduling
– Also known as CPU Scheduling
– Is the selection of one process from ready
queue(all the processes that are ready to
execute and waiting for the CPU)
Scheduling Creteria
1. CPU utilization (Penggunaan CPU) - keep the CPU as busy as
possible
2. Throughput(Daya Pemprosesan) – number of processes that
complete their execution per time unit
3. Turnaround time (Masa pusingan)– amount of time to execute a
particular process
4. Waiting time( Masa menunggu) – amount of time a process has been
waiting in the ready queue
5. Response time(Masa tindakbalas) – amount of time it takes from
when a request was submitted until the first response is produced, not
output (for time-sharing environment)
Optimization Criteria
• Max;
– CPU utilization
– throughput
• Min;
– turnaround time
– waiting time
– response time
Scheduling Algorithm : First Come
First Serve
• Is nonpreemptive scheduling algorithm.
• Handles job according to their arrival time. The
early arrive the, the sooner they’re served.
• It’s very simple algorithm to implement
because it uses FIFO queue.
• This algorithm is fine for most batch system,
but it unacceptable for interactive systems
because interactive users expect quick
response time
Example : FCFS
Process
P1
P2
P3
Burst Time (ms)
24
3
3
The Gantt Chart for the schedule is:
P1
0
P2
24
P3
27
30
• Waiting time for P1 = 0ms; P2 = 24ms; P3 = 27ms
• Average waiting time: (0 + 24 + 27)/3 = 17ms
Exercise 1: FCFS
• What will happened if the processes arrive
in the order P2 , P3 , P1
i. Draw a gantt chart
ii. Calculate average waiting time
Scheduling Algorithm : Shortest
Job First (SJF)
• Handles jobs based on the length of their CPU
cycle time/ burst time.
• When CPU available , it is assigned to the
process that has smallest next CPU burst.
• If two processes have the same length next CPU
burst, FCFS scheduling is used to break the tie.
• The SJF scheduling algorithm is optimal that
is gives the minimum average waiting time for
a given set of processes.
Scheduling Algorithm : Shortest Job
First (SJF)
• Two schemes:
– nonpreemptive – once CPU given to the
process it cannot be preempted until completes
its CPU burst.
– 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).
Scheduling Algorithm : Shortest
Job First (SJF) Nonpreemptive
Process
Burst Time
Arrival Time
P1
6
0
P2
8
0
P3
7
0
P4
3
0
P4
0
P1
1
P3
9
ii) Waiting time;
P1= 3; P2=16; P3=9; P4=0
P2
16
24
iii) Average waiting time;
= ( 3 + 16 + 9 + 0 )/ 4
= 7 ms
Scheduling Algorithm : Shortest
Job First (SJF) Nonpreemptive
Process
Burst Time
Arrival Time
P1
7
0
P2
4
2
P3
1
4
P4
4
5
P1
0
ii) Waiting Time
1.
2.
3.
4.
P1 = 0
P2 = 8 – 2 = 6
P3 = 7 – 4 = 3
P4 = 12 – 5 = 7
P3
7
P2
8
P4
12
16
iii) AWT = (0 + 6 + 3 + 7)/4 4
Exercise SJF Nonepreemptive
Open your labwork book, page 11(Activity 2)
Scheduling Algorithm : Shortest
Job First (SJF) Preemptive / SRTF
Rules :
Current process preempted if a new
process with CPU burst time less than
remaining burst time for current executing
process.
Example 1: SRTF
Process
Burst Time
Arrival Time
P1
10
0
P2
2
2
P1
0
P2
2
P1
4
ii) Waiting Time
P1 = 0 + (4-2) = 2
P2 = 2-2 = 0
12
ii) AWT
P1+P2 = 1ms
2
Exercise 1: SRTF
Open your labwork book, page 11(Activity 2)
Exercise 2 : SRTF
Process
Burst Time
Arrival Time
P1
24
0
P2
3
1
P3
3
2
P4
1
3
i) Draw a gantt chart
ii) Calculate are waiting time for each process
iii) Calculate average waiting time
Scheduling Algorithm: Round
Robin Scheduling /RR
• Is a preemptive process scheduling
algorithm
• Each process gets a small unit of CPU time
(time quantum/time slice), usually 10-100
milliseconds.
• Time quantum = time interval
• After this time has elapsed, the process is
preempted and added to the end of the
ready queue.
Scheduling Algorithm: RR
Scheduling
P1
0
Process
Burst Time
P1
24
P2
3
P3
3
P2
4
P3
7
P1
10
Time Quantum = 4ms
P1
14
ii) Waiting time
1. P1 = (0 + (10-4)) = 6 ms
2. P2 = 4 ms
3. P3 = 7 ms
P1
18
P1
22
P1
26
30
iii) Average waiting time
= ( 6 + 4 + 7 )/ 3
= 5.66 ms
Exercise 1: RR Scheduling
Open your labwork book, page 14 (Activity 1)
Scheduling Algorithm: 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).
– Preemptive
– nonpreemptive
• SJF is a priority scheduling where priority is the predicted
next CPU burst time.
• Problem Starvation ( low priority processes may never
execute)
• Solution Aging ( as time progresses increase the priority
of the process)
Example 1: Priority Scheduling
0
P2
1
Process
Burst Time
Priority
P1
10
3
P2
1
1
P3
2
4
P4
1
5
P5
5
2
P5
ii) Waiting time
1. P1 = 6 ms
2. P2 = 0 ms
3. P3 = 16 ms
4. P4 = 18 ms
5. P5 = 1 ms
P1
P3
P4
6
16
18
iii) Average waiting time
= ( 6 + 0 + 16 + 18 + 1 )/ 5
= 8.2 ms
19
Exercise 1: Priority Scheduling
Open your labwork book, page 15 (Activity 2)