STATE DIAGRAM
The process, from its creation to
completion, passes through various states. The minimum number of states is
five.
The names of the states are not
standardized although the process may be in one of the following states during execution.
1. New
A program which is going to be
picked up by the OS into the main memory is called a new process.
46.8M
929
C++ vs Java
2. Ready
Whenever a process is created, it
directly enters in the ready state, in which, it waits for the CPU to be assigned.
The OS picks the new processes from the secondary memory and put all of them in
the main memory.
The processes which are ready for
the execution and reside in the main memory are called ready state processes.
There can be many processes present in the ready state.
3. Running
One of the processes from the ready
state will be chosen by the OS depending upon the scheduling algorithm. Hence,
if we have only one CPU in our system, the number of running processes for a
particular time will always be one. If we have n processors in the system then
we can have n processes running simultaneously.
4. Block or wait
From the Running state, a process
can make the transition to the block or wait state depending upon the
scheduling algorithm or the intrinsic behavior of the process.
When a process waits for a certain
resource to be assigned or for the input from the user then the OS move this
process to the block or wait state and assigns the CPU to the other processes.
5. Completion or termination
When a process finishes its
execution, it comes in the termination state. All the context of the process
(Process Control Block) will also be deleted the process will be terminated by
the Operating system.
6. Suspend ready
A process in the ready state, which
is moved to secondary memory from the main memory due to lack of the resources
(mainly primary memory) is called in the suspend ready state.
If the main memory is full and a
higher priority process comes for the execution then the OS have to make the
room for the process in the main memory by throwing the lower priority process
out into the secondary memory. The suspend ready processes remain in the
secondary memory until the main memory gets available.
7. Suspend wait
Instead of removing the process from
the ready queue, it's better to remove the blocked process which is waiting for
some resources in the main memory. Since it is already waiting for some
resource to get available hence it is better if it waits in the secondary
memory and make room for the higher priority process. These processes complete
their execution once the main memory gets available and their wait is finished.
Operations on the Process
1. Creation
Once the process is created, it will
be ready and come into the ready queue (main memory) and will be ready for the
execution.
2. Scheduling
Out of the many processes present in
the ready queue, the Operating system chooses one process and start executing
it. Selecting the process which is to be executed next, is known as scheduling.
3. Execution
Once the process is scheduled for
the execution, the processor starts executing it. Process may come to the
blocked or wait state during the execution then in that case the processor
starts executing the other processes.
4. Deletion/killing
Once
the purpose of the process gets over then the OS will kill the process. The
Context of the process (PCB) will be deleted and the process gets terminated by
the Operating system.
Process Schedulers
Operating system uses various schedulers for
the process scheduling described below.
1. Long term scheduler
Long term scheduler is also known as job
scheduler. It chooses the processes from the pool (secondary memory) and keeps
them in the ready queue maintained in the primary memory.
Long Term scheduler mainly controls the degree
of Multiprogramming. The purpose of long term scheduler is to choose a perfect
mix of IO bound and CPU bound processes among the jobs present in the pool.
If the job scheduler chooses more IO bound
processes then all of the jobs may reside in the blocked state all the time and
the CPU will remain idle most of the time. This will reduce the degree of
Multiprogramming. Therefore, the Job of long term scheduler is very critical
and may affect the system for a very long time.
2. Short term scheduler
Short term scheduler is also known as CPU
scheduler. It selects one of the Jobs from the ready queue and dispatch to the
CPU for the execution.
A scheduling algorithm is used to select which
job is going to be dispatched for the execution. The Job of the short term
scheduler can be very critical in the sense that if it selects job whose CPU
burst time is very high then all the jobs after that, will have to wait in the
ready queue for a very long time.
This problem is called starvation which may
arise if the short term scheduler makes some mistakes while selecting the job.
3. Medium term
scheduler
Medium term scheduler takes care of the
swapped out processes.If the running state processes needs some IO time for the
completion then there is a need to change its state from running to waiting.
Medium term scheduler is used for this
purpose. It removes the process from the running state to make room for the
other processes. Such processes are the swapped out processes and this
procedure is called swapping. The medium term scheduler is responsible for
suspending and resuming the processes.
It reduces the degree of multiprogramming. The
swapping is necessary to have a perfect mix of processes in the ready queue.
Process
Queues
The Operating system manages various types of
queues for each of the process states. The PCB related to the process is also
stored in the queue of the same state. If the Process is moved from one state
to another state then its PCB is also unlinked from the corresponding queue and
added to the other state queue in which the transition is made.
There are the following queues maintained by
the Operating system.
1. Job Queue
In starting, all the processes get stored in
the job queue. It is maintained in the secondary memory. The long term
scheduler (Job scheduler) picks some of the jobs and put them in the primary
memory.
2. Ready Queue
Ready queue is maintained in primary memory.
The short term scheduler picks the job from the ready queue and dispatch to the
CPU for the execution.
00:00/05:19
3. Waiting Queue
When the process needs some IO operation in
order to complete its execution, OS changes the state of the process from
running to waiting. The context (PCB) associated with the process gets stored
on the waiting queue which will be used by the Processor when the process
finishes the IO.
0 Comments
Post a Comment