Apresentar as plataformas de hardware compactos utilizadas em sistemas embarcados de alto nível. Apresentar e desenvolver os principais conceitos de kernel em sistemas embarcados de alto desempenho, desenvolver a habilidade em se trabalhar com os recursos disponíveis, promover a auto-suficiência no que tange à instalação e preparação de sistemas embarcados com Sistemas Operacionais com kernel Linux e desenvolvimento de pequenas aplicações.
Kernel: tipos e funcionalidades; Kernel Linux; Sistemas de arquivos; tipos e manipulação cruzada; Instalação e configuração de SO baseados em no kernel Linux; Inicialização de sistemas operacionais; Shell.
Kernel e Sistema Operacional, visão geral: tipos de kernel, monolítico e microkernel; preempção interna; IPC, TM e MM. Kernel Linux, device drivers, estrutura geral, ligação por módulos e ligação estática. Sistemas operacionais baseados em sistemas de arquivos. Diferenças e conceitos gerais de sistemas d e arquivos: ext3, ext4, ntfs, vfat. Arquivos de imagens e ferramentas para manipulação desses arquivos no HD local: dd, gparted, disks, cfisk, fsdsik, etc... Criação de sistemas de arquivos para instalação de SO POSIX baseados no kernel Linux e biblioteca GNU C. Boot loaders Processo e inicialização de sistemas operacionais POSIX: Systemctl vs System-V. Sistemas Linux embarcados em SBCs compactas, Raspberry-Pl e Labrador. Shell compacto para sistemas embarcados.
Frank Vasquez; Chris Simmonds; "Mastering Embedded Linux Programming: Create fast and reliable embedded solutions with Linux 5.4 and the Yocto Project 3.1.", Packt Publishing; 3rd ed. 2021. John Madieu. "Linux Device Drivers Development: Develop cutsomized drivers for embedded Linux". Packt Publishing; 1a Edição (20 outubro 2017). Complementar: Andrew S. Tanembaum, "Sistemas operacionais modernos", Prentice-Hall do Brasil, 2010. Neil Matthew, Richard Stones, "Beginning Linux Programming", Wiley, 2008.