1 uclinux mônica l. m. corrêa rafael matone chanin pontifícia universidade católica do rio...
TRANSCRIPT
1
uCLinux
Mônica L. M. CorrêaRafael Matone Chanin
Pontifícia Universidade Católica do Rio Grande do SulFaculdade de Informática
Programa de Pós-Graduação em Ciência da Computação
2
Agenda
• Introdução• Unidade de Gerenciamento de Memória (MMU)• Alocação de memória do uCLinux• Diferenças entre Linux e uCLinux• Desenvolvendo aplicações• Utilização do uCLinux • uCLinux no kernel 2.6• Plataformas suportadas• Conclusão• Referências Bibliográficas
3
Introdução
• Popularização do Linux;• Desenvolvimento de sistemas embarcados;• Microprocessadores sem MMU;• uCLinux - suprir esta demanda.
uCLinux• Microprocessador sem MMU é mais barato;• Kernel < 512 KB;• Kernel + utilitários < 900 KB;• Distribuição gratuita;• Todas as vantagens do Linux.
4
MMU
Unidade de Gerenciamento de Memória (MMU)
• Responsável pelo mapeamento de endereços de memória virtuais em endereços físicos.
• Permite aplicações maiores do que a memória do sistema.
• Permite executar concorrentemente mais processos do que a memória física suporta (swap).
• Oferece proteção de memória.
• Custo do hardware.
5
MMU
CPU
MMU
Memória
Barramento
MMU envia endereço físico para memória
CPU envia o endereço virtual para MMU
6
Alocação de memória do uCLinux
• Processos devem utilizar endereçamento relativo;
• Uma aplicação que necessita mais memória do que há disponível, é suspensa (não deve ocorrer!!!);
• Idealmente não utiliza alocação de memória dinâmica.
• Espaço de endereçamento de processos é contíguo.
• Problema de fragmentação da memória.
7
Diferenças entre Linux e uCLinux
• Linux não suporta processadores sem MMU;
• Tamanho do Kernel;
• uCLinux não implementa as chamadas de sistemas fork() e brk().
• uCLinux não oferece proteção de memória;
• uCLinux não oferece memória virtual.
8
Desenvolvendo aplicações
• uCLibc oferece a maioria das funcionalidades utilizadas por programas C para Linux;
• uCLibc pode incorporar novas funcionalidades;
• Programador deve ter cuidado ao desenvolver aplicações, pois não há proteção de memória.
9
Utilização do uCLinux
• Roteadores;• Web cam;• DVD;• Palms.
uClinux no Real Palm IIIx
10
uCLinux no kernel 2.6
• Versões anteriores do Linux necessitavam de um patch para gerar a imagem do uCLinux;
• Kernel 2.6 incorpora as funcionalidades oferecidas pelo uCLinux (para a maioria das plataformas).
11
Plataformas suportadas
• ARM;
• MIPS;
• SPARC;
• SH;
• ETRAX.
12
Conclusão
• Solução barata para sistemas simples:
- sistema monousuário;
- aplicações pré-definidas e de tamanho conhecido;
- não há necessidade de MMU.
Características de muitos sistemas embarcados!
13
Referências Bibliográficas
www.uclinux.org
www.arcturusnetworks.com/uclinux.shtml
www.linuxdevices.com/links/LK8053710489.html