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

Defination of OS(operating system) and its concepts

    What do you mean by operating system?     Definition :  An operating system is a program that act as an interface between the user of a computer and the                                      Computer hardware. Operating system is a first program that gets loaded into the memory through a process called booting. Concepts of operating system : ·                       The purpose of operating system is to provide an environment in which a user can execute program in a convenient and efficient manner. ·                       Operating system is an integrated set of program that ma...

Scheduler

  Scheduler   Scheduling Objectives Here, are important objectives of Process scheduling Maximize the number of interactive users within acceptable response times. Achieve a balance between response and utilization. Avoid indefinite postponement and enforce priorities. It also should give reference to the processes holding the key resources  Process Scheduling handles the selection of a process for the processor on the basis of a scheduling algorithm and also the removal of a process from the processor. It is an important part of multiprogramming in operating system. Process scheduling involves short-term scheduling, medium-term scheduling and long-term scheduling. Details about these are given as follows − Long-Term Scheduling Long-term scheduling involves selecting the processes from the storage pool in the secondary memory and loading them into the ready queue in the main memory for execution. This is handled by the long-term scheduler or job scheduler. The long-term s...

Multi user Operating System

  Multi user operating system ·           In a multi-user operating system, multiple number of user can access different resources of a computer at a same time. ·           The access is provided using a network that consists of various personal computer attached to a mainframe computer system.                                                              diagram of multi -user operating system       ·           The various personal computer can send and receive information to mainframe computer system. ·           The example    of multi-user OS are UNIX, windows 2000,novell netware.            sing...

Exokernel architecture

Exokernel architecture Most of us know what kernels are and how do they work to make programmers’ lives easier. But, how many of us know what exokernels are? I hope you will be able to get a brief introduction on this terminology through this blog. Let’s start with a brief introduction on kernel. What is a kernel? A kernel is the foundational layer of an operating system that functions at a basic level, communicating with hardware and managing resources, such as CPU and the memory. It works as an interface between the user application and the hardware. There   are two main types of kernel 1. Micro kernel 2. Monolithic Kernel 1.  Monolithic architecture 2.      Layerd archtecture . 3.       Virtual machine architecture 4.       Exokernel architecture 5.      Client server architecture   6.       Micro kernel architecture Now let’s head into our main focus. What is an Exokern...

CPU Scheduling

  CPU Scheduling  What is CPU Scheduling? CPU Scheduling  is a process of determining which process will own CPU for execution while another process is on hold. The main task of CPU scheduling is to make sure that whenever the CPU remains idle, the OS at least select one of the processes available in the ready queue for execution. The selection process will be carried out by the CPU scheduler. It selects one of the processes in memory that are ready for execution. Types of CPU Scheduling Here are two kinds of Scheduling methods: Preemptive Scheduling In Preemptive Scheduling, the tasks are mostly assigned with their priorities. Sometimes it is important to run a task with a higher priority before another lower priority task, even if the lower priority task is still running. The lower priority task holds for some time and resumes when the higher priority task finishes its execution. Non-Preemptive Scheduling In this type of scheduling method, the CPU has been allocated to ...