ingenieria

Páginas: 7 (1508 palabras) Publicado: 19 de febrero de 2014
Práctica P2.- Programa multitarea
2.1.- Objetivos
El objetivo general de este trabajo es programar los componentes básicos que forman un sistema de tiempo real, con el fin de comprender sus características, necesidades y problemas que plantean. Para ello se realizará la implementación de la estructura de un programa que contiene dichos componentes.
En este primer trabajo, podemos citarcomo objetivos más específicos:
• Conocer las utilidades que ofrece Ada95 para el manejo de aspectos temporales.
• Implementar procesos periódicos y esporádicos.
• Utilizar el mecanismo de sincronización mediante objetos protegidos del lenguaje Ada95.
• Observar el comportamiento de los procesos en relación a sus atributos temporales.
2.2.- Planteamiento del problema
Se va a implementar elesqueleto de un sistema multiprogramado compuesto por tres procesos periódicos y uno esporádico que se sincronizan mediante un objeto protegido, tal y como muestra la figura.
El objeto protegido tiene dos operaciones: Pr1 (cuyo tiempo de cómputo serán 40 ms.) y Pr2 (cuyo tiempo de cómputo serán 80 ms.). Las tareas A, B y C son periódicas, mientras que E será la tarea esporádica. Las operaciones quedeben realizar en cada una de sus activaciones se indican a continuación.





Los periodos de activación de las tareas son los que se muestran en la siguiente tabla. La tarea esporádica se activa desde una rutina de tratamiento de interrupción.
TAREA A B C
PERIODO 350 ms. 700 ms. 1400 ms.
Las prioridades de las tareas siguen el siguiente orden:
PE > PA > PC > PB.
La prioridad delobjeto protegido deberá ser igual a la mayor de las prioridades de entre todas las tareas que acceden a dicho objeto.
2.3.- Implementación del sistema
El sistema estará compuesto por los paquetes que se muestran en la figura y cuyo contenido se describe a continuación.
- T1: Programa principal que arranca las tareas contenidas en el resto de paquetes.
- Multitarea: Todos los componentes queforman el sistema (tareas, objeto protegido, rutina de tratamiento de interrupción …)
- Provoca_Interrupcion: Tarea que provoca una interrupción en el simulador en unos instantes determinados.
- Utiles: Algunas utilidades para el resto de paquetes.
- Parámetros_Planificación: Declaración de las constantes que representan los parámetros de tiempo real de los distintos elementos del sistema(periodos, prioridades, tiempos de ejecución, instantes de interrupción, origen de tiempos)
- Workload: Procedimiento para simulación de cálculos (consumo de tiempo de CPU).
Los paquetes que se indican con la línea continua ya se están completamente programados y no se deberán modificar. El alumno deberá desarrollar su trabajo en los paquetes Multitarea y Parámetros_Planificacion.
Además de los paquetesanteriores utilizaremos los siguientes paquetes del sistema:
- System
- Ada.Real_Time
- Ada.Interrupts
- Ada.Interrupts.Names
Los ficheros que se proporcionan para la realización de la práctica se podrán obtener del directorio /eui/practs/str/ficheros.t1 del ordenador cajal. Además se proporciona un esqueleto del fichero Parámetros-planificacion.ads que deberá completar el alumno.
2.4.-Trabajo a desarrollar. Parte obligatoria. (0.8 ptos.)
El trabajo consistirá en programar dentro del paquete Multitarea las tareas A, B, C y E, así como el objeto protegido, el tratamiento de la interrupción y otros elementos que puedan ser necesarios.
Para simular el tiempo de cálculo de las tareas y procedimientos protegidos se realizarán llamadas al procedimiento Utiles.Execution_Time (time:Ada.Real_Time.Time_Span). Este procedimiento consume tiempo de CPU realizando cálculos durante el tiempo que se indica como parámetro.
La ejecución de la práctica deberá generar una salida similar a la mostrada en la figura. En ella se puede comprobar que con el símbolo >>> se indica el instante de inicio de activación de cada tarea o entrada a un objeto protegido. Con el símbolo === se indican...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Ingenieria
  • Ingenieria
  • Ingenieria
  • Ingeniería
  • Ingenieria
  • Ingenieria
  • La ingenieria
  • Ingenieria

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS