Introdução aos sistemas operacionais embarcados

23
ELT048 Sistemas operacionais embarcados Rodrigo Maximiano Antunes de Almeida Universidade Federal de Itajubá

description

Introdução aos sistemas operacionais embarcados

Transcript of Introdução aos sistemas operacionais embarcados

Page 1: Introdução aos sistemas operacionais embarcados

ELT048

Sistemas operacionais embarcados

Rodrigo Maximiano Antunes de AlmeidaUniversidade Federal de Itajubá

Page 2: Introdução aos sistemas operacionais embarcados

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

Page 3: Introdução aos sistemas operacionais embarcados

Considerações iniciais

SO Embarcado?Sério?

Page 4: Introdução aos sistemas operacionais embarcados

Lei de Moore

Page 5: Introdução aos sistemas operacionais embarcados

LPC800

Page 6: Introdução aos sistemas operacionais embarcados

LPC800

Page 7: Introdução aos sistemas operacionais embarcados

LPC800

Page 8: Introdução aos sistemas operacionais embarcados

KL02

Page 9: Introdução aos sistemas operacionais embarcados

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.

Page 10: Introdução aos sistemas operacionais embarcados

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

Page 11: Introdução aos sistemas operacionais embarcados

Tipos de SO

● Grande Porte● Servidores● Multiprocessados● Computadores pessoais● Portáteis● Embarcados● Tempo Real

Page 12: Introdução aos sistemas operacionais embarcados

Componentes do SO

● Kernel● Drivers● Gerenciamento de arquivo● Rede● Segurança● Interface Gráfica

Page 13: Introdução aos sistemas operacionais embarcados

Projeto de um kernel

Page 14: Introdução aos sistemas operacionais embarcados

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

Page 15: Introdução aos sistemas operacionais embarcados

Projeto de um kernel

Desenvolver meu próprio kernel?

Porque?

Page 16: Introdução aos sistemas operacionais embarcados

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

Page 17: Introdução aos sistemas operacionais embarcados

Projeto de um kernel

Desenvolver meu próprio kernel?

Porque não?

Page 18: Introdução aos sistemas operacionais embarcados

Projeto de um kernel

● Overhead do kernel (memória e velocidade)● Alternativas gratuítas e pagas● Projeto que demanda muito tempo● Desenvolvimento contínuo

Page 19: Introdução aos sistemas operacionais embarcados

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

Page 20: Introdução aos sistemas operacionais embarcados

Projeto de um kernel

Page 21: Introdução aos sistemas operacionais embarcados

Projeto de um kernel

● Alternativas● Windows Embedded Compact®● VxWorks®● X RTOS®● uClinux● FreeRTOS● BRTOS

Page 22: Introdução aos sistemas operacionais embarcados

Projeto de um kernel

● Kernel monolítico X microkernel

● Linus Torvalds e Andrew Tanenbaum

Page 23: Introdução aos sistemas operacionais embarcados

Projeto de Kernel

● Decisões no projeto de um Kernel● Gerenciamento dos dispositivos de I/O● Gerenciamento dos processos● Segurança do sistema