Os sistemas embebidos são sistemas computacionais desenvolvidos para realizarem um conjunto pré-determinado de tarefas. A utilização de sistema operativos neste tipo de sistemas, tornou-se standard, uma vez que estes promovem uma gestão eficiente dos recursos, oferecendo um conjunto de serviços para além de suporte e abstração de hardware, promovendo a portabilidade e a reutilização. Existem sistemas que enfrentam restrições temporais, sobre as quais o incumprimento de um deadline pode comprometer a integridade e a funcionalidade do sistema. Estes são sistemas vulgarmente conhecidos como sistemas de tempo real ou com requisitos de tempo real. Para este tipo de sistemas existem os sistemas operativos específicos que visam o cumprimento destes requisitos, favorecendo a previsibilidade e o determinismo. A redução do overhead computacional, paralelização e o off-loading de computação para dispositivos como o FPGA, são apontadas como medidas complementares.
Com esta dissertação pretende-se implementar um modelo de tarefas de hardware compatível com os vários serviços do sistema operativo (gestor de tarefas, escalonador, controlador de interrupções, temporizadores), implementados em software ou em hardware dedicado, tirando partido do paralelismo natural que o hardware oferece e da sua natureza determinística. Este modelo de tarefas segue o modelo que o sistema operativo alvo apresenta, tornando esta implementação o mais transparente possível, e favorecendo a migração de tarefas de software para o FPGA, para além de abstrair a complexidade de implementação aos vários serviços do sistema e permitir a integração de tarefas de hardware no sistema.