Process Creation and Deletions in Operating Systems

Prerequisite – States of a Process in Operating Systems
There are two basic operations that can be performed on a process: Creation and Deletion. They are explained as following below.

1 . Process creation:

  • (i). When a new process is created, operating system assigns a unique Process Identifier (PID) to it and inserts a new entry in primary process table.
  • (ii). Then the required the required memory space for all the elements of process such as program, data and stack is allocated including space for its Process Control Block (PCB).
  • (iii). Next, the various values in PCB are initialized such as,
    1. Process identification part is filled with PID assigned to it in step (1) and also its parent’s PID.
    2. The processor register values are mostly filled with zeroes, except for the stack pointer and program counter. Stack pointer is filled with the address of stack allocated to it in step (ii) and program counter is filled with the address of its program entry point.
    3. The process state information would be set to ‘New’.
    4. Priority would be lowest by default, but user can specify any priority during creation.
    5. In the beginning, process is not allocated to any I/O devices or files. The user has to request them or if this is a child process it may inherit some resources from its parent.

  • (vi). Then the operating system will link this process to scheduling queue and the process state would be changed from ‘New’ to ‘Ready’. Now process is competing for the CPU.
  • (v). Additionally, operating system will create some other data structures such as log files or accounting files to keep track of processes activity.

2 . Process Deletion:
Processes are terminated by themselves when they finish’1 executing their last statement, then operating system USES exit( ) system call to delete its context. Then all the resources held by that process like physical and virtual memory, 10 buffers, open files etc., are taken back by the operating system. A process P can be terminated either by operation system or by the parent process of P.

A parent may terminate a process due to one of the following reasons,

  • (i). When task given to the child is not required now.
  • (ii). When child has taken more resources than its limit.
  • (iii). The parent of the process is exiting, as a result all its children are deleted. This is called as cascaded termination.

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :
Practice Tags :


1


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.