Processos
Estados, espaço de endereçamento, fork, exec, wait, descritores e saída.
Processo
Execução com PID e estado próprios. O PCB é gestão no núcleo; o espaço de endereçamento é código e dados do programa.
- Zombie: terminou e já não executa; liberta a memória de execução, mas resta uma entrada na tabela do núcleo com PID e estado até
waito recolher. - Órfão: pai terminou, filho vivo; adotado por init ou subreaper.
- Mesmo endereço virtual em dois processos não prova partilha física.
fork, exec e espera
Retorno de fork | Significado |
|---|---|
-1 | falha |
0 | filho |
| PID | pai |
- Dados privados ficam logicamente separados (COW); descritores herdados partilham posição.
- Desenha uma bifurcação por processo que chega a cada
fork: forks de todos dão ; filhos que saem logo quebram a progressão. execsubstitui a imagem no mesmo PID; sucesso não retorna.execlpleva argumentos soltos,execvpvetor terminado emNULL;"ls -l"junto não é analisado.- Recolha: cria todos, guarda PIDs, espera com
waitpidrepetindo emEINTR, interpreta comWIFEXITED/WEXITSTATUSantes de avançar. - No filho após
execfalhado:_exit, nãoexitnemreturn, para não repetir limpezas herdadas.fflushantes deforkevita saída duplicada.