E por fim, a criação de processos é feita sempre com base em um processo matriz. Isso significa que a criação de um novo processo envolve dois passos essenciais:

Criar uma cópia idêntica do processo matriz e
Substituir o código binário executável do processo matriz pelo processo novo.

Dependendo do sistema operacional, isso é feito por duas syscalls ou apenas uma. No caso dos sistemas padrão POSIX, existem duas syscalls:

No caso dos sistemas padrão win32 (microsoft), existe apenas uma syscall denominada de CreateProcess a qual executa a criação da cópia e também a substituição do binário executável. No caso do Linux, que é aderente ao padrão POSIX, o processo matriz do sistema operacional é chamado de init (processo Pai de todos os demais presentes no sistema operacional). Consequentemente todos os demais processos do sistema operacional Linux são descendentes, diretos ou indiretos, de init.

A figura a seguir exibe esse procedimento.

Copyright © 2016 AIEC.