Suspend a process
A process is an active program. It can also be said as a program that is under execution. It is more than the program code as it includes the program counter, process stack, registers, program code etc. Compared to this, the program code is only the text section.
A process passes through different states as it executes. These states may be different in different operating systems. However, the common process states are explained below with the help of a diagram −
New
This is the state when the process has just been created. It is the initial state in the process life cycle.
Ready
In the ready state, the process is waiting to be assigned the processor by the short term scheduler, so it can run. This state is immediately after the new state for the process.
Ready Suspended
The processes in ready suspended state are in secondary memory. They were initially in the ready state in main memory but lack of memory forced them to be suspended and gets placed in the secondary memory.
Running
The process is said to be in running state when the process instructions are being executed by the processor. This is done once the process is assigned to the processor using the short-term scheduler.
Blocked
The process is in blocked state if it is waiting for some event to occur. This event may be I/O as the I/O events are executed in the main memory and don't require the processor. After the event is complete, the process again goes to ready state.
Blocked Suspended
This is similar to ready suspended. The processes in blocked suspended state are in secondary memory. They were initially in the blocked state in main memory waiting for some event but lack of memory forced them to be suspended and gets placed in the secondary memory. A process may go from blocked suspended to ready suspended if its work is done.
Terminated
The process is terminated once it finishes its execution. In the terminated state, the process is removed from main memory and its process control block is also deleted.
Reasons For Process Suspension
Swapping |
The OS needs
to release sufficient main memory to bring in a process that is ready to execute. |
Other OS reason |
The OS may
suspend a backgrounds or utility process or
a process that is suspected of causing a problem |
Interactive
user request |
A user may wish to suspend
the execution of a program for purpose of debugging or in connection with the
use of a resource. |
Timing |
A process
may be executed periodically and may be suspended while waiting for the next
time interval |
Parent process
request |
A parent process may wish to
suspend the execution of a descendant
to examine or modify the suspended process or to coordinate the activity of
descendants |
Resuming A Process
·
Resuming a process means restarting it
from the point at which it was suspended.
·
A suspended process needs another
process for its restoration as it cannot resume itself.
·
The resume service is also called
wakeup in some system
·
Whenever a process resumes any
suspended process the OS inserts the target process PCB in the ready list and
update its state from suspended to ready .
Changing The Priority Of A Process
·
The priority of a process can be changed in run time
·
The process priority may be changed so
as to increase or decrease the process ability to compete for system resources
Comments
Post a Comment