You are on page 1of 4

1

Tema 7. Multitarea

En la multitarea no se usa estructuras de datos especiales que


permitan controlar la multitarea con las instrucciones comunes del MP.
(esto significa que no existen instrucciones especiales para controlar la
multitarea ).Estas estructuras son:

1. Segmento de estado de la tarea (TSS)


2. Descriptor del Segmento de estado de la tarea.
3. Registro de tarea.

Con ayuda de estas estructuras el MP puede reconectarse entre las


tareas, conservando los datos suficientes para que la tarea sea prolongada
después. Además, para facilitar la simpleza de la conmutación el MP cuenta
con dos dispositivos de control de las tareas:

1. Cuando se da la conmutación entre tareas puede suceder una


interrupción. El MP automáticamente no sola tiene que conectar
al programa de interrupción sino también realizar el retorno,
después de servir a la interrupción.
2. Con cada conmutación entre tareas el MP también puede
conmutar hacia otra LDT o hacia otra página, la tarea puede
encontrarse en diferente distribución de la memoria lógica - lineal
y lineal física.

Los Sistemas operativos que trabajan con multitarea para indicar a


las tareas que intervienen en el proceso de conmutación utilizan los
siguientes términos:

 La tarea que sustituye a la tarea actual se llama Tarea Entrante.


 La tarea actual la cual es sustituida por la tarea entrante, se llama Tarea
Saliente.

7.1 Segmento de Estado de la Tarea.-

Toda la información que necesita el MP para controlar la tarea se


conserva en el segmento de estado de la tarea (TSS). En la fig 7.1 se
muestra el TSS. Los campos del TSS son de dos tipos:

1. El conjunto de datos dinámicos, el cual el MP renueva durante


cada conmutación de tareas. Este conjunto incluye campos para
conservar:
1
Arquitectura y Organización del Computador Ing. Sally Torres
 Registros comunes (EAX, EBX, ECX, EDX)
 Registros apuntadores y de índice (EIP,ESI,EDI, ESP, EBP)
 Registro de Banderas (EFLAGS).
 Selector del TSS de la tarea saliente.

2. El conjunto de datos estáticos, el cual el MP lee pero no los


cambia, ellos son:
 El selector de LDT de la tarea.
 El registro CR3, el cual contiene la dirección base del catalogo
de paginas de la tarea (se lee si esta permitido el régimen de
paginación).
 Punteros de pila para los tres niveles (0,1,2).
 Carta base de entrada y salida.2

El descriptor del segmento de estado de la tarea solo puede


encontrarse en la tabla de descriptores globales (GDT) . El segmento puede
encontrarse en cualquier lugar de la dirección lineal.

Cuando el TSS se encuentra en el limite de la página que esta en una


dirección final de la memoria y se intenta leer el TSS en el proceso de
conmutación de tareas puede suceder una interrupción o situación especial,
La cual se puede evitar de dos maneras:

1. Distribuir el TSS de tal manera que el no se intercepte con el


limite de la página.
2. Garantizar que ambas páginas estén ausentes siempre ó estén
ausentes cuando se da la conmutación de tareas. Si ambas páginas
están ausentes es necesario hacer que ambas páginas estén
durante la reinicialización de la instrucción la cual hizo posible la
conmutación de las tareas.

7.2 Descriptor del TSS del MP.-

El segmento de estado de la tarea, como todos los demás segmentos,


se determinan a través del descriptor del sistema. En la fig 7.2 se representa
el descriptor del segmento de estado de una tarea.

En el bit "B" del descriptor de TSS determina la posibilidad de


conmutar las tareas, la cual pertenece a este TSS. Es decir determina el
estado de la tarea. Si en el campo tipo se encuentra 9H (1001) indica que el

2
Arquitectura y Organización del Computador Ing. Sally Torres
TSS esta libre y si el campo tipo tiene el valor BH (1011) indica que el TSS
esta ocupado. Los demás campos tienen el mismo significado que los
7 07 0
Limite
Base (31-24) G D O U (19-16)
+6

G DPL 010B 1 Base (23-16) +4

Base (15-0) +2

Limite (15-0) +0
15 87 0
Descriptor del TSS
descriptores de datos.

7.2 Descriptor para 32 bits de TSS

7.3 Registro de Tareas.-3

Cada tarea debe tener un TSS enlazado. El TSS actual se índica en el


registro especial del MP, el cual se llama Registro de Tarea (TR). El
registro de tarea, conserva el selector, que indica hacia el descriptor del
segmento de estado de la tarea que se ejecuta en el momento actual.

El registro de tarea tiene una parte visible (la cual puede ser leída y
cambiada con instrucciones) y la parte invisible (Que conserva el MP
conjuntamente con la parte visible). Con el valor de la parte visible del
registro de tareas se selecciona el descriptor de TSS de la GDT. El MP
utiliza la parte invisible del registro para conservar el valor de la base y el
limite del descriptor de TSS.

7.4 Conmutación de Tareas.-

El MP realiza la conmutación de tarea en los siguientes casos:

 La tarea actual ejecuta una instrucción JMP o CALL, la cual usa el TSS.
 El Vector de interrupción o situaciones especialel indican a tareas en
IDT.
 La tarea actual ejecuta la instrucción IRET cuando esta activado NT=1
(NT permite el anidamiento de interrupciones).

El mecanismo de conmutación de tareas es el siguiente:

3
Arquitectura y Organización del Computador Ing. Sally Torres
1. Controlar si la tarea actual esta permitida para la conmutación hacia una
determinada tarea.
2. Controlar si el descriptor TSS existe y tiene un limite correcto.
3. Conservación del estado de la tarea actual. El MP encuentra la dirección
base del TSS actual, la cual se conserva en la memoria caché del
registro de tarea y copia los registros del TSS actual (EAX,... GS). El
campo EIP en el TSS indica hacia la instrucción que seguirá después de
la instrucción que llama a la conmutación de tareas.
4. Carga el registro de tarea con el valor del selector del descriptor del TSS
de la tarea entrante. Anotar el descriptor del TSS de la tarea entrante
ocupado (B=1).
5. Carga los registros con los datos de TSS para la tarea entrante
(EAX, ...,GS)

Notemos que el estado de los registros de la tarea saliente son


conservados cuando se da la conmutación de tareas.

7.5 Región de Direccionamiento de las Tareas.-4

Cada tarea tiene una región de direccionamiento de memoria


individual, la cual es un medio de defensa del MP. El módulo que ocupa
una tarea no puede cruzarse con el módulo de otra tarea.

El selector LDT y el campo CR3 en el TSS permiten a los


programadores del sistema, utilizar libremente los segmentos y elementos
de la región de representación de las páginas, logrando diferentes
combinaciones de direccionamiento de las regiones de memoria como:

 Utilizar direcciones comunes.


 Utilizar direcciones diferentes.
 Y sus combinaciones

4
Arquitectura y Organización del Computador Ing. Sally Torres

You might also like