Definición
La System call exec()
tiene 6 variantes
exec()
execl()
execle()
execlp()
execv()
execcvp()
Pero todas estas son variaciones de la system call excec()
La system call_exec()
invoca a otro programa, sobreponiendo el espacio de memoria del proceso con el programa ejecutable.
Hace
- Obtiene el Inodo del programa
- Verifica si el archivo es ejecutable y el usuario tiene los permisos para ejecutarlo
- Leer el header del archivo
- Copia los parámetros del exec del viejo address space al system space
- Para (cada región asociada al proceso) las des-asocia
- Para (cada región especificada en el módulo ejecutable) aloca espacio para las nuevas regiones, asociada a la región, carga la región en la memoria
- Copia los parámetros del exec en la nueva región o sección stack
- Hace cierta magia
- Inicializa a modo usuario
- Libera el Inodo