ELT048



Sistemas operacionais embarcados
    Rodrigo Maximiano Antunes de Almeida
       Universidade 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)
100,000-unit quantities.
Cronograma
01) Introdução        08) Interface de Driver
02) Ponteiros         09) Controladora de
                      Drivers
03) Ponteiros de
Função                10) Callback
04) Definição de      11) Arquitetura de
processo              processador
05) Kernel cooperativo 12) Kernel preemptivo
/ Escalonadores        13) Garantia de tempo
06) Requisitos         real
temporais              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

Introdução aos sistemas operacionais embarcados

  • 1.
    ELT048 Sistemas operacionais embarcados Rodrigo Maximiano Antunes de Almeida Universidade Federal de Itajubá
  • 2.
    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
  • 3.
    Considerações iniciais SO Embarcado? Sério?
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
    KL02 The Kinetis KL02CSP 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) 100,000-unit quantities.
  • 10.
    Cronograma 01) Introdução 08) Interface de Driver 02) Ponteiros 09) Controladora de Drivers 03) Ponteiros de Função 10) Callback 04) Definição de 11) Arquitetura de processo processador 05) Kernel cooperativo 12) Kernel preemptivo / Escalonadores 13) Garantia de tempo 06) Requisitos real temporais 14) Mutex/Semáforos
  • 11.
    Tipos de SO ● Grande Porte ● Servidores ● Multiprocessados ● Computadores pessoais ● Portáteis ● Embarcados ● Tempo Real
  • 12.
    Componentes do SO ● Kernel ● Drivers ● Gerenciamento de arquivo ● Rede ● Segurança ● Interface Gráfica
  • 13.
  • 14.
    Projeto de umkernel ● 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
  • 15.
    Projeto de umkernel Desenvolver meu próprio kernel? Porque?
  • 16.
    Projeto de umkernel ● 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
  • 17.
    Projeto de umkernel Desenvolver meu próprio kernel? Porque não?
  • 18.
    Projeto de umkernel ● Overhead do kernel (memória e velocidade) ● Alternativas gratuítas e pagas ● Projeto que demanda muito tempo ● Desenvolvimento contínuo
  • 19.
    Projeto de umkernel ● FreeBSD – 6.25 ● IOS – 80 ● Linux – 15 ● OS X – 86 ● ReactOS – 2 ● OpenSolaris – 10 ● Windows NT – 45 ● Windows XP – 40 ● Windows Vista – 64
  • 20.
  • 21.
    Projeto de umkernel ● Alternativas ● Windows Embedded Compact® ● VxWorks® ● X RTOS® ● uClinux ● FreeRTOS ● BRTOS
  • 22.
    Projeto de umkernel ● Kernel monolítico X microkernel ● Linus Torvalds e Andrew Tanenbaum
  • 23.
    Projeto de Kernel ● Decisões no projeto de um Kernel ● Gerenciamento dos dispositivos de I/O ● Gerenciamento dos processos ● Segurança do sistema