Sistemas operacionais para celulares
Sumário
Sistemas operacionais para dispositivos móveis iOS Symbian Meego / Maemo Windows Mobile Bada webOS Android Estudo de caso - Android Características do Sistema operacional Diferenças entre o kernel do Android e do Linux x86 Mudança no kernel
iOS
Kernel baseado no Mac OSX Permite o uso "kernel extention" para acesso a hardware Kernel é carregado na RAM de forma criptografada Somente aplicações "assinadas" podem acessar o kernel O SO permite ter vários usuários cadastrados, mas somente dois são utilizados:root e um user convencional SO dividido em 3 domínios: machine, system, user
Symbian
Suporte a aplicações escritas em C++ (até a versão 3, posteriormente será utilizando uma versão do Qt) Multi-tarefa Suporte a aplicações Real-time Usa um "nanokernel" para garantir performance Arquitetura ARM Faz uso de APIs para acesso a hardware
Meego / Maemo
Utiliza uma versão modificada do kernel do linux Interface gráfica baseada no Xorg Uso de OHM para gerenciamento de hardware É um linux "peso-pena"
Windows Mobile
Baseado no kernel do Windows CE 6 Usa o mesmo padrão de APIs da versão desktop Acesso a hardware via APIs Suporte ao .NET, Silverlight e XNA Requer um bom hardware para funcionamento Suporte a multi-tarefa
Bada
Permite o uso de um kernel com padrão RTOS Permite o uso do kernel do linux Uso de camadas: Device, Service, and Framework Desenvolvimento de aplicações em C++ Multi-tarefa Traz suporte nativo a: sensor de movimento, vibração, face detection, GPS e outros tipos de sensores
webOS
Usa o kernel do linux Multi-tarefa Aplicações podem ser escritas em C++ e em tecnologias web (AJAX, Javascript, etc) Conceitos de interface, usabilidade herdados do Palm OS
Android
Baseado no GNU/Linux Dalvik virtual machine Não usa o X11, mas um framebuffer simples Apache licence 3 million lines of XML, 2.8 million lines of C, and 2.1 million lines of Java. LK: Little Kernel Boot