Skip to main content

Suspend a process

 

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 −

OS States

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

Popular posts from this blog

Batch Processing Operating System

  Batch processing system ·           Batch processing is one of the oldest method    of running the programs ·           The computer in the past were very large in size and their I/O devices were very different from those that are used today. The job processing was not interactive as it is today. ·           The user did not interact directly with computer system.   ·           The process scheduling , memory management, file management and I/Omanagement functions are quite simple in batch processing system   1.         Process scheduling (i.e. allocation strategy for a processor is typically in order of their arrival i.e. first come first served(FCFS)basis.   2.         Memory management  is done by divi...

Multi threading operating system

  Multi threading  operating system ·           Multi threading is a technique in which a process, executing an application is divided into threads that can run concurrently ·           A thread is a dispatch able unit of work. It includes    a processor context and its own data area for sack . ·           A thread execute sequentially and is interruptible so that the processor can turn to another thread. ·           Thus, a thread represents a light weight process and is the smallest unit of CPU utilization it is like a mini process. ·           A process, on other hand is a collection of one or more threads and associated system resources ·           A thread is not a process by itself. Cannot run on...

Multi processing system

  Multi processing system ·           Multi processesor system is the sytem that contain two or more processors or CPUS and has ability to simultaneously execute     several programs. Hence the name multi-processor In such a system, multiple processor share the clock, bus, memory and peripheral devices. ·           A multi processor system is also known as parallel system ·           Multi processor system are categorized into two different types:                single user operating system    2.        Multi user operating system   3.         Batch processing operating system 4.        Multi programming operating system   5.       Multi tasking operating sy...

Time Sharing System and its Requirements

  Time sharing  system ·           Time sharing refers to the allocation of computer resources in a time dependent fashion to several program simultaneously ·           A time sharing system has many user terminals that are connected to same computer simultaneously. Using these terminal, different users can work on a system at the same time ·           Thus, it uses multi programming with a special CPU scheduling among all the last one, and then again beginning from the first one ·           In time sharing system, the CPU time is divided among all the users on schedule basis. ·           It release the CPU under any of the following three conditions: 1.         When the allotted time slice expires. 2.    ...

Multilevel Feedback queue scheduling (MFQ)

  Multilevel Feedback queue scheduling (MFQ) ·          Multilevel feedback queue scheduling is an enhancement of multi-levelqueue scheduling. In this scheme, processes can move between the different queue ·          The various processes are separates in different queue on the basis of their CPU Burst Char characteristics ·          If a process consumes a lot of CPU time , it is placed into a lower priority queue. Thus I/O bound and interactive process are placed in the higher priority queue and CPU bound pricesses are in lower priority ·          If a processes waits too long in a lower priority queue it is moved higher priority queue. Such an aging prevents starvation. ·          The top priority queue is given smallest CPU time Quantum ·      ...