Diferencia entre revisiones de «Conmutación de procesos»
De Wiki de Sistemas Operativos
(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:
- 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.