Práctico 3, ejercicio 7.

Práctico 3, ejercicio 7.

de Marta Cecilia Garcia Camilo -
Número de respuestas: 1

Se pide la secuencia de pasos para realizar un cambio de contexto entre hilos.

Según las diapositivas de teórico es más fácil que el cambio de contexto entre procesos, pero no especifica como se hace.

Alcanza con salvar el estado del thread? O hay que hacer algo más?

En respuesta a Marta Cecilia Garcia Camilo

Re: Práctico 3, ejercicio 7.

de Santiago Iturriaga -

Hola Marta:

Siempre que se hace un cambio de contexto lo que busca es preservar el estado (o contexto) de lo que está actualmente en ejecución. Para simplificar podemos asumir que siempre se hacen cambios de contexto entre hilos y la diferencia está en si esos hilos son o no del mismo proceso.

Si los hilos son del mismo proceso, entonces guardar el estado requiere muy poca cosa. Siempre depende de la arquitectura pero en una arquitectura x86 (la que estamos más acosumbrados a ver) alcanza con guardar los registros de la CPU (recordá que entre los registros de la CPU se tiene el registro de base y tope del stack y el registro de puntero a instrucción).

Cuando el cambio de contexto es entre hilos de diferentes procesos, entonces hay que hacer algunas cosas más. Por ejemplo: cambiar el espacio de direccionamiento de memoria, invalidar caches, etc.

Saludos,

Santiago.