Diferencia entre revisiones de «Conmutación de procesos»

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
(esbozo de la conmutación de procesos)
 
Línea 3: Línea 3:
 
* Un proceso está pendiente de un evento externo, por tanto, pasa a estado bloqueado. El planificador debe asignar el procesador a otro nuevo proceso de entre los proceso en estado preparado.
 
* Un proceso está pendiente de un evento externo, por tanto, pasa a estado bloqueado. El planificador debe asignar el procesador a otro nuevo proceso de entre los proceso en estado preparado.
 
* Un proceso agota el tiempo máximo asignado al procesador, por tanto, se debe dar paso a otro proceso para garantizar que la multiprogramación es llevada a cabo apropriadamente.
 
* Un proceso agota el tiempo máximo asignado al procesador, por tanto, se debe dar paso a otro proceso para garantizar que la multiprogramación es llevada a cabo apropriadamente.
 +
 +
Los pasos que se siguen son los siguientes:
 +
 +
# Pasar a modo supervisor.
 +
# Guardar el contenido de los registros del hardware en el PCB (el llamado ''contexto de la ejecución'').
 +
# Actualizar el estado del proceso en el PCB (el estado ha pasado de activo a bloqueado o preparado).
 +
# Si se produjo una interrupción, atenderla.
 +
# Seleccionar un nuevo proceso.
 +
# Restaurar el contexto de ejecución del nuevo proceso seleccionado. En el caso de que el nuevo proceso no hubiese estado en estado activo el contexto de la ejecución deberá inicializarse.
 +
# Pasar a modo usuario.

Revisión del 11:26 2 mar 2011

La conmutación de procesos es la operación que consiste en retirar el procesador a un proceso para asignarselo a otro. La conmutación puede suceder por dos motivos:

  • Un proceso está pendiente de un evento externo, por tanto, pasa a estado bloqueado. El planificador debe asignar el procesador a otro nuevo proceso de entre los proceso en estado preparado.
  • Un proceso agota el tiempo máximo asignado al procesador, por tanto, se debe dar paso a otro proceso para garantizar que la multiprogramación es llevada a cabo apropriadamente.

Los pasos que se siguen son los siguientes:

  1. Pasar a modo supervisor.
  2. Guardar el contenido de los registros del hardware en el PCB (el llamado contexto de la ejecución).
  3. Actualizar el estado del proceso en el PCB (el estado ha pasado de activo a bloqueado o preparado).
  4. Si se produjo una interrupción, atenderla.
  5. Seleccionar un nuevo proceso.
  6. Restaurar el contexto de ejecución del nuevo proceso seleccionado. En el caso de que el nuevo proceso no hubiese estado en estado activo el contexto de la ejecución deberá inicializarse.
  7. Pasar a modo usuario.