SlideShare uma empresa Scribd logo
Sistemas Operacionais
TV e WEB
RAFAEL TAVARES ANDRADE TOLEDO
Agenda
 Visão Geral
 Gerenciamento de Processos
 Gerenciamento de Memória
 Entrada e Saída
 Sistemas de Arquivos
 Vantagens e Desvantagens
Visão Geral – Firefox OS
• O Firefox OS é um Sistema Operacional desenvolvido pela Mozilla,
baseado no motor de funcionamento do navegador Firefox o Gecko.
• Também conhecido como B2G (Boot to Gecko). Seu alicerce é
constituído 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.
Arquitetura
GAIA
• O Gaia é a interface gráfica do Firefox OS.
• Tudo que você precisa saber para criar
aplicativos são tecnologias web como
JavaScript, HTML e CSS.
• As APIs de acesso são definidas pela W3C
DAP (DeviceAPis).
GECKO
Gecko é o nome do motor de layout desenvolvido
pelo Projeto Mozilla.
A função do Gecko é ler o conteúdo da web,
como HTML, CSS, XUL, JavaScript e renderiza-lo na
tela do usuário.
GONK
• Gonk é o nível 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.
Gerenciamento de Processos
• Firefox OS usa threads POSIX para implementar as threads de
aplicações, isso inclui a thread principal de cada aplicação
bem como as Web workers e helper threads. Valores "Nice" são
usados para priorizar os processos e a execução das threads
confiando no agendador padrão do kernel do Linux.
Dependendo do status do processo nós atribuimos um
diferente valor "Nice" do nível. Temos atualmente 7 níveis:
Gerenciamento de Processos
• Alguns níveis possuem os mesmos "nice
values", isso acontece porque esses níveis
diferem da forma que são tratados pelo "out-
of-memory killer". Todas as prioridades
podem ser ajustadas em tempo de
compilação via "Preferências". Os valores
relevantes podem ser encontrados no
arquivo b2g/app/b2g.js
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 são alterados sempre que acontece um grande evento
como quando uma aplicação é enviada para rodar em background
ou foreground, uma nova aplicação é iniciada, ou uma aplicação
existente executa uma wake-lock da CPU. Toda vez que a prioridade
de um processo é ajustada todas as prioridades de suas threads
também são ajustadas em conformidade.
Gerenciamento de Memória
Dois subsistemas são usados para gerenciar:
 Low memory killer (LMK - Finalizador de memória baixa)
 Low memory notifications ( LMN - Notificações de pouca
memória)
Low memory Killer - LMK
• O LMK é um subsistema do kernel do Android que encerra
automaticamente os processos para dar lugar a pedidos de
memória. Para escolher qual o processo deve ser encerrado
primeiro para liberar memória, a cada processo é atribuido
uma prioridade através dos arquivos /proc/<pid>/oom_adj ou
/proc/<pid>/oom_score_adj. Um processos tem uma prioridade
conhecida como prontuação de ajuste, ou oom_adj. Valores
menores de oom_adj corresponde a processos de maior
prioridade.
Low memory Killer - LMK
• O LMK oferece múltiplos níveis, cada um correspondendo a uma
certa quantidade de memória livre e uma mínima de pontuação de
ajuste. Sempre que a quantidade de memória livre no sistema cair
abaixo de um certo nível, todos os processos com uma pontuação
de ajuste maior do que o mínimo especificado para este nível são
elegíveis para ser encerrado. O LMK irá começar a encerrar esses
processos, os maiores em primeiro lugar, e continuará até que tenha
liberado memória suficiente de acordo com o limite definido.
Prioridade de Processos - LMK
• No Firefox OS os aplicativos são encerrados seguindo a política
de ordem de prioridade, que é imposta dando a cada
aplicação um nível de prioridade e associando uma pontuação
de ajuste (OOM) a esses níveis. (os valores correntes são
definidos em prefs):
1. Os primeiros aplicativos a serem encerrados serão os aplicativos
em segundo plano, iniciando pelos menos utilizados
recentemente.
2. O aplicativo homescreen é o próximo a ser encerrado.
Prioridade de Processos
3. Em seguida, são encerrados os aplicativos em segundo plano que são
perceptíveis pelo usuário (por exemplo, um leitor de música reproduzindo
áudio em segundo plano.
4. Se o teclado estiver em uso, será o próximo a ser encerrado.
5. Aplicações em primeiro plano serão as próximas a serem encerradas.
6. Finalmente, aplicações em primeiro plano que solicitaram um wakelock
high-priority ou cpu serão as últimas a serem encerradas.
Prioridade de Processos
• Existe algumas exceções para essas regras:
 O processo principal nunca é terminado pelo LMK, pois se isso for feito
todos os demais processos serão terminados e o sistema operacional
seria reiniciado. O processo principal é executado com oom_adj 0.
 Nós mantemos um processo que é utilizado para acelerar o início de
novos aplicativos chamado preallocated process. Normalmente esse
processo é mantido ativo pois consome pouca memória e permite uma
maior velocidade ao iniciar um aplicativo. A única situação na qual
esse processo pode ser terminado é se não existir memória suficiente
para o processo principal manter-se ativo após os outros processos
terem sido terminados.
Low memory notifications - LMN
 O LMK fornece um limite especial que quando ultrapassa pode enviar
notificações para o userspace informando que o sistema está sendo
executado com pouca memória.
 Quando for encontrada uma condição de pouca memória o primeiro
evento memory-pressure enviado possuirá o parâmetro low-memory. Se
após um período pré-definido (5s) persistir a condição de pouca
memória, um outro evento memory-pressure será disparado, mas dessa
vez com o parâmetro low-memory-ongoing.
Como LMK e LMN trabalham juntos
 Atualmente o limite de pouca memória é definido abaixo do
nível do LMK. Assim, as ações agregadas para o LMK e LMN
quando um dispositivo possui pouca memória:
1. Terminar aplicativos em segundo plano em ordem dos
menos usados recentemente.
2. Se não for liberada memória suficiente envia o evento
memory-pressure para os aplicativos remanescentes.
Como LMK e as notificações de
pouca memória trabalham juntos
3. Se a condição persistir é renviado um evento memory-pressure a cada 5
segundos, mas marcando-os como em execução para que os processos
de GC/CC (Garbage Collector e Cycle Collector) não respondam a eles.
4. Terminar o aplicativo Tela Inicial.
5. Terminar aplicações em segundo plano perceptíveis 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.
Entrada e Saída
Componente Descrição
Kernel Linux Usa bibliotecas do Android (GPS, câmera, etc.) e outros
projetos de código 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 reprodução de áudio e vídeo. Gecko se
comunica com o servidor de mídia através 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 nível de serviço daemons que dão
acesso ao hardware capacidades.
Sistema de Arquivos
• FAT32
• A tabela de alocação de arquivos (FAT) é uma tabela que guarda
informações sobre a localização de cada arquivo dentro da unidade
física para que elas possam ser salvas, recuperadas, alteradas ou
deletadas posteriormente.
• Elas são armazenadas em blocos dispostos em diferentes posições do
disco, justificando a necessidade de uma tabela que aponte para cada
um destes blocos.
Vantagens e Desvantagens
• Vantagens
 Sistema Operacional totalmente aberto
 Opção “não me ratrei”(funcionalidade do firefox)
 Baixo Custo
 Poucos Aplicativos (Bom para desenvolvedores)
 Linguagem de desenvolvimento (Padrões WEB)
 Totalmente personalizável (Acesso ao código de gerenciamento do Sistema)
 Um simples site definido como favorito é considerado um aplicativo
Vantagens e Desvantagens
• Desvantagens
 Hardware simples
 Poucas APIS de acesso para desenvolvedores
 Falta de aplicativos (Não tem Whatsapp Oficial)
Curiosidades SO para TV
• SO
 Android TV
 Tizen
 WebOS – LG
 Firefox OS
 Linux
• Streaming de mídias - TV
 Android – Chrome Cast
 Firefox OS – Matchstick
 Amazon Fire TV
 Roku
 Apple TV
Obrigado !
Referências
 https://developer.mozilla.org/
 http://www.mozilla.org/en-US/firefoxos/
 https://wiki.mozilla.org/Gonk
 https://developer.mozilla.org/en-
US/docs/Mozilla/Firefox_OS/Platform/Gonk
 https://developer.mozilla.org/en-
US/docs/Mozilla/Boot_to_Gecko/Building_Boot_to_Gecko
 https://developer.mozilla.org/enUS/docs/Mozilla/Firefox_OS/Customizati
on_with_the_.userconfig_file
 https://developer.mozilla.org/en-
US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS
 https://developer.mozilla.org/en-
US/docs/Mozilla/Firefox_OS/Debugging
Sistemas Operacionais - FFXOS

Mais conteúdo relacionado

Mais procurados

Aula 02-processos-e-threads-tanenbaum-parte-2
Aula 02-processos-e-threads-tanenbaum-parte-2Aula 02-processos-e-threads-tanenbaum-parte-2
Aula 02-processos-e-threads-tanenbaum-parte-2
Cristiano Pires Martins
 
2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos
2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos
2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos
Computação Depressão
 
Paper pxe 23 03 20004
Paper pxe 23 03 20004Paper pxe 23 03 20004
Paper pxe 23 03 20004
Rui Gomes
 
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
Computação Depressão
 
Processos e threads
Processos e threadsProcessos e threads
Processos e threads
Silvino Neto
 
Aula3 escalonamento
Aula3 escalonamentoAula3 escalonamento
Aula3 escalonamento
Bruno Rick
 

Mais procurados (20)

Processos+threads.2pp
Processos+threads.2ppProcessos+threads.2pp
Processos+threads.2pp
 
Escalonamento no Windows
Escalonamento no WindowsEscalonamento no Windows
Escalonamento no Windows
 
Apostila 5 processos e threads
Apostila 5   processos e threadsApostila 5   processos e threads
Apostila 5 processos e threads
 
Programação Concorrente - Objetos e Concorrência
Programação Concorrente - Objetos e ConcorrênciaProgramação Concorrente - Objetos e Concorrência
Programação Concorrente - Objetos e Concorrência
 
Aula 02-processos-e-threads-tanenbaum-parte-2
Aula 02-processos-e-threads-tanenbaum-parte-2Aula 02-processos-e-threads-tanenbaum-parte-2
Aula 02-processos-e-threads-tanenbaum-parte-2
 
MIPS Pipeline
MIPS Pipeline MIPS Pipeline
MIPS Pipeline
 
Sistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
Sistemas Operacionais Processos e Threads - Wellington Pinto de OliveiraSistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
Sistemas Operacionais Processos e Threads - Wellington Pinto de Oliveira
 
SO-04 Escalonamento de Processos
SO-04 Escalonamento de ProcessosSO-04 Escalonamento de Processos
SO-04 Escalonamento de Processos
 
2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos
2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos
2009 1 - sistemas operacionais - aula 5 - semaforos e problemas classicos
 
Paper pxe 23 03 20004
Paper pxe 23 03 20004Paper pxe 23 03 20004
Paper pxe 23 03 20004
 
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
 
Grid com JPPF
Grid com JPPFGrid com JPPF
Grid com JPPF
 
Configuração de servidor LTSP em distribuição Debian
Configuração de servidor LTSP em distribuição DebianConfiguração de servidor LTSP em distribuição Debian
Configuração de servidor LTSP em distribuição Debian
 
Processos e threads
Processos e threadsProcessos e threads
Processos e threads
 
Curso completo-de-fix-32
Curso completo-de-fix-32Curso completo-de-fix-32
Curso completo-de-fix-32
 
Snmp
SnmpSnmp
Snmp
 
Aula3 escalonamento
Aula3 escalonamentoAula3 escalonamento
Aula3 escalonamento
 
Rethinking main memory oltp recovery
Rethinking main memory oltp recoveryRethinking main memory oltp recovery
Rethinking main memory oltp recovery
 
Nagios
NagiosNagios
Nagios
 
Aula Persistência 01 (Java)
Aula Persistência 01 (Java)Aula Persistência 01 (Java)
Aula Persistência 01 (Java)
 

Semelhante a Sistemas Operacionais - FFXOS

Componentes do Sistema operacional
Componentes do Sistema operacional Componentes do Sistema operacional
Componentes do Sistema operacional
Rodrigo Rodrigues
 
Sistemas Operacionais - Gnu/Linux Instalando Programas
Sistemas Operacionais - Gnu/Linux Instalando ProgramasSistemas Operacionais - Gnu/Linux Instalando Programas
Sistemas Operacionais - Gnu/Linux Instalando Programas
Luiz Arthur
 
Apostila computacao
Apostila computacaoApostila computacao
Apostila computacao
webphotoshop
 
Sistema operacional
Sistema operacionalSistema operacional
Sistema operacional
Michael Soto
 

Semelhante a Sistemas Operacionais - FFXOS (20)

SlackWare - Leonel
SlackWare - LeonelSlackWare - Leonel
SlackWare - Leonel
 
Sistema operacional
Sistema operacionalSistema operacional
Sistema operacional
 
Componentes do Sistema operacional
Componentes do Sistema operacional Componentes do Sistema operacional
Componentes do Sistema operacional
 
M1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptxM1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptx
 
Aula 01 So2009
Aula 01   So2009Aula 01   So2009
Aula 01 So2009
 
Aula - SISTEMAS OPERACIONAIS - Prof. Gabriel.pptx
Aula - SISTEMAS OPERACIONAIS - Prof. Gabriel.pptxAula - SISTEMAS OPERACIONAIS - Prof. Gabriel.pptx
Aula - SISTEMAS OPERACIONAIS - Prof. Gabriel.pptx
 
Aula 02
Aula 02Aula 02
Aula 02
 
Windows Vista , Seven , Server 2008 r2
Windows Vista , Seven , Server 2008 r2Windows Vista , Seven , Server 2008 r2
Windows Vista , Seven , Server 2008 r2
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
 
Sistemas Operacionais - Gnu/Linux Instalando Programas
Sistemas Operacionais - Gnu/Linux Instalando ProgramasSistemas Operacionais - Gnu/Linux Instalando Programas
Sistemas Operacionais - Gnu/Linux Instalando Programas
 
Redes2 aula02
Redes2 aula02Redes2 aula02
Redes2 aula02
 
resumo-conceitos-de-sistemas-operacionais.pdf
resumo-conceitos-de-sistemas-operacionais.pdfresumo-conceitos-de-sistemas-operacionais.pdf
resumo-conceitos-de-sistemas-operacionais.pdf
 
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosSistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
 
Apostila computacao
Apostila computacaoApostila computacao
Apostila computacao
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Sistema operacional
Sistema operacionalSistema operacional
Sistema operacional
 
Gerenciamento de Redes com Zabbix
Gerenciamento de Redes com ZabbixGerenciamento de Redes com Zabbix
Gerenciamento de Redes com Zabbix
 
apostila linux
apostila linuxapostila linux
apostila linux
 
Capitulo1
Capitulo1Capitulo1
Capitulo1
 

Último

OFICINA - CAFETERIA DAS HABILIDADES.pdf_20240516_002101_0000.pdf
OFICINA - CAFETERIA DAS HABILIDADES.pdf_20240516_002101_0000.pdfOFICINA - CAFETERIA DAS HABILIDADES.pdf_20240516_002101_0000.pdf
OFICINA - CAFETERIA DAS HABILIDADES.pdf_20240516_002101_0000.pdf
AndriaNascimento27
 
PERFIL M DO LUBANGO e da Administraçao_041137.pptx
PERFIL M DO LUBANGO e da Administraçao_041137.pptxPERFIL M DO LUBANGO e da Administraçao_041137.pptx
PERFIL M DO LUBANGO e da Administraçao_041137.pptx
tchingando6
 
manual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdf
manual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdfmanual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdf
manual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdf
rarakey779
 

Último (20)

Caderno de Estudo Orientado para Ensino Médio
Caderno de Estudo Orientado para Ensino MédioCaderno de Estudo Orientado para Ensino Médio
Caderno de Estudo Orientado para Ensino Médio
 
Manual de Direito do Trabalho - Adriana Calvo - 2020.pdf
Manual de Direito do Trabalho - Adriana Calvo - 2020.pdfManual de Direito do Trabalho - Adriana Calvo - 2020.pdf
Manual de Direito do Trabalho - Adriana Calvo - 2020.pdf
 
Correção do 1º Simulado Enem 2024 - Mês de Abril.pdf
Correção do 1º Simulado Enem 2024 - Mês de Abril.pdfCorreção do 1º Simulado Enem 2024 - Mês de Abril.pdf
Correção do 1º Simulado Enem 2024 - Mês de Abril.pdf
 
ATPCG 27.05 - Recomposição de aprendizagem.pptx
ATPCG 27.05 - Recomposição de aprendizagem.pptxATPCG 27.05 - Recomposição de aprendizagem.pptx
ATPCG 27.05 - Recomposição de aprendizagem.pptx
 
Conteúdo sobre a formação e expansão persa
Conteúdo sobre a formação e expansão persaConteúdo sobre a formação e expansão persa
Conteúdo sobre a formação e expansão persa
 
Junho Violeta - Sugestão de Ações na Igreja
Junho Violeta - Sugestão de Ações na IgrejaJunho Violeta - Sugestão de Ações na Igreja
Junho Violeta - Sugestão de Ações na Igreja
 
História do Brasil e Geral - Cláudio Vicentino
História do Brasil e Geral - Cláudio VicentinoHistória do Brasil e Geral - Cláudio Vicentino
História do Brasil e Geral - Cláudio Vicentino
 
CADERNO DO FUTURO 6- Apostila de Língua Portugesa
CADERNO DO FUTURO 6- Apostila de Língua PortugesaCADERNO DO FUTURO 6- Apostila de Língua Portugesa
CADERNO DO FUTURO 6- Apostila de Língua Portugesa
 
PowerPoint Folha de cálculo Excel 5 e 6 anos do ensino básico
PowerPoint Folha de cálculo Excel 5 e 6 anos do ensino básicoPowerPoint Folha de cálculo Excel 5 e 6 anos do ensino básico
PowerPoint Folha de cálculo Excel 5 e 6 anos do ensino básico
 
Exercícios de Queda Livre e Lançamento Vertical.pptx
Exercícios de Queda Livre e Lançamento Vertical.pptxExercícios de Queda Livre e Lançamento Vertical.pptx
Exercícios de Queda Livre e Lançamento Vertical.pptx
 
DIFERENÇA DO INGLES BRITANICO E AMERICANO.pptx
DIFERENÇA DO INGLES BRITANICO E AMERICANO.pptxDIFERENÇA DO INGLES BRITANICO E AMERICANO.pptx
DIFERENÇA DO INGLES BRITANICO E AMERICANO.pptx
 
Slides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptx
Slides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptxSlides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptx
Slides Lição 9, Betel, Ordenança para uma vida de santificação, 2Tr24.pptx
 
Aproveitando as ferramentas do Tableau para criatividade e produtividade
Aproveitando as ferramentas do Tableau para criatividade e produtividadeAproveitando as ferramentas do Tableau para criatividade e produtividade
Aproveitando as ferramentas do Tableau para criatividade e produtividade
 
"Está o lascivo e doce passarinho " de Luís Vaz de Camões
"Está o lascivo e   doce passarinho " de Luís Vaz de Camões"Está o lascivo e   doce passarinho " de Luís Vaz de Camões
"Está o lascivo e doce passarinho " de Luís Vaz de Camões
 
OFICINA - CAFETERIA DAS HABILIDADES.pdf_20240516_002101_0000.pdf
OFICINA - CAFETERIA DAS HABILIDADES.pdf_20240516_002101_0000.pdfOFICINA - CAFETERIA DAS HABILIDADES.pdf_20240516_002101_0000.pdf
OFICINA - CAFETERIA DAS HABILIDADES.pdf_20240516_002101_0000.pdf
 
Manual de Direito Comercial - Fabio Ulhoa Coelho.pdf
Manual de Direito Comercial - Fabio Ulhoa Coelho.pdfManual de Direito Comercial - Fabio Ulhoa Coelho.pdf
Manual de Direito Comercial - Fabio Ulhoa Coelho.pdf
 
PERFIL M DO LUBANGO e da Administraçao_041137.pptx
PERFIL M DO LUBANGO e da Administraçao_041137.pptxPERFIL M DO LUBANGO e da Administraçao_041137.pptx
PERFIL M DO LUBANGO e da Administraçao_041137.pptx
 
manual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdf
manual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdfmanual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdf
manual-de-introduc3a7c3a3o-ao-direito-25-10-2011.pdf
 
Desastres ambientais e vulnerabilidadess
Desastres ambientais e vulnerabilidadessDesastres ambientais e vulnerabilidadess
Desastres ambientais e vulnerabilidadess
 
DeClara n.º 76 MAIO 2024, o jornal digital do Agrupamento de Escolas Clara de...
DeClara n.º 76 MAIO 2024, o jornal digital do Agrupamento de Escolas Clara de...DeClara n.º 76 MAIO 2024, o jornal digital do Agrupamento de Escolas Clara de...
DeClara n.º 76 MAIO 2024, o jornal digital do Agrupamento de Escolas Clara de...
 

Sistemas Operacionais - FFXOS

  • 1. Sistemas Operacionais TV e WEB RAFAEL TAVARES ANDRADE TOLEDO
  • 2. Agenda  Visão Geral  Gerenciamento de Processos  Gerenciamento de Memória  Entrada e Saída  Sistemas de Arquivos  Vantagens e Desvantagens
  • 3. Visão Geral – Firefox OS • O Firefox OS é um Sistema Operacional desenvolvido pela Mozilla, baseado no motor de funcionamento do navegador Firefox o Gecko. • Também conhecido como B2G (Boot to Gecko). Seu alicerce é constituído 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.
  • 5.
  • 7. GAIA • O Gaia é a interface gráfica do Firefox OS. • Tudo que você precisa saber para criar aplicativos são tecnologias web como JavaScript, HTML e CSS. • As APIs de acesso são definidas pela W3C DAP (DeviceAPis).
  • 8. GECKO Gecko é o nome do motor de layout desenvolvido pelo Projeto Mozilla. A função do Gecko é ler o conteúdo da web, como HTML, CSS, XUL, JavaScript e renderiza-lo na tela do usuário.
  • 9. GONK • Gonk é o nível 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.
  • 10. Gerenciamento de Processos • Firefox OS usa threads POSIX para implementar as threads de aplicações, isso inclui a thread principal de cada aplicação bem como as Web workers e helper threads. Valores "Nice" são usados para priorizar os processos e a execução das threads confiando no agendador padrão do kernel do Linux. Dependendo do status do processo nós atribuimos um diferente valor "Nice" do nível. Temos atualmente 7 níveis:
  • 11. Gerenciamento de Processos • Alguns níveis possuem os mesmos "nice values", isso acontece porque esses níveis diferem da forma que são tratados pelo "out- of-memory killer". Todas as prioridades podem ser ajustadas em tempo de compilação via "Preferências". Os valores relevantes podem ser encontrados no arquivo b2g/app/b2g.js
  • 12. 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 são alterados sempre que acontece um grande evento como quando uma aplicação é enviada para rodar em background ou foreground, uma nova aplicação é iniciada, ou uma aplicação existente executa uma wake-lock da CPU. Toda vez que a prioridade de um processo é ajustada todas as prioridades de suas threads também são ajustadas em conformidade.
  • 13. Gerenciamento de Memória Dois subsistemas são usados para gerenciar:  Low memory killer (LMK - Finalizador de memória baixa)  Low memory notifications ( LMN - Notificações de pouca memória)
  • 14. Low memory Killer - LMK • O LMK é um subsistema do kernel do Android que encerra automaticamente os processos para dar lugar a pedidos de memória. Para escolher qual o processo deve ser encerrado primeiro para liberar memória, a cada processo é atribuido uma prioridade através dos arquivos /proc/<pid>/oom_adj ou /proc/<pid>/oom_score_adj. Um processos tem uma prioridade conhecida como prontuação de ajuste, ou oom_adj. Valores menores de oom_adj corresponde a processos de maior prioridade.
  • 15. Low memory Killer - LMK • O LMK oferece múltiplos níveis, cada um correspondendo a uma certa quantidade de memória livre e uma mínima de pontuação de ajuste. Sempre que a quantidade de memória livre no sistema cair abaixo de um certo nível, todos os processos com uma pontuação de ajuste maior do que o mínimo especificado para este nível são elegíveis para ser encerrado. O LMK irá começar a encerrar esses processos, os maiores em primeiro lugar, e continuará até que tenha liberado memória suficiente de acordo com o limite definido.
  • 16. Prioridade de Processos - LMK • No Firefox OS os aplicativos são encerrados seguindo a política de ordem de prioridade, que é imposta dando a cada aplicação um nível de prioridade e associando uma pontuação de ajuste (OOM) a esses níveis. (os valores correntes são definidos em prefs): 1. Os primeiros aplicativos a serem encerrados serão os aplicativos em segundo plano, iniciando pelos menos utilizados recentemente. 2. O aplicativo homescreen é o próximo a ser encerrado.
  • 17. Prioridade de Processos 3. Em seguida, são encerrados os aplicativos em segundo plano que são perceptíveis pelo usuário (por exemplo, um leitor de música reproduzindo áudio em segundo plano. 4. Se o teclado estiver em uso, será o próximo a ser encerrado. 5. Aplicações em primeiro plano serão as próximas a serem encerradas. 6. Finalmente, aplicações em primeiro plano que solicitaram um wakelock high-priority ou cpu serão as últimas a serem encerradas.
  • 18. Prioridade de Processos • Existe algumas exceções para essas regras:  O processo principal nunca é terminado pelo LMK, pois se isso for feito todos os demais processos serão terminados e o sistema operacional seria reiniciado. O processo principal é executado com oom_adj 0.  Nós mantemos um processo que é utilizado para acelerar o início de novos aplicativos chamado preallocated process. Normalmente esse processo é mantido ativo pois consome pouca memória e permite uma maior velocidade ao iniciar um aplicativo. A única situação na qual esse processo pode ser terminado é se não existir memória suficiente para o processo principal manter-se ativo após os outros processos terem sido terminados.
  • 19. Low memory notifications - LMN  O LMK fornece um limite especial que quando ultrapassa pode enviar notificações para o userspace informando que o sistema está sendo executado com pouca memória.  Quando for encontrada uma condição de pouca memória o primeiro evento memory-pressure enviado possuirá o parâmetro low-memory. Se após um período pré-definido (5s) persistir a condição de pouca memória, um outro evento memory-pressure será disparado, mas dessa vez com o parâmetro low-memory-ongoing.
  • 20. Como LMK e LMN trabalham juntos  Atualmente o limite de pouca memória é definido abaixo do nível do LMK. Assim, as ações agregadas para o LMK e LMN quando um dispositivo possui pouca memória: 1. Terminar aplicativos em segundo plano em ordem dos menos usados recentemente. 2. Se não for liberada memória suficiente envia o evento memory-pressure para os aplicativos remanescentes.
  • 21. Como LMK e as notificações de pouca memória trabalham juntos 3. Se a condição persistir é renviado um evento memory-pressure a cada 5 segundos, mas marcando-os como em execução para que os processos de GC/CC (Garbage Collector e Cycle Collector) não respondam a eles. 4. Terminar o aplicativo Tela Inicial. 5. Terminar aplicações em segundo plano perceptíveis 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.
  • 22. Entrada e Saída Componente Descrição Kernel Linux Usa bibliotecas do Android (GPS, câmera, etc.) e outros projetos de código 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 reprodução de áudio e vídeo. Gecko se comunica com o servidor de mídia através 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 nível de serviço daemons que dão acesso ao hardware capacidades.
  • 23. Sistema de Arquivos • FAT32 • A tabela de alocação de arquivos (FAT) é uma tabela que guarda informações sobre a localização de cada arquivo dentro da unidade física para que elas possam ser salvas, recuperadas, alteradas ou deletadas posteriormente. • Elas são armazenadas em blocos dispostos em diferentes posições do disco, justificando a necessidade de uma tabela que aponte para cada um destes blocos.
  • 24. Vantagens e Desvantagens • Vantagens  Sistema Operacional totalmente aberto  Opção “não me ratrei”(funcionalidade do firefox)  Baixo Custo  Poucos Aplicativos (Bom para desenvolvedores)  Linguagem de desenvolvimento (Padrões WEB)  Totalmente personalizável (Acesso ao código de gerenciamento do Sistema)  Um simples site definido como favorito é considerado um aplicativo
  • 25. Vantagens e Desvantagens • Desvantagens  Hardware simples  Poucas APIS de acesso para desenvolvedores  Falta de aplicativos (Não tem Whatsapp Oficial)
  • 26. Curiosidades SO para TV • SO  Android TV  Tizen  WebOS – LG  Firefox OS  Linux • Streaming de mídias - TV  Android – Chrome Cast  Firefox OS – Matchstick  Amazon Fire TV  Roku  Apple TV
  • 28. Referências  https://developer.mozilla.org/  http://www.mozilla.org/en-US/firefoxos/  https://wiki.mozilla.org/Gonk  https://developer.mozilla.org/en- US/docs/Mozilla/Firefox_OS/Platform/Gonk  https://developer.mozilla.org/en- US/docs/Mozilla/Boot_to_Gecko/Building_Boot_to_Gecko  https://developer.mozilla.org/enUS/docs/Mozilla/Firefox_OS/Customizati on_with_the_.userconfig_file  https://developer.mozilla.org/en- US/docs/Mozilla/Firefox_OS/Building_and_installing_Firefox_OS  https://developer.mozilla.org/en- US/docs/Mozilla/Firefox_OS/Debugging

Notas do Editor

  1. Interface Portável entre Sistemas Operacionais POSIX define a interface de programação de aplicações (API)
  2. Muitos "processos filhos" são executados com oom_adj 2 enquanto estão em primeiro plano. Ao serem executados em segundo plano o valor de oom_adj ficam entre 3 e 6(inclusive).  O valor exato de oom_adj de um processo filho depende de vários de fatores: se está tocando uma música, se é o aplicativo de tela inicial, etc.
  3. Muitos "processos filhos" são executados com oom_adj 2 enquanto estão em primeiro plano. Ao serem executados em segundo plano o valor de oom_adj ficam entre 3 e 6(inclusive).  O valor exato de oom_adj de um processo filho depende de vários de fatores: se está tocando uma música, se é o aplicativo de tela inicial, etc.
  4. Esse parâmetro é utilizado quando continuamos com a condição de pouca memória e gostaríamos de liberar caches e utlizar outras formas "mais baratas" de minimizar o uso da memória, mas sabendo que abordagens mais pesadas como GC (Garbage Collector) provavelmente não terão sucesso
  5. Muitos "processos filhos" são executados com oom_adj 2 enquanto estão em primeiro plano. Ao serem executados em segundo plano o valor de oom_adj ficam entre 3 e 6(inclusive).  O valor exato de oom_adj de um processo filho depende de vários de fatores: se está tocando uma música, se é o aplicativo de tela inicial, etc.
  6. Sem uma estrutura de armazenamento de dados como o FAT32, nenhum procedimento de acesso a disco é possível. O qual é o sistema de arquivos usado pelo Firefox OS, precisando está no formato FAT32 o cartão SD do dispositivo, ao contrário não é reconhecido.