Introdução aos sistemas operacionais embarcados
-
Upload
rodrigo-almeida -
Category
Technology
-
view
1.054 -
download
2
description
Transcript of Introdução aos sistemas operacionais embarcados
ELT048
Sistemas operacionais embarcados
Rodrigo Maximiano Antunes de AlmeidaUniversidade Federal de Itajubá
ELT048
● Aulas: Segundas 7:00 às 9:30● LEC II
● 1a Prova + Projeto 1: 15/04● 2a Prova + Projeto 2: 10/06● Sub: 17/06
Considerações iniciais
SO Embarcado?Sério?
Lei de Moore
LPC800
LPC800
LPC800
KL02
KL02
The Kinetis KL02 CSP MCU is expected to begin sampling to lead customers in March 2013. Broad market availability of production-qualified samples is planned for July 2013 from Freescale and its distribution partners. Suggested resale pricing is 75 cents (USD) in 100,000-unit quantities.
Cronograma01) Introdução
02) Ponteiros
03) Ponteiros de Função
04) Definição de processo
05) Kernel cooperativo / Escalonadores
06) Requisitos temporais
08) Interface de Driver
09) Controladora de Drivers
10) Callback
11) Arquitetura de processador
12) Kernel preemptivo
13) Garantia de tempo real
14) Mutex/Semáforos
Tipos de SO
● Grande Porte● Servidores● Multiprocessados● Computadores pessoais● Portáteis● Embarcados● Tempo Real
Componentes do SO
● Kernel● Drivers● Gerenciamento de arquivo● Rede● Segurança● Interface Gráfica
Projeto de um kernel
Projeto de um kernel
● Funções de um kernel:● Gerenciar e coordenar a execução dos
processos através de algum critério● Manusear a memória disponível e coordenar o
acesso dos processos a ela● Intermediar a comunicação entre os drivers de
hardware e os processos
Projeto de um kernel
Desenvolver meu próprio kernel?
Porque?
Projeto de um kernel
● Melhoria do código proprietário● Facilidade para reutilização de código● Controle total sobre o fonte● Modificações específicas para o kernel
● Escalonadores adaptados● Maior controle sobre dispositivos de hardware
Projeto de um kernel
Desenvolver meu próprio kernel?
Porque não?
Projeto de um kernel
● Overhead do kernel (memória e velocidade)● Alternativas gratuítas e pagas● Projeto que demanda muito tempo● Desenvolvimento contínuo
Projeto de um kernel● FreeBSD – 6.25● IOS – 80● Linux – 15● OS X – 86● ReactOS – 2● OpenSolaris – 10● Windows NT – 45● Windows XP – 40● Windows Vista – 64
Projeto de um kernel
Projeto de um kernel
● Alternativas● Windows Embedded Compact®● VxWorks®● X RTOS®● uClinux● FreeRTOS● BRTOS
Projeto de um kernel
● Kernel monolítico X microkernel
● Linus Torvalds e Andrew Tanenbaum
Projeto de Kernel
● Decisões no projeto de um Kernel● Gerenciamento dos dispositivos de I/O● Gerenciamento dos processos● Segurança do sistema