El sistema operativo puede programar la tarea en tiempo real utilizando varios algoritmos de programación. Estos algoritmos de programación se clasifican sobre la base de la determinación de los puntos de programación.
1. Programación controlada por reloj:
la programación en la que los puntos de programación están determinados por las interrupciones recibidas de un reloj, se conoce como Programación controlada por reloj. La programación controlada por reloj maneja qué tarea se procesará a continuación depende del punto de interrupción del reloj.
2. Programación dirigida por eventos:
la programación en la que los puntos de programación están determinados por las ocurrencias de eventos, excluyendo las interrupciones del reloj, se conoce como Programación dirigida por eventos. La programación basada en eventos maneja qué tarea se procesará a continuación, independientemente del punto de interrupción del reloj.
Diferencia entre la programación basada en reloj y la basada en eventos:
PROGRAMACIÓN CONTROLADA POR RELOJ | PROGRAMACIÓN BASADA EN EVENTOS |
---|---|
Las tareas se programan sobre la base de las interrupciones recibidas por reloj. | Las tareas se programan sobre la base de las ocurrencias de eventos, excluyendo las interrupciones del reloj. |
Los puntos de programación están determinados por interrupciones de reloj. | Los puntos de programación están determinados por la finalización de la tarea y los eventos de llegada de la tarea. |
Los algoritmos de programación controlados por reloj son simples. | Los algoritmos de programación basados en eventos son muy complejos. |
La programación basada en reloj no es tan flexible como la basada en eventos. | La programación basada en eventos es más flexible que la basada en reloj. |
Solo puede manejar tareas periódicas. | Puede programar tareas periódicas, esporádicas y aperiódicas. |
Se llama programación fuera de línea. | Se llama programación en línea. |
Es ampliamente utilizado en sistemas embebidos. | Es menos adecuado para sistemas integrados. |
Es más eficiente que impulsado por eventos. | Es sofisticado pero más competente. |
Se utiliza en pequeñas aplicaciones. | Se utiliza en aplicaciones más grandes. |