introdução aos sistemas operacionais embarcados

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

Upload: rodrigo-almeida

Post on 28-Jun-2015

1.054 views

Category:

Technology


2 download

DESCRIPTION

Introdução aos sistemas operacionais embarcados

TRANSCRIPT

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