Clase Plan

Entorno.

La clase Plan es una de las más importantes del sistema, ya que su cometido es administrarlo, en todo él. Entre sus funciones podemos hallar el mantenimiento de la lista de tareas, altas, bajas, asignación de tiempos (quantos) para la conmutación entre las tareas que cohabitan en el sistema.

Grafo.

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

(Clases heredadas: Teclado)

  Plan
Privados:

Protegidos:

Lista

numtareas

Públicos: Plan

add

del

desactiva

activa

EliminaTerminadas

planifica

getnumtareas

~Plan

 

Definción de miembros.

Atributos

Lista.

Tipo: struct Ltask *

Cometido:Lista de tareas del planificador.

numtareas

Tipo: ushort

Cometido:Indica el número de tareas que hay en el planificador.

Funciones.

Plan

Plan (m1)

Parámetros:

Cometido:Constructor de la clase.

Pseudocódigo:

 
  1. Plan (m1)
  2. Inicio
  3. Inicializar_Variables;
  4. Asignar_Velocidad_al_Timer;
  5. Fin

 

~Plan

~Plan()

Parámetros: No necesita.

Cometido:Destructor de la clase

Pseudocódigo:

 

 
  1. ~Plan()
  2. Inicio
  3. Eliminar_Tareas_no_Finalizadas;
  4. Fin

 

add.

add(m1,m2)

Parámetros:

Cometido:Añade una tarea al planificador.

Pseudocódigo:

 
  1. add(m1,m2)
  2. Inicio
  3. Crear_Nodo();
  4. Insertar_Tarea_en_Nodo(m1);
  5. Añadir_Nodo_a_Lista();
  6. Asignar_Cuantos_de_Ejecucion(m2);
  7. Añadir_Tarea_al_BufferTareas(m1);
  8. Fin

 

del.

del(m1)

Parámetros:

Cometido: Eliminar una tarea del planificador

Pseudocodigo:

 
  1. del(m1)
  2. Inicio
  3. Cerrar_Multitarea();
  4. Si(Buscar_Tarea(m1)==1)
  5. Eliminar_Tarea_de_Planificador;
  6. finsi
  7. Abrir_Multitarea();
  8. Fin

 

desactiva

desactiva(m1)

Parámetros:

Cometido:Desactiva una tarea sin eliminarla.

Pseudocodigo:

 
  1. desactiva(m1)
  2. Inicio
  3. Poner_Bit_Activo_a_1(m1);
  4. Fin

 

activa.

activa(m1)

Parámetros:

Cometido:Activa una tarea desactivada previamente.

Pseudocodigo:

 
  1. activa(m1)
  2. Inicio
  3. Poner_Bit_Activo_a_0(m1);
  4. Fin

 

EliminaTerminadas

EliminaTerminadas()

Parámetros: No necesita.

Cometido: Elimina las tareas terminadas una vez acabada una ronda.

Pseudocodigo:

 
  1. EliminaTerminadas()
  2. Inicio
  3. Cerrar_Multitarea();
  4. Mientras (Numero_Tareas_Terminadas!=0)
  5. Si (Tarea_Terminada)
  6. Eliminar_Tarea_de_Planificador;
  7. Numero_Tareas_Terminadas--;
  8. Fsi
  9. Mirar_Tarea_Siguiente;
  10. Fmientras
  11. Abrir_Multitarea();
  12. Fin

 

 

planifica.

planifica()

Parámetros: No necesita.

Cometido:Centro del planificador y del sistema operativo.

Pseudocodigo:

 
  1. planifica()
  2. Inicio
  3. Abrir_Multitarea();
  4. Mientras (Dispatch==0)
  5. EliminaTerminadas();
  6. Pasar_Control_Tarea_Sigte;
  7. Fmientras
  8. Cerrar_Multitarea();
  9. Fin

 

 

getnumtareas

m1 getnumtareas()

Parámetros:

Cometido: Devuelve el numero de tareas en el planificador

Pseudocodigo:

 
  1. Inicio
  2. Devuelve numtareas;
  3. 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