Author(s):
Hugo Manaia
; Arnaldo Oliveira
; Nuno Lau
; Orlando Moreira
Date: 2011
Origin: Electrónica e Telecomunicações
Subject(s): Real-time systems; Task scheduling; Rate Monotonic; Earliest Deadline First; Least Slack First; SystemC; Real-time systems; Task scheduling; Rate Monotonic; Earliest Deadline First; Least Slack First; SystemC
Description
This paper discusses the implementation, features and utilization of a real-time scheduler simulator modeled with SystemC. Currently, this scheduler handles only periodic hard real-time tasks. Three scheduling policies were implemented:RM (Rate Monotonic), EDF (Earliest Deadline First) and LSF (Least Slack First). A set of task-related commands is available, which allows the user to create, destroy, stop, start, sleep, suspend, resume and change the task parameters. These commands can be specified in a configuration file that is read during initialization. In the configuration me, besides the specific parameters of each command, a time stamp is assigned to each command. In each simulation a VCD (Value Change Dump) file is generated, which allows the visualization of the evolution of some of the most important system signals. Este artigo descreve a implementação, as funcionalidadese a utilização de um simulador de um escalonador de tempo real desenvolvido em SystemC. Actualmente este escalonador aceita apenas tarefas críticas periódicas de tempo real. Três políticas de escalonamento foram implementadas:RM (Rate Monotonic), EDF (Earliest Deadline First) e LSF (Least Slack First). É disponibilizado um conjunto de comandos que permite manipular as tarefas, dando a possibilidade ao utilizador ou ao escalonador de criar, destruir, parar, arrancar, adormecer, suspender, retomar e alterar parâmetros das tarefas. Estes comandos podem ser especificados num ficheiro de configuração que é lido durante a fase de inicialização. Neste ficheiro de configuração especifica se, para além dos parâmetros específicos de cada comando, o tempo no qual se pretende que este ocorra. Em cada simulação é gerado um ficheiro VCD (Value Chunge Dump) através do qual se pode acompanhar a evolução de alguns dos sinais mais importantes que caracterizam o estado do sistema.