Proyecto Cheddar

EN CONSTRUCCION

Cheddar es una herramienta, de licencia libre, para analizar el comportamiento de los planificadores de tareas de tiempo-real. Cheddar es desarrollado y mantenido por el LISyC Team, University of Brest (Francia).

Plataformas: Linux - Windows .

Los planificadores disponibles son:
  • Earliest Deadline First (EDF): Las tareas pueden ser periódicas o no, y se programan de acuerdo a su fecha límite (deadline). (Se omiten las prioridades)
  • Least Laxity First (LLF): Las tareas pueden ser periódicas o no, y se programan de acuerdo a su holgura (Deadline - Tiempo de Cómputo restante). (Se omiten las prioridades)
  • Rate Monotonic (RM). Las tareas tienen que ser periódicas, y el plazo (deadline) debe ser igual período. Las tareas se programan de acuerdo a su período. (Se omiten las prioridades)
  • Deadline Monotonic (DM). Las tareas tienen que ser periódicas y se programan de acuerdo a su fecha límite (deadline). (Se omiten las prioridades)
  • POSIX 1003.1b. Las tareas pueden ser periódicas o no. Las tareas se programan de acuerdo a la prioridad y la política de las tareas. (Es RM o DM, pero con prioridades). Soporta la planificación de colas con SCHED_RR, SCHED_FIFO y SCHED_OTHERS (es una política de tiempo compartido). Las prioridades van de 1 a 255, y la prioridad 0 está reserva a SCHED_OTHERS. La prioridad mas alta es la 255.
  • Tiempo compartido basado en el tiempo de espera y "Tiempo de reparto basado en el uso de CPU". Estos dos planificadores ofrecen una forma de compartir el procesador como en un sistema operativo de tiempo compartido. Con el primer planificador, las tareas usan el procesador y aumentan su prioridad. Con el segundo planificador, una tarea utiliza el procesador y disminuye su prioridad.
  • Round Robin (con quantum). El procesador es compartido regularmente entre todas las tareas, durante un quantum de tiempo.
  • "Maximun urgency first based on laxity" y "Maximum urgency first based on deadline". Estos planificadores se basan en una planificación híbrida de prioridades: la prioridad de una tarea por momentos está fija y por momentos es dinámica.
  • "D-Over/Stable EDF". Similar a un EDF, que funciona muy bien cuando el procesador está sobrecargado. En este caso, D-Over siempre es capaz de predecir qué tareas perderán su plazo (contrario a EDF).
  • "Planificadores definidos por el usuario": Cheddar permite a los usuarios definir sus propios planificadores.

Código de simulación definido por usuario: como ejecutar simulaciones de sistemas específicos.

Habitualmente las pruebas de viabilidad habituales son limitadas a unos pocos modelos de tarea (principalmente periódicas) y a unos pocos planificadores. Cuando una aplicación es con un modelo de tiempos de activación de tarea particular o un planificador particular que tiene que ser comprobado, las pruebas de viabilidad  no necesariamente están disponibles. En este caso, la única solución consiste en el análisis de la simulación de planificación. El queso Cheddar permite al usuario para diseñar y fácilmente para construir extensiones de marco para hacer la simulación de planificadores definidos por usuario o el modelo de activación de tarea. Por fácil, significamos rápidamente escriben y prueban extensiones de marco sin una comprensión profunda del diseño de marco y de la lengua de Ada. Proponemos el empleo de una lengua simple para describir extensiones de marco.
Comments