Scheduler para sistemas operativos en tiempo real
Visualizar/ Abrir
Data
2017-12Autor
Hino-Aguilar, Mitsuki
Preciado-Bautista, Luis E.
Metadata
Mostrar registro completoDescrição
En un sistema operativo, la parte más importante que realiza la toma de decisiones de qué tarea es la siguiente en ejecutarse, es el scheduler. El scheduler debe ser exacto a la hora de otorgar tiempo de ejecución a las tareas para no afectar a las demás en su tiempo de ejecución, y así poder tener un scheduler estable y evitar la latencia en el sistema operativo. El presente trabajo propone la implementación de un scheduler en un microcontrolador ATSAMV71Q21 y una tarjeta de desarrollo SAM V71, ambos de ATMEL, mediante la propiedad de los números binarios, ya que la secuencia de los números binarios es repetitiva, se toma ventaja de ello para poder realizar seis tareas, tres independientes y tres dependientes. Cada una de estas tareas se ejecuta en su debido tiempo mediante un contador que se incrementa cada 500 microsegundos. Este contador es controlado por un temporizador del sistema, configurado para que genere interrupciones y cada interrupción pueda incrementar el contador, el cual dirá qué tarea es la que sigue en ejecutarse. Al ser el temporizador del sistema independiente de los demás periféricos del microcontrolador, se tiene una interrupción exacta, y así se genera una activación de la tarea en el tiempo calculado, lo que da como resultado un scheduler bastante estable y confiable.In an operating system, the most important component in charge of deciding which task runs next, is the scheduler. The scheduler must be precise at the time of granting the execution time for the tasks in order to not to affect other tasks in their execution time, and thus, have a stable scheduler and avoid latency in the operating system. The present work explains the implementation of a scheduler in an ATSAMV71Q21 microcontroller and a SAMV71 development card, both from ATMEL, by means of the property of the binary numbers, since the sequence of binary numbers is repetitive, the objective is to perform 6 tasks, 3 independent and 3 dependent. Each of these tasks is executed in due time by a counter that increases every 500 microseconds. This counter is controlled by a system timer, configured to generate interruptions and each interruption can increase the counter, which will tell us which task is still running. Since the timer of the system is independent of the other peripherals of the microcontroller, there is an exact interruption and thus, an activation of the task in the calculated time is generated, obtaining a stable and reliable scheduler.
Consejo Nacional de Ciencia y Tecnología