Next: Implementación de las Propiedades
Up: Implementación en el Intel
Previous: Implementación en el Intel
En el Intel x86 el procesador tiene una serie de registros entre los
que se encuentran los siguientes:
- eip Contador de programa
- esp Puntero de pila
- eflags Flags de estado del procesador.
- tr Registro de tarea.
- Registros generales como eax, ebx, etc.
Cada tarea que ejecuta en el procesador tiene a su vez un segmento de
estado de tarea (TSS, de task state segment) que contiene,
entre otros, los siguientes elementos:
- Espacio de salvaguarda de registros destinado al
almacenamiento del estado del procesador cuando se deja de ejecutar
la tarea (debido a una conmutación de tarea). También se emplea para
recuperar dicho estado cuando es preciso reanudar la tarea.
- Mapa de bits de E/S que contiene un bit por cada puerto
indicando si se permite ejecución de una operación de E/S en el
mismo o bien se requiere que el procesador ejecute en modo
privilegiado.
- Punteros de pila para los distintos niveles de
privilegio (de 0 a 3 en el Intel). En una conmutación de tarea el
hardware sitúa el puntero de pila (esp) con un valor
almacenado en el TSS, dependiendo del nivel de privilegio con que se
ejecuta dicha tarea (esp0 para el nivel 0, esp1 para
nivel 1, etc.).
El procesador contiene un registro denominado ``registro de tarea'' (o
tr) que identifica el TSS de la tarea en curso. Cuando se
conmute hacia otra tarea el hardware salvará el estado del procesador
en el TSS apuntado por tr y cargará en tr el valor para
el nuevo TSS, recuperando el estado del procesador de la salvaguarda
de registros mantenida en el TSS de la tarea entrante.
Así pues, el esquema completo quedaría como puede apreciarse en la
figura 3.12. Hay otros muchos elementos que no hemos
mencionado por razones de claridad y brevedad.

Figure 3.12: Tareas en el Intel x86. En un cambio de contexto el
hardware (1) salva y (2) recupera el estado.
Veamos ahora cómo están implementadas las propiedades y los shuttles.
Next: Implementación de las Propiedades
Up: Implementación en el Intel
Previous: Implementación en el Intel
Francisco J. Ballesteros
Fri Dec 19 17:18:03 MET 1997