Go backward to Inicialização de Processos: fork
Go up to Execução de Processos
Go forward to Espaço de Execução do Processo
Inicialização de Processos: exec
A execução de um novo programa é iniciada com exec():
- exec() faz overlay com um novo programa.
- exec() obtém o executável, verifica permissões, lê o
cabeçalho, altera se SUID ou SGID, coia os argumentos de
exec() e env para kernel space, aloca swap para data
e swap, liberta antigos data and stack, aloca mapas de endereço e
inicializa-o, restaura env e argumentos, reinicializa os
signal handlers, inicializa contexto HW.
- entre os dois podemos fazer coisas como alterar os descriptores de
entrada-saida, etc.
vitor@cos.ufrj.br