Process creation and management Flashcards
There are two basic operations that can be performed on a process:
creation and deletion
A process has several stages that it passes through from beginning to end. There must be a minimum of five states.
Even though during execution, the process could be in one of these states, the names of the states are not standardized. Each process goes through several stages throughout its life cycle.
state of process:
New (create)
In this step, the process is about to be created but not yet created. It is the program that is present in secondary memory that will be picked up by OS to create the process.
state of process:
Ready
New -> Ready to run. After the creation of a process, the process enters the ready state i.e. the process is loaded into the main memory. The process here is ready to run and is waiting to get the CPU time for its execution. Processes that are ready for execution by the CPU are maintained in a queue called ready queue for ready processes.
state of process:
Run
The process is chosen from the ready queue by the CPU for execution and the instructions within the process are executed by any one of the available CPU cores.
state of process:
Blocked or Wait
Whenever the process requests access to I/O or needs input from the user or needs access to a critical region(the lock for which is already acquired) it enters the blocked or waits for the state. The process continues to wait in the main memory and does not require CPU. Once the I/O operation is completed the process goes to the ready state.
state of process:
Terminated or COmpleted
Process is killed as well as PCB is deleted. The resources allocated to the process will be released or deallocated.
state of process:
Suspend Ready
Process that was initially in the ready state but was swapped out of main memory(refer to Virtual Memory topic) and placed onto external storage by the scheduler is said to be in suspend ready state. The process will transition back to a ready state whenever the process is again brought onto the main memory.
state of process:
Suspend wait or suspend blocked
Similar to suspend ready but uses the process which was performing I/O operation and lack of main memory caused them to move to secondary memory. When work is finished it may go to suspend ready.
state of process:
CPU and I/O Bound Processes
If the process is intensive in terms of CPU operations, then it is called CPU bound process. Similarly, If the process is intensive in terms of I/O operations then it is called I/O bound process.
How does a process move between different states in an operating system?
A process can move between different states in an operating system based on its execution status and resource availability.
New to ready
When a process is created, it is in a new state. It moves to the ready state when the operating system has allocated resources to it and it is ready to be executed.
Ready to running
When the CPU becomes available, the operating system selects a process from the ready queue depending on various scheduling algorithms and moves it to the running state.
Running to blocked
When a process needs to wait for an event to occur (I/O operation or system call), it moves to the blocked state. For example, if a process needs to wait for user input, it moves to the blocked state until the user provides the input.
Running to ready
When a running process is preempted by the operating system, it moves to the ready state. For example, if a higher-priority process becomes ready, the operating system may preempt the running process and move it to the ready state.
Blocked to ready
When the event a blocked process was waiting for occurs, the process moves to the ready state. For example, if a process was waiting for user input and the input is provided, it moves to the ready state.
Running to terminated
When a process completes its execution or is terminated by the operating system, it moves to the terminated state.
Scheduler:
long-term- performance
Decides how many processes should be made to stay in the ready state. This decides the degree of multiprogramming. Once a decision is taken it lasts for a long time which also indicates that it runs infrequently. Hence it is called a long-term scheduler.
Scheduler:
short-term- context switching time
Short-term scheduler will decide which process is to be executed next and then it will call the dispatcher. A dispatcher is a software that moves the process from ready to run and vice versa. In other words, it is context switching. It runs frequently. Short-term scheduler is also called CPU scheduler.
Scheduler:
Medium-term- swapping time
Suspension decision is taken by the medium-term scheduler. The medium-term scheduler is used for swapping which is moving the process from main memory to secondary and vice versa. The swapping is done to reduce degree of multiprogramming.
multiprogramming:
Preemption
Process is forcefully removed from CPU. Pre-emotion is also called time sharing or multitasking.
multiprogramming:
Non-preemption
Processes are not removed until they complete the execution. Once control is given to the CPU for a process execution, till the CPU releases the control by itself, control cannot be taken back forcibly from the CPU.
degree of multiprogramming
The number of processes that can reside in the ready state at maximum decides the degree of multiprogramming, e.g., if the degree of programming = 100, this means 100 processes can reside in the ready state at maximum.
Operation on the process:
Creation
The process will be ready once it has been created, enter the ready queue (main memory), and be prepared for execution.