Qué es un cambio de contexto
Cada vez que cambia de tarea, la computadora apunta hasta dónde había llegado y, al volver, lee esa nota. Detrás de los turnos está esta pequeña nota.
Al parar, se deja una nota
Imagina que estás trabajando en tu escritorio y de pronto tienes que hacer otra cosa. Si te levantas sin más, al volver no recordarás por dónde ibas.
Por eso, antes de irte, apuntas una nota que dice «llegué hasta aquí», y al volver la lees y sigues justo donde lo dejaste.
La computadora hace exactamente lo mismo. Al pausar una tarea, guarda su estado actual entero, como una nota, y al volver lo carga tal cual.
Si pausas un videojuego y al encenderlo de nuevo sigue en el mismo punto, también es porque se guardó el estado del momento en que lo pausaste.
Antes de irse, se apunta el estado; al volver, se sigue exactamente donde se estaba.
Al detener una tarea se guarda su estado, y al volver se restaura ese estado.
Ver a cámara lenta el momento del cambio
Veamos a cámara lenta ese breve momento en que se cambia de tarea.
Primero está funcionando la tarea A. Cuando llega la hora de cambiar, se guarda el estado de A y luego se carga el estado guardado de la tarea B. Solo entonces B empieza a funcionar.
Lo importante es que, mientras se guarda y se carga, ni A ni B pueden trabajar. Ese tiempo se dedica únicamente a cambiar de puesto.
Como la restauración solo puede empezar cuando termina el guardado, ese hueco no se puede saltar.
Entre el guardado y la restauración, ninguna tarea avanza.
Un cambio se hace en dos pasos, guardar y restaurar, y entre ellos no se avanza nada.
Cuanto más a menudo se cambia, más se pierde
Cambiar siempre tiene un pequeño costo: el tiempo de escribir la nota y volver a leerla.
Con el control deslizante de abajo, ajusta cuántas veces se cambia de tarea en el mismo 1 segundo. Cuantos más cambios, más tiempo se va en cambiar de puesto y menos queda para trabajar de verdad.
Si se cambia demasiado poco, una tarea ocupa el puesto demasiado tiempo; si se cambia demasiado a menudo, no se trabaja por estar cambiando. Por eso hace falta un equilibrio.
Cuando la computadora va lenta con demasiados programas abiertos, una de las razones es que se acumula el tiempo de cambio.
Mueve el control deslizante para ver cuánto le quita el costo de cambio al tiempo de trabajo.
Cambiar no sale gratis, así que cambiar demasiado a menudo le quita tiempo al trabajo.
El mismo tiempo, resultados distintos
Veamos dos formas de hacerlo una al lado de la otra, con exactamente el mismo tiempo.
La de la izquierda cambia solo de vez en cuando: pocas casillas se van en cambiar, así que muchas se dedican a trabajar. La de la derecha cambia muy a menudo: en cada casilla se cuela el costo del cambio, así que pocas casillas llegan a trabajar.
En ambas pasó el mismo tiempo, pero al final han procesado cantidades distintas. Lo que marcó la diferencia no fue la cantidad de trabajo, sino el tiempo tirado en cambiar.
Es igual que una persona que salta todo el rato de una tarea a otra: siempre ocupada, pero termina muy poco.
Las dos filas miden lo mismo, pero la que cambia a menudo tiene menos casillas de trabajo.
Si los cambios son frecuentes, se procesa menos aunque se use el mismo tiempo.
Resumen en una página
Solo hay que recordar tres cosas.
Primera: la nota es el estado. Guardar entero el avance hasta ese momento cuando una tarea se detiene es lo que significa dejar una nota.
Segunda: cambiar son dos acciones, guardar y volver a cargar, y entre ellas ninguna tarea avanza. Tercera: por eso cambiar demasiado a menudo sale caro, porque al acumularse el tiempo de cambio, se reduce el tiempo de trabajo real.
Al final, cambiar es el secreto para hacer muchas tareas con un solo trabajador, y el truco está en cambiar en su justa medida.
La nota es el estado, cambiar es guardar y restaurar, y cambiar demasiado sale caro.