10 Cambio de contexto

 Cambio de contexto durante una interrupción en el sistema operativo

El sistema operativo se encarga, entre otras cosas, de la ejecución de programas. A un programa en ejecución se le conoce como proceso, el recurso del procesador es alternado entre los diferentes procesos que existen en el sistema, dando la idea de que se ejecutan en paralelo. El proceso es representado, a nivel de sistema operativo, a través del bloque descriptor de proceso (PCB). 


Todo proceso se describe mediante su estado, nombre, recursos asignados, información contable, etc. Para ello se utiliza una estructura de datos que será el operando de las operaciones sobre procesos, recursos y del planificador. Los campos de esta estructura son: 

  • Estado CPU: el contenido de esta estructura estará indefinido toda vez que el proceso está en estado “ejecutando”. Registro de flags.

  • Procesador: Contendrá el número de CPU que está ejecutando al proceso (si se encuentra en estado “ejecutando”), sino su valor es indefinido.

  • Memoria: Describe el espacio virtual y/o real de direccionamiento según la arquitectura del sistema. Contendrá las reglas de protección de memoria así como cuál es compartida.

  • Estado del proceso: ejecutando, listo, bloqueado etc.


A la tarea de cambiar un proceso por otro en el procesador se le denomina “cambio de contexto” o "context switch”. El cambio de contextos entre procesos implica las siguientes tareas.


  • Salvar el estado de proceso (registros, información de punteros de memoria) que se está ejecutando en su  PCB. 

  • Cambiar el estado del proceso que se estaba ejecutando al que corresponda ahora.

  • Cargar el estado del proceso asignado a la CPU a partir de su PCB.

  • Cambiar el estado del proceso nuevo a “ejecutando”.


No hay comentarios:

Publicar un comentario

Plataformas operativas