Vivemos numa era onde a aposta na tecnologia multicore é cada vez maior. Motivado pelo facto das arquiteturas singlecore terem atingido o limite da viabilidade do aumento do desempenho à custa do aumento da frequência de relógio, tornouse portanto inevitável a migração para as arquiteturas multicore. Naturalmente, esta também atingiu os dispositivos embebidos, que cada vez mais procuram incluir novas e mais complexas funcionalidades e simultaneamente reduzir o consumo energético. Contudo, o desenvolvimento de software (bare-metal) para este tipo de arquiteturas não é uma tarefa simples, muito porque a mudança de paradigma sequencial para paralelo não é trivial. Garantir requisitos como o time-to-market torna-se essencial num mercado cada vez mais competitivo, e por isso, recorre-se à utilização de sistemas operativos para simplificar e acelerar o desenvolvimento das aplicações. Os sistemas operativos que suportam multicore seguem sobretudo duas filosofias: AMP (Asymmetric Multiprocessing) e SMP (Symmetric Multiprocessing). A primeira abordagem caracteriza-se por apresentar um enorme overhead de memória, já que consiste na replicação da imagem do kernel pelos diferentes cores. Por sua vez, a segunda abordagem, como requer a inclusão de sincronismo no acesso aos recursos partilhados, pode comprometer o cariz de tempo-real do sistema. Neste sentido, a presente dissertação consiste no desenvolvimento de um sistema operativo de tempo-real (RTOS) baseado em microkernel e com suporte SMP. O conjunto de funcionalidades obrigatórias de um RTOS será implementado a partir da análise de três soluções existentes de referência (FreeRTOS, μC-OS/II, μTKernel). O suporte SMP será cuidadosamente desenhado para minimizar a necessidade de sincronismo, bem como garantir a escalabilidade da solução.