Skip to main content

¿Qué es el cambio de contexto?

Uno de los mayores pasos hacia adelante en el diseño y operación de las unidades centrales de procesamiento (CPU) se produjo cuando los diseñadores de sistemas operativos de computadoras desarrollaron técnicas para permitir a los usuarios realizar múltiples tareas. La multitarea en referencia a las computadoras es la práctica de ejecutar dos o más programas al mismo tiempo. Desde el punto de vista del usuario final, esto puede no parecer complicado o descabellado, pero en realidad representa un salto considerable en el diseño del sistema. En la multitarea, la CPU debe hacer malabarismos con todas las operaciones para los diferentes programas activos, registrando dónde está con cada programa a medida que el usuario alterna entre ellos. El cambio de contexto es el proceso que permite a la CPU recordar y restaurar estados para una variedad de programas activos, lo que le permite completar este acto de malabarismo.

Durante el cambio de contexto, la CPU descarta cualquier programa que esté manejando actualmente, almacenando el lugar específico en el que estaba en ese programa para que pueda reanudar su progreso más tarde. Para poner esto en perspectiva, el cambio de contexto es un poco como leer varios libros al mismo tiempo, cambiando constantemente de uno a otro mientras siempre recuerda los números de página para cada uno. El bloque de control de proceso (PCB) retiene la información del "número de página" para los programas durante una operación de cambio de contexto. La PCB también se conoce a veces como "trama de conmutación". Esta información se almacena en la memoria dentro de la CPU real, hasta que se vuelva a necesitar.

El cambio de contexto ocurre durante tres situaciones posibles: manejo de interrupciones, multitarea y cambio de usuario. En el manejo de interrupciones, otro programa "interrumpe" el programa actual mientras se está ejecutando. Una vez que la CPU recibe la interrupción, realiza un cambio de contexto para hacer malabarismos entre el programa en ejecución y el programa que solicita datos inmediatos. En la multitarea, la CPU se mueve de un lado a otro entre los programas, lo que proporciona un intervalo de tiempo de procesamiento a cada uno y realiza una operación de cambio de contexto para cambiar entre los dos. Para algunos sistemas operativos, también se realiza un cambio de contexto durante un cambio de usuario para el sistema operativo, aunque esto no es expresamente necesario.

El sistema operativo o el hardware de la computadora pueden controlar el cambio de contexto. Algunos sistemas operativos modernos y están diseñados para controlar el cambio de contexto a través del propio sistema operativo, ignorando cualquier soporte de hardware incorporado para el procedimiento. Esto permite que el sistema operativo guarde más información durante un cambio de contexto, lo que le permite conservar más información sobre el cambio.