What is process creation in Operating Systems?

Process creation is a fundamental mechanism in operating systems where an existing process creates one or more new processes during execution. The creating process is called the parent process, and the newly created processes are called child processes.

Each process in the system can create multiple child processes, forming a hierarchical tree structure. Every process is identified by a unique process identifier (PID), which is typically an integer number assigned by the operating system.

How Process Creation Works

Process Tree Structure Parent Process (PID: 100) Child Process 1 (PID: 101) Child Process 2 (PID: 102) Child Process 3 (PID: 103) Grandchild 1 (PID: 104) Grandchild 2 (PID: 105) Grandchild 3 (PID: 106) Parent Child Grandchild

Resource Allocation

When a process creates a child process, there are different strategies for resource allocation

  • Direct allocation − Child processes obtain resources directly from the operating system

  • Resource sharing − Child processes share some resources with the parent process

  • Resource partitioning − Parent process divides its resources among all its children

Restricting child processes to a subset of the parent's resources prevents any process from overloading the system by creating too many sub-processes.

Execution Models

When a process creates a new process, there are two execution possibilities

Execution Model Description Use Case
Concurrent Execution Parent continues executing alongside children Parallel processing, servers
Wait for Children Parent waits until some or all children terminate Sequential tasks, dependency chains

Address Space Models

There are two address space possibilities for new processes −

Address Space Model Description Example
Duplicate Process Child is an exact copy of the parent process Unix fork() system call
New Program Child has a completely new program loaded Unix exec() after fork()

Common System Calls

Operating systems provide specific system calls for process creation −

// Unix/Linux example
pid_t pid = fork();  // Create child process

if (pid == 0) {
    // Child process code
    exec("new_program");
} else if (pid > 0) {
    // Parent process code
    wait(&status);  // Wait for child
}

Conclusion

Process creation enables multitasking and concurrent execution in operating systems through hierarchical parent-child relationships. The flexibility in resource allocation and execution models allows systems to efficiently manage multiple processes while preventing resource exhaustion through controlled process creation mechanisms.

Updated on: 2026-03-17T09:01:38+05:30

15K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements