140 likes | 261 Views
Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação. uCLinux. Mônica L. M. Corrêa Rafael Matone Chanin. Agenda. Introdução Unidade de Gerenciamento de Memória (MMU) Alocação de memória do uCLinux
E N D
Pontifícia Universidade Católica do Rio Grande do Sul Faculdade de Informática Programa de Pós-Graduação em Ciência da Computação uCLinux Mônica L. M. Corrêa Rafael Matone Chanin
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
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.
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.
MMU CPU envia o endereço virtual para MMU CPU Memória MMU Barramento MMU envia endereço físico para memória
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.
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.
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.
Utilização do uCLinux • Roteadores; • Web cam; • DVD; • Palms. uClinux no Real Palm IIIx
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).
Plataformas suportadas • ARM; • MIPS; • SPARC; • SH; • ETRAX.
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!
Referências Bibliográficas www.uclinux.org www.arcturusnetworks.com/uclinux.shtml www.linuxdevices.com/links/LK8053710489.html