Diferencia entre revisiones de «Conmutación de procesos»
Línea 11: | Línea 11: | ||
Los pasos que se siguen son los siguientes: | 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 el contexto de la ejecución deberá inicializarse. | |
− | + | # Pasar a modo usuario. | |
− | (no se como meter la imagen) | + | (no se como meter la imagen) |
− | + | Como el tiempo de conmutación se considera una penalizanción,ya que si realizamos muchas conmutaciones el rendimiento decrece y esto da al usuario la sensación de que sus actividades no procesan. Para optimizar esto hay que evitar conmutaciones innecesarias, empleando para ello criterios de selección lo más eficaces posibles. |
Revisión del 20:38 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 se produce por cuatro razones:
1- 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.
2- Un proceso está pendiente de un evento externo, por tanto, pasa a estado bloqueado haciendo uso de la llamada al sistema bloqueante. El planificador debe asignar el procesador a otro nuevo proceso de entre los proceso en estado preparado.
3- Que termine la ejecución del proceso en cuestión.
4- Que halla una interrupción en la ejecución.
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 el contexto de la ejecución deberá inicializarse.
- Pasar a modo usuario.
(no se como meter la imagen)
Como el tiempo de conmutación se considera una penalizanción,ya que si realizamos muchas conmutaciones el rendimiento decrece y esto da al usuario la sensación de que sus actividades no procesan. Para optimizar esto hay que evitar conmutaciones innecesarias, empleando para ello criterios de selección lo más eficaces posibles.