"comprehendere scire est"

Divisor

Consejo Nacional para el Entendimiento Público de la Ciencia.

El concepto de planificador para tareas en tiempo real concurrentes


Oscar A. Morales Moreno + Centro De Investigación En Ciencia Aplicada Y Tecnología Avanzada, Cicata Legaria–ipn; Pedro Guevara López + Escuela Superior De Ingeniería Mecánica Y Eléctrica Unidad Culhuacan; Raúl J. Sandoval Gómez + Unidad Profesional De Ingeniería Y Ciencias Sociales Y Administrativas

Abstract Research

Los Sistemas en Tiempo Real (STR) generalmente se implantan en computadoras digitales a través de Sistemas Operativos de Tiempo Real (SOTR). En este tipo especial de Sistemas Operativos las las actividades se llevan a cabo por un Conjuntos de Tareas en Tiempo Real Concurrentes (CTTRC) que piden ser atendidas por un procesador previamente ordenadad a través de un Planificador de Tareas de Tiempo Real Concurrentes (PTTRC). Comúnmente el concepto de Planificador se considera como un asignador de recursos a tareas mediante un algoritmo predefinido; sin embargo y de manera más formal, un PTTRC es una función que mapea del Conjunto de Tiempos de Arribo (CTA) al Conjunto de Tiempos de Inicio (CTI) de las instancias asociadas al Sistema de Tiempo Real; cabe mencionar que esta concepción es general e independiente del algoritmo de planificación utilizado y será de utilidad para definir el ambiente de trabajo de los STR y sus análisis de planificabilidad, reconstrucción, tolerancia a fallos y predecibilidad.


Sistemas en Tiempo Real

La principal característica que distingue a los STR de otros sistemas es el tiempo, para ello es importante saber que: La palabra tiempo significa que el correcto funcionamiento de un sistema depende no sólo del resultado lógico de la computadora, también depende del tiempo en que se produce ese resultado. La palabra real quiere decir que la reacción de externos un sistema a eventos debe ocurrir durante su evolución. Como consecuencia, el tiempo del sistema (interno) debe ser medido usando la misma escala con que se mide el tiempo del ambiente controlado (externo).


En este sentido un STR cumple tres condiciones primordiales que se representan en la figura 1. [MGC07]


1. Contacto con el mundo físico,


2. Emisión de respuestas correctas,


3. Obtención de respuestas dentro de intervalos de tiempo establecidos.


Figura 1. Condiciones de un Sistema en Tiempo Real.


Como puede verse, el concepto de STR no está atado a sistemas digitales ni mucho menos a sistemas de cómputo, aunque generalmente se emplanten en estos últimos. Ejemplos de STR pueden la gestación de una mujer, ya que tiene restricciones temporales como el plazo de 9 meses; otro ejemplo el el crecimiento de una planta, ésta interactúa con el mundo real, con el clima, el agua y tiene un tiempo de crecimiento y desarrollo.


Sistemas Operativos en Tiempo Real

Cuando se implanta un STR en una computadora digital, se hace a través de un Sistema Operativo de Tiempo Real (SOTR) (Ver figura 2). Estos son sistemas operativos especiales que proporciona un servicio adecuado a las aplicaciones que requieran una respuesta en un intervalo de tiempo determinado, su principal característica es la respuesta ante eventos internos ó externos, tales como interrupciones hardware externas, interrupciones software internas ó interrupciones de reloj internas, es decir los requerimientos temporales. [MGC07]. Ejemplos de este tipo de SO son QNX, VxWorks, RT-Linux, etc.


Tareas en Tiempo Real Concurrentes

Todas las aplicaciones que se desarrollen para un SOTR se realizan a través de Tareas en Tiempo Real Concurrentes (TTRC). Éstas son Tareas que se ejecutan de forma cuasiparalela para dar una imagen de paralelismo y que toman recursos en diferentes momentos cumpliendo restricciones temporales impuestas por el mundo real.

Como en la mayoría de los casos, la computadora tiene un solo procesador y muchas TTRC que compiten por él, es necesario utilizar alguna política que se encargue de decidir cual tarea se va a ejecutar, en que tiempo y por cuanto tiempo; para ello se requiere un Planificador de Tareas en Tiempo Real Concurrentes (PTTRC).




Para describir donde va a actuar un PTTRC, es necesario estudiar los estados de una TTRC, éstos pueden visualizarse en la figura 3.


Una TTRC tiene los siguientes estados:


1. Creación: El programa es leído del disco y cargado en memoria, se le agrega información adicional para crear la tarea. La nueva tarea cuenta con un identificador para ser reconocida por el sistema operativo (aun no consume recursos).


2. Listo: La tarea se forma en la cola de listos y espera a que se le asignen recursos para comenzar su ejecución: la cola de listos es una fila donde se forman todas las tareas antes de ejecutarse. En este estado es donde actuan los PTTRC para describir el orden de ejecución de las tareas a través de una política predefinida.


3. Ejecución: La tarea entra en ejecución y es atendida.


4. Terminación: La tarea termina todas sus actividades, libera los recursos y su identificador es borrado


Restricciones Temporales de las Tareas en Tiempo Real Concurrentes


Una Tarea en Tiempo Real es una entidad ejecutable de trabajo sincronizada con el mundo físico, ésta tiene varias restricciones de tiempo [MGC07]. Las restricciones de una Tarea en Tiempo Real son las siguientes y se representan el figura 4.


· Tiempo de llegada o arribo absoluto () y tiempo de llegada o arribo relativo (): Es el tiempo en que una tarea pasa a formar parte de la cola de listos.


· Tiempo de inicio o tiempo de liberación (): Es el tiempo en que un proceso inicia su ejecución. Cuando este cambia del estado listo a ejecutándose.


· Tiempo de cálculo o ejecución (): Es el tiempo necesario para que se ejecute un proceso sin interrupción, sin pasar a una tarea de una tarea al estado listo y viceversa.


· Plazo (): Es el tiempo en que se debe ejecutar un proceso para evitar daños al sistema.


· Tiempo de finalizado (): Es el tiempo en que un proceso termina su ejecución ().


· Tiempo de Retraso (): Es el tiempo transcurrido entre el tiempo de finalizado de la de un proceso con respecto a su plazo.


· Tiempo excedente (): Es el tiempo excedente de la terminación de un proceso con respecto a su plazo. Es de signo contrario al tiempo de retraso


Planificadores para Tareas en Tiempo Real Concurrentes

El problema de planificar un conjunto de Tareas en Tiempo Real concurrentes, independientemente de si son periódicas, aperiódicas o esporádicas, sobre sistemas con un solo procesador es considerado como un problema altamente complejo y de muchas variantes; esto se debe al hecho de que este sistema debe ejecutarse siempre de forma predecible y cumplir con plazos de respuesta predefinidos. Los problemas de planificación pueden identificarse en diferentes áreas de aplicación como son: la producción de la manufactura en la industria, procesos en sistemas computacionales, los movimientos de un sistema de transporte, monitoreo de aviones y transbordadores espaciales, etc. [SSNB94]


El concepto de Planificador de Tareas en Tiempo Real Concurrentes está determinado informalmente como: “Un criterio predefinido que asigna procesos a los recursos en forma ordenada, de tal forma que cada tarea es ejecutada hasta completarse”, sin embargo, para estudios serios de predecibilidad, estabilidad, desempeño, eficiencia, etc., es necesario definirlo como una expresión matemática que permita conocer los conjuntos que determinen su dominio y codominio y la forma en que se mapea entre ellos.



Definiciones de Planificador

Los conceptos de planificador y planificación no solo son aplicables a las ciencias de la computación, tienen un contexto general, van desde las ciencias administrativas hasta los Sistemas en Tiempo Real. Algunas definiciones generalizadas de planificación es la siguiente:


En [Wik108] se describe la planificación en forma general: Es el proceso de decisión de cómo asignar recursos entre una variedad de posibles tareas. De acuerdo a [Rae08], un planificador es una política predefinida para llevar a cabo el proceso de planificación. En [Rae08] se describe que un planificador es una política predefinida para llevar a cabo el proceso de planificación.


Además de la definición general de planificador, se tienen otras aplicadas a la administración:


De acuerdo al autor [Mur94], la planificación: "Consiste en decidir con anticipación lo que hay que hacer, quién tiene que hacerlo, y cómo deberá hacerse", Se rige como puente entre el punto en que nos encontramos y aquel donde queremos ir”.


En el contexto de conputación, el ambiente del Sistema en Tiempo Real, está inmerso en plataformas de alto nivel (RT-Linux, QNX, etc.) y formado por Tareas en Tiempo Real concurrentes que compiten por un recurso. Siguiendo esta línea, a continuación se presentan las definiciones de planificación y planificador según diversos autores:


Un planificador (scheduler) es un algoritmo encargado de asignar los recursos del procesador a diferentes tareas concurrentes y en diferentes momentos. En este sentido, la planificación (scheduling) de un Sistema en Tiempo Real consiste en asignar tareas al procesador. La relación biunívoca entre acciones y procesadores es un plan de ejecución (scheduler) y el módulo que hace esto es el planificador (scheduler); para ello utiliza un algoritmo de planificación. Según [GM03], para poder asignar las tareas correspondientes a un Sistema en Tiempo Real es indispensable un planificador, ya que este es el que se encarga de dar a las tareas la prioridad para poder ser ejecutada. En [Lap04] se describe la función del planificador, el cual determina que tarea será la próxima en ser ejecutada en un sistema multitarea. De acuerdo a [LL73] “un algoritmo de planificación es un conjunto de reglas que determinan que tarea que va a ser ejecutada en un tiempo determinado”.


Según [But97] define al planificador como un asignador de procesadores de P y recursos de R para tareas J, a fin de completar todas las tareas en el marco de las restricciones impuestas.

Un Concepto Formal de Planificador de Tareas en Tiempo Real Concurrentes

El planificador es el algoritmo que atiende a una tarea y le asigna recursos, un ejemplo trivial se muestra en la figura 5, el cual se representa con canicas como tareas y al planificador como un embudo, dando una salida a la tarea de mayor prioridad o menor tamaño.


La mayoría de los autores definen informalmente al PTTR como un algoritmo de asignación de recursos hacia las tareas de acuerdo a una política previamente descrita; sin embargo, no existe una definición formal de la transformación o mapeo del Conjunto de Tiempos de Arribo (CTA) al Conjunto de Tiempos de Inicio (CTI) de las TTR concurrentes. En este sentido, nace la motivación de crear una definición formal de Planificador como una función entre ambos conjuntos. Esto servirá para ampliar el conocimiento del comportamiento de las TTR con fines de dimensionamiento del STR, predictibilidad y análisis de tolerancia a fallos, siendo independiente del tipo de algoritmo se esté usando (FIFO. RM, EDF, etc). [GM03], [GMC07], [CGM09]. En este contexto se proponeuna definición formal:



Definición 1 (Planificador para Tareas en Tiempo Real Concurrentes). Sea un Conjunto de Tareas en Tiempo Real Concurrentes J, un Planificador para Tareas en Tiempo Real Concurrentes (PTTRC) es una función s(k) que mapea del Conjunto de Tiempos de Arribo Lk al Conjunto de Tiempos de Inicio Sk; esto es: s(k): Lk ® Sk, con k Î Z+. [Mor09], [GDM09]



De la Definición anterior, puede verse que el planificador s(k) está en función del índice k; esto quiere decir que no se limita a un solo algoritmo de planificación, el algoritmo puede variar por cada mapeo de Lk a Sk, pudiendo ser EDF para k y RM para k+1. El Planificador se representa en la figura 6 como un mapeo entre un Dominio y un Codominio.


Figura 6. Representación del concepto formal de Planificador de Tareas en Tiempo Real.



En el ejemplo trivial de las canicas y el embudo, se puede decir que el número de canicas es n, las veces que se mete al embudo cada canica es k, el tiempo en que cada canica entra al embudo es lk, el tiempo en que sale cada canica es sk. Por lo tanto el conjunto tiempos en que entran todas las canicas es Lk y el conjunto de tiempos en que salen las canicas es Sk y quien decide el orden de salida (quien mapea Lk de a Sk) es el planificador s(k).

Conclusiones

La principal característica que distingue a los STR de otros sistemas es el tiempo, para ello es importante saber que: La palabra tiempo significa que el correcto funcionamiento de un sistema depende no sólo del resultado lógico de la computadora, también depende del tiempo en que se produce ese resultado. La palabra real quiere decir que la reacción de externos un sistema a eventos debe ocurrir durante su evolución. Como consecuencia, el tiempo del sistema (interno) debe ser medido usando la misma escala con que se mide el tiempo del ambiente controlado (externo).


En este trabajo se presentó el concepto de Planificador de Tareas en Tiempo Real Concurrentes a través de la definición de un dominio (Conjunto de Tiempos de Arribo) y un codominio (Conjunto de Tiempos de Inicio); además se propuso que el planificador es una función que mapea entre ambos conjuntos y que brinda diversas propiedades al sistema. Al ser una función es posible saber su comportamiento mediante algunos estudios como puede ser, el de estabilidad, predecibilidad, control y reconstrucción del STR. Para así tener resultados óptimos de estos.

Dr. Pedro Guevara López. Text Box: Doctor y Maestro en Ciencias de la Computación e Ingeniero Electricista, todos del Instituto Politécnico Nacional, Doctor en Filosofía de la Educación Iberoamericana por el Consejo Iberoamericano en Honor a la Calidad Educativa. Es Profesor Investigador de la Escuela Superior de Ingeniería Mecánica y Eléctrica y Profesor Invitado del Centro de Investigación en Ciencia Aplicada y Tecnología Avanzada pertenecientes al Instituto Politécnico Nacional. Sus áreas de investigación son: Sistemas en Tiempo Real, Modelado de Sistemas Dinámicos e Investigación Educativa.
M. en A. Raúl Junior Sandoval Gómez. Ingeniero Químico Industrial y Maestro en en Administración y Desarrollo de la Educación, ambos del Instituto Politécnico Nacional; Maestro en Administración en la Universidad Autónoma del Estado de Morelos; Doctor en Filosofía de la Educación Iberoamericana por el Consejo Iberoamericano en Honor a la Calidad Educativa. Fue Director de Educación Media Superior, Jefe de Investigación en la Sección de Estudios de Posgrado e Investigación de la Unidad Profesional Interdisciplinaria de Ingeniería Ciencias Sociales y Administración. Sus áreas de investigación son: Procesos Administrativos y Procesos Educativos.

Fuentes.
Cómo citar este artículo ISO690.
Portada Aleph-Zero

Aleph-Zero 57


Revista de Educación y Divulgación de la Ciencia, Tecnología y la Innovación

La Dosificación y el Proceso de Envasado de Polvos .

Divulgadores. Pedro Guevara López + Centro De Investigación En Ciencia Aplicada Y Tecnología Avanzada - Ipn; Raúl Sandoval Gómez + Unidad Profesional Interdisciplinaria Ingeniería, Ciencias Sociales Y Administrativas – Ipn; Ivvone Mejía Caballero + Tecnológico De Estudios Superiores De Coacalco, Estado De México; Alejandro Santiago Miguel + Centro De Estudios Científicos Y Tecnológicos No. 7 “cuauhtemoc“– Ipn.

Productos de Innovación Tecnológica obtenidos de imitar la Naturaleza .

Divulgadores. Jorge A. Ruiz-vanoye + Universidad Popular Autónoma Del Estado De Puebla; Ocotlán Díaz-parra + Universidad Autónoma Del Estado De Morelos; Alejandro Fuentes-penna + Universidad Popular Autónoma Del Estado De Puebla; José C. Zavala-díaz + .

Aleph zero número 57, julio - septiembre 2010 .

Editorial. Miguel Ángel Méndez Rojas + Universidad De Las Américas, Puebla.

Sistemas complejos y autómatas celulares .

Investigación. Pedro Guevara López + Centro De Investigación En Ciencia Aplicada Y Tecnología Avanzada - Ipn; Raúl Junior Sandoval Gómez + Unidad Profesional Interdisciplinaria Ingeniería, Ciencias Sociales Y Administrativas – Ipn; Gumersindo David Fariña López + Centro De Estudios Científicos Y Tecnológicos No. 7 “cuauhtemoc“ – Ipn.

Redes Ecológicas, una herramienta de estudios ecosistémicos .

Investigación. David De Jesús Ramírez Aburto + Centro De Investigaciones Tropicales, Universidad Veracruzana; Luis Gerardo Abarca Arenas + ; Elizabeth Valero-pacheco + Instituto De Investigaciones Biológicas, Universidad Veracruzana; María Cristina Macswiney González + Centro De Investigaciones Tropicales, Universidad Veracruzana.

El polietileno. síntesis y degradación .

Investigación. Aurelio Ramírez Hernández + ; Leticia Guadalupe Navarro Moreno + Universidad Del Papaloapan Campus Tuxtepec.

El concepto de planificador para tareas en tiempo real concurrentes .

Investigación. Oscar A. Morales Moreno + Centro De Investigación En Ciencia Aplicada Y Tecnología Avanzada, Cicata Legaria–ipn; Pedro Guevara López + Escuela Superior De Ingeniería Mecánica Y Eléctrica Unidad Culhuacan; Raúl J. Sandoval Gómez + Unidad Profesional De Ingeniería Y Ciencias Sociales Y Administrativas.

ACC Desaminasa: La enzima microbiana antiestrés de las plantas .

Investigación. Rosalba Esquivel-cote + Laboratorio De Microbiología Experimental, Departamento De Biología, Facultad De Química, Universidad Nacional Autónoma De México.

Corrosión de dispositivos electrónicos en ambientes áridos y marinos .

Investigación. Gustavo López Badilla + 1centro De Investigación Científica Y De Educación Superior De Ensenada- Cicese; H. Tiznado+; G. Soto+; W. De la Cruz+; B. Valdez+ Centro de Nanociencias y Nanotecnología-UNAM; M. Schorr+; R. Zlatev + Academia de Ingeniería, UNIVER, Plantel Oriente;.

Enfermedad de Parkinson: un corto en el circuito .

Investigación. José Luis Calderón Álvarez Tostado + ; Gerardo Rivera Silva + Laboratorio De Neurociencias, Escuela De Medicina Universidad Panamericana.

Un sistema electrónico para la creación de un arco eléctrico casero .

Tecnólogos. Gustavo Delgado Reyes + Escuela Superior De Ingeniería Mecánica Y Eléctrica Unidad Culhuacan– Ipn ; Pedro Guevara López + ; Rubén Gutierrez Fuentes + Centro De Investigación Ciencia Aplicada Y Tecnología Avanzada Unidad Legaria – Ipn.