Pregunta:
"Mencione las tareas que deben realizarse para ejecutar una llamada al sistema (system
call) e indique en cada caso quién realiza dicha tarea (programador/sistema
operativo/hardware subyacente)."
Segun las diapos:
- Cargar los parámetros en el lugar adecuado (stack o registros).
Se encarga el sistema operativo.
– Cargar el número de system call en algún registro específico (Ej: eax en Intel).
Se encarga el sistema operativo.
– Invocar a la interrupción por software (trap) adecuada (system call handler).
Se encarga el sistema operativo.
– El hardware cambia el bit de modo a monitor e invoca al manejador de la
interrupción que controla que el número de system call pasado en el registro
sea menor que el mayor del sistema y, finalmente, invoca al system call
correspondiente.
Se encarga el hardware.
– El valor retornado por el system call es puesto en un registro específico (Ej.: eax
en Intel)
Se encarga el sistema operativo.
Es correcto esto ?
Gracias!