Clase Task

Entorno.

Esta clase hereda a la clase mensaje e incluye todo lo referido al TSS, tipo de la tarea, su pila, en fin, todo lo referente a la inicialización de una tarea cualquiera que sea el tipo de esta (Task, Btask, Teclado...) sin entrar en especificaciones propias de cada clase. Posee en la parte privada dos clases amigas, Plan y Teclado. Plan es la tarea padre de todas (planificador) y Teclado sirve para que el planificador pueda tener acceso a la parte protegida del Teclado de cada tarea que lo posea.

Grafo.

Vamos a ver cuales son los miembros atributo y los miembros función del Objeto:

La clase herede mensaje, y clases amigas son Plan y Teclado.

  Task
Private:

 

 

Protected:

tid

tpid

tarea

tipo

Protected:

 

Public:

setState

setCount

Task

~Task

getState

getTid

Terminada

Definicion de miembros.

Atributos

tid

Tipo: ushort.

Cometido:Identifica la tarea. Tiene el mismo valor que su selector de TSS.

tpid

Tipo: ushort.

Cometido: Identifica a la tarea padre. Tiene el mismo valor que el selector de TSS del padre

tarea

Tipo: Ext_Task

Cometido: Estructura a bajo nivel de la tarea. Proviene de extensor.h y contiene los siguientes campos:

y devuelve:

tipo

Tipo:ushort

Cometido:Indica el tipo de tarea (Task, Btask...);

Funciones

setState

setState(m1)

Parametros:

Cometido: Modifica el estado del campo bits del TSS de la tarea.Puede establecer los valores activo o terminado.

Pseudocódigo:

setState(m1)

Inicio

(Tarea.TSS<>bits)=m1;

Fin.

setCount

setCount(m1)

Parametros:

Cometido: Modifica la variable countdown del TSS de la tarea asignando otro numero de cuantos de la ejecucion.

Pseudocodigo:

setCount(m1)

Inicio

(Tarea.TSS<>countdown)=m1;

Fin

getState

m1 getState()

Parametros:

Cometido: Devolver informacion del estado de la tarea contenido en el campo bits del TSS

Pseudocodigo:

getState()

Inicio

Devuelve (Tarea.TSS->bits)

Fin

getTid

m1 getTid()

Parametros:

Cometido: Devolver el id de la tarea contenido en el TSS

Pseudocodigo:

getTid()

Inicio

Devuelve(tid)

Fin

Terminada

m1 Terminada()

Parametros:

Cometido: Devuelve distinto del cero si el bit 2 del campo bits del TSS es igual a 1, es decir, terminado.

Pseudocodigo:

Terminada()

Inicio

Devuelve(tarea.TSS->bits&0x2);

Fin

Task

Task(m1,m2,m3,m4)

Parametros:

Cometido: Constructor de la clase Task.Se le pasan los parametros necesarios para crear una nueva tarea.

Pseudocodigo:

Task(m1,m2,m3,m4)

Inicio

Tarea.entrada=m1;

Tarea.longitud_pila=m2;

Tarea.longitud_LDT=m3;

Tarea.dpl=m4;

Crear_nueva_tarea(Ref. Tarea);

tid=Tarea.ID;

tpid=Identificador de la tarea actual;

tipo=0;

Fin

~Task

~Task()

Cometido: Eliminar la memoria asignada a la tarea y los selectores con su LDT y elimina su entrada de la GDT.

Pseudocodigo:

~Task()

Inicio

Liberar_Tarea();

Fin


zeusv2@geocities.com

Última actualización de la página: 12/03/99


Esta página está hospedada en   Consigue tu Página Web Gratis