Examen Julio 2013 - Problema 1 - Pregunta 4

Examen Julio 2013 - Problema 1 - Pregunta 4

de Diego Esmir Gonzalez Morales -
Número de respuestas: 2

La pregunta dice: 

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).

No recuerdo haber visto nada tan específico en clase, ni tampoco lo encuentro en las diapositivas. Según sé, debería ser:

  1. SO guarda el estado del proceso en ejecución
  2. HW determina el tipo de interrupción sucedida
  3. SO atiende la interrupción con una rutina adecuada

¿Alguna idea de cómo seguir esto o si está bien?

En respuesta a Diego Esmir Gonzalez Morales

Re: Examen Julio 2013 - Problema 1 - Pregunta 4

de Alvaro Gabriel Señorale Perez -

Me sumo a la duda. Estaría bueno que algún profesor contestara.

En respuesta a Alvaro Gabriel Señorale Perez

Re: Examen Julio 2013 - Problema 1 - Pregunta 4

de Carlos Santiago Marquez Fumero -

Hola, en realidad creo que la pregunta se refiere a algo mas en detalle de lo que sucede cuando se produce una system call.

1. Primero se deben cargar los parametros en el lugar adecuado(Stack o Registro) Esto lo hace el programador

2.Cargar el numero de la system call en el registro adecuado (EAX intel) Tambien programador

3.Invocar la interrupcion por software adecuada esto lo hace el system call handler

4.Se cambia el modo usuario a modo monitor (Lo hace el hardware) e invoca al manejador de la interrupcion que controla que el numero de la SC que se paso sea menor que la mayor del sistema. Alli se guarda el contexto(SO) y se invoca la rutina correspondiente a ese SC.

5.El valor retornado por el SC es puesto en un registro especifico, lo hace el SO.

Creo que es por aca que viene la mano.

Otra consulta, tengo algunas dudas sobre monitores, por casualidad estan en biblioteca?

 

Saludos