1. Sistemas Operacionais TV e WEB RAFAEL TAVARES ANDRADE
TOLEDO
2. Agenda Viso Geral Gerenciamento de Processos Gerenciamento
de Memria Entrada e Sada Sistemas de Arquivos Vantagens e
Desvantagens
3. Viso Geral Firefox OS O Firefox OS um Sistema Operacional
desenvolvido pela Mozilla, baseado no motor de funcionamento do
navegador Firefox o Gecko. Tambm conhecido como B2G (Boot to
Gecko). Seu alicerce constitudo com HTML5 e Web APIs. A base do
Sistema o Android Open Source que usa o Kernel do Linux mais o
Gecko. Basicamente um browser como sistema operacional.
4. Arquitetura
5. GAIA O Gaia a interface grfica do Firefox OS. Tudo que voc
precisa saber para criar aplicativos so tecnologias web como
JavaScript, HTML e CSS. As APIs de acesso so definidas pela W3C DAP
(DeviceAPis).
6. GECKO Gecko o nome do motor de layout desenvolvido pelo
Projeto Mozilla. A funo do Gecko ler o contedo da web, como HTML,
CSS, XUL, JavaScript e renderiza-lo na tela do usurio.
7. GONK Gonk o nvel mais baixo da plataforma do sistema
operacional Firefox OS, composto por um kernel Linux baseado no
(AOSP). uma camada de portabilidade do dispositivo: um adaptador
entre o hardware e o Gecko.
8. Gerenciamento de Processos Firefox OS usa threads POSIX para
implementar as threads de aplicaes, isso inclui a thread principal
de cada aplicao bem como as Web workers e helper threads. Valores
"Nice" so usados para priorizar os processos e a execuo das threads
confiando no agendador padro do kernel do Linux. Dependendo do
status do processo ns atribuimos um diferente valor "Nice" do nvel.
Temos atualmente 7 nveis:
9. Gerenciamento de Processos Alguns nveis possuem os mesmos
"nice values", isso acontece porque esses nveis diferem da forma
que so tratados pelo "out- of-memory killer". Todas as prioridades
podem ser ajustadas em tempo de compilao via "Preferncias". Os
valores relevantes podem ser encontrados no arquivo
b2g/app/b2g.js
10. Gerenciamento de Processos Dentro de um processo a thread
principal herda o "nice value" do processo, enquanto s threads do
web worker atribuido um "nice value" um ponto maior que a thread
principal que roda na menor prioridade. Isso feito para evitar que
processos que utilizem muita CPU degradem a performance da thread
principal. Prioridades de processos so alterados sempre que
acontece um grande evento como quando uma aplicao enviada para
rodar em background ou foreground, uma nova aplicao iniciada, ou
uma aplicao existente executa uma wake-lock da CPU. Toda vez que a
prioridade de um processo ajustada todas as prioridades de suas
threads tambm so ajustadas em conformidade.
11. Gerenciamento de Memria Dois subsistemas so usados para
gerenciar: Low memory killer (LMK - Finalizador de memria baixa)
Low memory notifications ( LMN - Notificaes de pouca memria)
12. Low memory Killer - LMK O LMK um subsistema do kernel do
Android que encerra automaticamente os processos para dar lugar a
pedidos de memria. Para escolher qual o processo deve ser encerrado
primeiro para liberar memria, a cada processo atribuido uma
prioridade atravs dos arquivos /proc//oom_adj ou
/proc//oom_score_adj. Um processos tem uma prioridade conhecida
como prontuao de ajuste, ou oom_adj. Valores menores de oom_adj
corresponde a processos de maior prioridade.
13. Low memory Killer - LMK O LMK oferece mltiplos nveis, cada
um correspondendo a uma certa quantidade de memria livre e uma
mnima de pontuao de ajuste. Sempre que a quantidade de memria livre
no sistema cair abaixo de um certo nvel, todos os processos com uma
pontuao de ajuste maior do que o mnimo especificado para este nvel
so elegveis para ser encerrado. O LMK ir comear a encerrar esses
processos, os maiores em primeiro lugar, e continuar at que tenha
liberado memria suficiente de acordo com o limite definido.
14. Prioridade de Processos - LMK No Firefox OS os aplicativos
so encerrados seguindo a poltica de ordem de prioridade, que
imposta dando a cada aplicao um nvel de prioridade e associando uma
pontuao de ajuste (OOM) a esses nveis. (os valores correntes so
definidos em prefs): 1. Os primeiros aplicativos a serem encerrados
sero os aplicativos em segundo plano, iniciando pelos menos
utilizados recentemente. 2. O aplicativo homescreen o prximo a ser
encerrado.
15. Prioridade de Processos 3. Em seguida, so encerrados os
aplicativos em segundo plano que so perceptveis pelo usurio (por
exemplo, um leitor de msica reproduzindo udio em segundo plano. 4.
Se o teclado estiver em uso, ser o prximo a ser encerrado. 5.
Aplicaes em primeiro plano sero as prximas a serem encerradas. 6.
Finalmente, aplicaes em primeiro plano que solicitaram um wakelock
high-priority ou cpu sero as ltimas a serem encerradas.
16. Prioridade de Processos Existe algumas excees para essas
regras: O processo principal nunca terminado pelo LMK, pois se isso
for feito todos os demais processos sero terminados e o sistema
operacional seria reiniciado. O processo principal executado com
oom_adj 0. Ns mantemos um processo que utilizado para acelerar o
incio de novos aplicativos chamado preallocated process.
Normalmente esse processo mantido ativo pois consome pouca memria e
permite uma maior velocidade ao iniciar um aplicativo. A nica
situao na qual esse processo pode ser terminado se no existir
memria suficiente para o processo principal manter-se ativo aps os
outros processos terem sido terminados.
17. Low memory notifications - LMN O LMK fornece um limite
especial que quando ultrapassa pode enviar notificaes para o
userspace informando que o sistema est sendo executado com pouca
memria. Quando for encontrada uma condio de pouca memria o primeiro
evento memory-pressure enviado possuir o parmetro low-memory. Se
aps um perodo pr-definido (5s) persistir a condio de pouca memria,
um outro evento memory-pressure ser disparado, mas dessa vez com o
parmetro low-memory-ongoing.
18. Como LMK e LMN trabalham juntos Atualmente o limite de
pouca memria definido abaixo do nvel do LMK. Assim, as aes
agregadas para o LMK e LMN quando um dispositivo possui pouca
memria: 1. Terminar aplicativos em segundo plano em ordem dos menos
usados recentemente. 2. Se no for liberada memria suficiente envia
o evento memory-pressure para os aplicativos remanescentes.
19. Como LMK e as notificaes de pouca memria trabalham juntos
3. Se a condio persistir renviado um evento memory-pressure a cada
5 segundos, mas marcando-os como em execuo para que os processos de
GC/CC (Garbage Collector e Cycle Collector) no respondam a eles. 4.
Terminar o aplicativo Tela Inicial. 5. Terminar aplicaes em segundo
plano perceptveis e de alta prioridade. 6. Terminar o aplicativo
teclado se estiver sendo executado. 7. Terminar aplicativos em
primeiro plano. 8. Terminar aplicativos em primeiro plano de alta
prioridade. 9. Terminar os processos pr-alocados.
20. Entrada e Sada Componente Descrio Kernel Linux Usa
bibliotecas do Android (GPS, cmera, etc.) e outros projetos de
cdigo aberto (Linux, libusb, bluez, e assim por diante). Radio
Interface Layer (RIL) Interage com o hardware modem (telefonia) no
telefone. Consiste em duas componentes: rild daemon fala com o
firmware do modem rilProxy proxies mensagens entre rild eo processo
B2G Media process Controles de reproduo de udio e vdeo. Gecko se
comunica com o servidor de mdia atravs de um mecanismo RPC Android.
Network process Daemon de rede que interage diretamente com
interfaces de rede (Wi-fi) no hardware. Bluethoof e outros
Bluetooth e outros de nvel de servio daemons que do acesso ao
hardware capacidades.
21. Sistema de Arquivos FAT32 A tabela de alocao de arquivos
(FAT) uma tabela que guarda informaes sobre a localizao de cada
arquivo dentro da unidade fsica para que elas possam ser salvas,
recuperadas, alteradas ou deletadas posteriormente. Elas so
armazenadas em blocos dispostos em diferentes posies do disco,
justificando a necessidade de uma tabela que aponte para cada um
destes blocos.
22. Vantagens e Desvantagens Vantagens Sistema Operacional
totalmente aberto Opo no me ratrei(funcionalidade do firefox) Baixo
Custo Poucos Aplicativos (Bom para desenvolvedores) Linguagem de
desenvolvimento (Padres WEB) Totalmente personalizvel (Acesso ao
cdigo de gerenciamento do Sistema) Um simples site definido como
favorito considerado um aplicativo
23. Vantagens e Desvantagens Desvantagens Hardware simples
Poucas APIS de acesso para desenvolvedores Falta de aplicativos (No
tem Whatsapp Oficial)
24. Curiosidades SO para TV SO Android TV Tizen WebOS LG
Firefox OS Linux Streaming de mdias - TV Android Chrome Cast
Firefox OS Matchstick Amazon Fire TV Roku Apple TV