SlideShare uma empresa Scribd logo
1 de 29
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

Escalonamento no Windows
Escalonamento no WindowsEscalonamento no Windows
Escalonamento no WindowsFee Kosta
 
Apostila 5 processos e threads
Apostila 5   processos e threadsApostila 5   processos e threads
Apostila 5 processos e threadsPaulo Fonseca
 
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ênciaFabio Moura Pereira
 
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-2Cristiano Pires Martins
 
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 OliveiraWellington Oliveira
 
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 classicosComputação Depressão
 
Paper pxe 23 03 20004
Paper pxe 23 03 20004Paper pxe 23 03 20004
Paper pxe 23 03 20004Rui 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 processosComputação Depressão
 
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 DebianJeimison Moreno
 
Processos e threads
Processos e threadsProcessos e threads
Processos e threadsSilvino Neto
 
Curso completo-de-fix-32
Curso completo-de-fix-32Curso completo-de-fix-32
Curso completo-de-fix-32Mário Bassoli
 
Aula3 escalonamento
Aula3 escalonamentoAula3 escalonamento
Aula3 escalonamentoBruno Rick
 
Rethinking main memory oltp recovery
Rethinking main memory oltp recoveryRethinking main memory oltp recovery
Rethinking main memory oltp recoveryLucas Vinícius
 

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
 
M1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptxM1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptxDoraestevao
 
Aula - SISTEMAS OPERACIONAIS - Prof. Gabriel.pptx
Aula - SISTEMAS OPERACIONAIS - Prof. Gabriel.pptxAula - SISTEMAS OPERACIONAIS - Prof. Gabriel.pptx
Aula - SISTEMAS OPERACIONAIS - Prof. Gabriel.pptxgabrieloliveiramarti3
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas OperacionaisAdir Kuhn
 
[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-operacionaisSuperTec1
 
Sistemas Operacionais - Gnu/Linux Instalando Programas
Sistemas Operacionais - Gnu/Linux Instalando ProgramasSistemas Operacionais - Gnu/Linux Instalando Programas
Sistemas Operacionais - Gnu/Linux Instalando ProgramasLuiz Arthur
 
resumo-conceitos-de-sistemas-operacionais.pdf
resumo-conceitos-de-sistemas-operacionais.pdfresumo-conceitos-de-sistemas-operacionais.pdf
resumo-conceitos-de-sistemas-operacionais.pdfRafaelPilan1
 
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íciosCharles Fortes
 
Apostila computacao
Apostila computacaoApostila computacao
Apostila computacaowebphotoshop
 
Sistema operacional
Sistema operacionalSistema operacional
Sistema operacionalMichael Soto
 
Gerenciamento de Redes com Zabbix
Gerenciamento de Redes com ZabbixGerenciamento de Redes com Zabbix
Gerenciamento de Redes com ZabbixAndré Déo
 

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

Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
INTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorINTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorEdvanirCosta
 
SLIDE DE Revolução Mexicana 1910 da disciplina cultura espanhola
SLIDE DE Revolução Mexicana 1910 da disciplina cultura espanholaSLIDE DE Revolução Mexicana 1910 da disciplina cultura espanhola
SLIDE DE Revolução Mexicana 1910 da disciplina cultura espanholacleanelima11
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéisines09cachapa
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfFrancisco Márcio Bezerra Oliveira
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMHELENO FAVACHO
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfmaurocesarpaesalmeid
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....LuizHenriquedeAlmeid6
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxMauricioOliveira258223
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelGilber Rubim Rangel
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfHELENO FAVACHO
 
BNCC Geografia.docx objeto de conhecimento
BNCC Geografia.docx objeto de conhecimentoBNCC Geografia.docx objeto de conhecimento
BNCC Geografia.docx objeto de conhecimentoGentil Eronides
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfWagnerCamposCEA
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)ElliotFerreira
 

Último (20)

Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
INTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de ProfessorINTERVENÇÃO PARÁ - Formação de Professor
INTERVENÇÃO PARÁ - Formação de Professor
 
SLIDE DE Revolução Mexicana 1910 da disciplina cultura espanhola
SLIDE DE Revolução Mexicana 1910 da disciplina cultura espanholaSLIDE DE Revolução Mexicana 1910 da disciplina cultura espanhola
SLIDE DE Revolução Mexicana 1910 da disciplina cultura espanhola
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEMPRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
PRÁTICAS PEDAGÓGICAS GESTÃO DA APRENDIZAGEM
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
Slides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptxSlides sobre as Funções da Linguagem.pptx
Slides sobre as Funções da Linguagem.pptx
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim Rangel
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
BNCC Geografia.docx objeto de conhecimento
BNCC Geografia.docx objeto de conhecimentoBNCC Geografia.docx objeto de conhecimento
BNCC Geografia.docx objeto de conhecimento
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 

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.