Buscar

Documento sem título

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Sistemas Operacionais Móveis
Android 
Android é um sistema operacional móvel de código aberto desenvolvido pela Google. Presente em múltiplos aparelhos de diversos fabricantes, como Samsung, Motorola, LG, e Sony, é a plataforma mobile mais popular do mundo. Possui uma arquitetura baseada no kernel do linux, porém com algumas modificações profundas implementadas pela Google.
A arquitetura do Android é dividida basicamente em 5 camadas:
Aplicações: É a camada mais próxima do usuário, onde estão localizados todos os aplicativos nativos do sistema operacional.
Frameworks: Nesta camada encontra-se o conjunto de APIs programadas na linguagem java, as quais são utilizadas para o desenvolvimentos de aplicativos Android. Alguns dos seus componentes são o gerenciador de atividades, gerenciador de notificações e provedores de conteúdos.
Bibliotecas: Nesta camada estão as bibliotecas nativas escritas em C/C++. Estão nesta camada APIs como o OpenGL ES (para renderização 3D), SQLite (gerenciador de bancos de dados) e suporte a diversos formatos de áudio e vídeo
Runtime: Nesta camada está presente a Máquina Virtual Dalvik, responsável pela execução das aplicações no Android. A qual é otimizada para oferecer consumo mínimo de memória.
Kernel Linux - É a camada de mais baixo nível do sistema. Serve como um intermediário entre o hardware e o software, permitindo o acesso aos componentes eletrônicos. Seu uso permite que o Android aproveite os recursos principais de segurança.
iOS
O iOS é a abreviação de iPhone Operation System, que é um sistema operacional desenvolvido pela Apple para rodar exclusivamente em seus dispositivos móveis. Este sistema possui um conceito de suspensão de aplicação, que suspende um aplicativo que não está sendo utilizado, para concentrar seus recursos no app que está rodando em primeiro plano, dando-o a característica de leveza. Destaca-se também a sua interação com o usuário, pois tem a interface baseada em telas touchscreen, utilizando gestos em multi-toque para gerir a interface.
O iOs tem uma arquitetura que consiste em quatro camadas:
Cocoa Touch - Nesta camada encontram-se as frameworks utilizadas para construção de aplicações iOS.
Media - Camada responsável pelos recursos de multimídia, utilizados para facilitar a criação de aplicativos mais robustos e complexos que fazem uso dos gráficos e animações. 
Core Services - É a camada que contém os serviços fundamentais do sistema, que são utilizados por todos os aplicativos mesmo que de forma indireta. Alguns dos serviços disponíveis nesta camada são: AdressBook, SQLite, XML support, in-app purchase.
Core OS: Camada de mais baixo nível, onde está localizado o kernel do sistema
Bibliografia:
https://developer.android.com/guide/platform
http://www.enacomp.com.br/2011/anais/trabalhos-aprovados/pdf/enacomp2011_submission_54.pdf
https://www.techtudo.com.br/tudo-sobre/ios.html
processos
threads
comunicação entre processos
gerenciamento de memória
sistemas de arquivos
entrada/saída
impasses
multiprocessamento
segurança
Características gerais:
O Linux é um sistema operacional de código aberto, permitindo que qualquer pessoas veja como funciona o sistema. É um sistema multitarefa, suporta multi usuários, suporta nomes extensos de arquivos e pastas, permite conectividade com outras plataformas, utiliza permissões de acesso à arquivos, pastas e programas em execução na memória RAM, proteção entre processos executados na memória RAM, somente carrega para a memória o que é utilizado durante o processamento, não há necessidade de reiniciar o sistema após modificar a configuração de algum periférico ou parâmetros da rede, não precisa de processador potente para funcionar, não é vulnerável a vírus (a maioria dos vírus são criados para sistemas Windows). Existem diversas distribuições Linux no mercado, cada uma delas tem sua característica própria, porém com o kernel igual.
O MacOS é um SO proprietário baseado no kernel Unix. É desenvolvido, fabricado e vendido pela Apple Inc., esse sistema é próprio para computadores Mac. É um sistema totalmente gráfico, suporta multiprocessamento. Possui o Apple Script, um sistema que permite a automação de vários processos repetitivos no Mac. O script pode ser ativado manualmente. Por ser um sistema desenvolvido para um hadware específico, sua velocidade de processamento e resposta é maior que nos outros SOs. É tido como o segundo SO mais seguro, ficando atrás do Linux. 
O Windows é o SO proprietário, para computadores, mais usado do mundo. É um SO com interface gráfica, assim como o MacOS e algumas distribuições Linux, suporta multiprocessamento, suporta multi usuários, é multitarefa preemptiva. É um sistema criado para ser usado em qualquer computador, por isso sua velocidade de processamento pode ser lenta em alguns momentos. Por sua grande popularidade e quantidade de usuários, é mais visado por criminosos, tornado o SO mais inseguros que os SOs citados acima.
Gerenciamento de memória
O Windows trabalha com dois tipos de memória. O primeiro deles é a memória principal, também chamada de física. Ela é a quantidade de RAM instalada em sua máquina. Já a memória virtual é uma espécie de memória auxiliar, usada pelo computador em alguns casos especiais. Essa memória é nada mais do que um arquivo hospedado no disco rígido da máquina, e o Windows usa esse arquivo como se ele fosse uma extensão da memória principal.
A memória física recebe a quantidade que o Windows considera essencial, como o próprio sistema operacional e as aplicações que o usuário estiver usando no momento. O restante fica na memória virtual. Em outras palavras, a memória virtual é um recurso essencial para o armazenamento de dados que não estão em uso, mas que devem ser recuperados com velocidade quando necessário. Essa memória também é usada pelo sistema quando se esgota, por completo, o espaço disponível na memória física. Nesse caso, a memória virtual acaba sendo uma extensão da memória principal. A memória virtual fica armazenada em um arquivo no disco rígido da máquina, o processo de leitura e escrita de dados no HD do computador é muito mais lento do que o equivalente em memória RAM.
Assim como o Windows, o Linux possui dois sistemas de gerenciamento de memória, a memória física, que cuida da alocação e liberação de blocos de memória, e a memória virtual, que tem o papel de "enganar" os processos, informando que há memória suficiente quando não há. Esta técnica pode melhorar a performance do sistema operacional. O Linux é um sistema multiprocessos e multiusuários, então devemos ter um controle rígido sobre a memória, para que um processo não sobreponha os recursos (memória) utilizados pelo outro.
O gerenciamento de memória no Linux é realizado com o auxílio de circuitos de hardware presentes nos microprocessadores. Esses circuitos permitem que o gerenciamento de memória seja mais eficiente e seguro, evitando erros causados por software no acesso à memória.
O acesso à memória física não acontece direto do software. No software especificamos o endereço lógico, que consiste do segmento e de um offset representando a distância entre o endereço que desejamos acessar e o início do segmento. O endereço lógico é compilado por uma unidade de segmentação, que o transforma em um endereço virtual. Este endereço virtual é representado por um inteiro de 32 bits, e portanto, pode endereçar até 4GB, do endereço 0x00000000 até 0xffffffff. O endereço virtual é transmitido a uma unidade de paginação, que é responsável por associar o endereço virtual ao físico, representado por inteiros não negativos de 32 ou 36 bits. O endereço resultante é utilizado para acessar um dado presente na memória dos chips.
Através deste processo de acesso à memória, podemos perceber que o Linux utiliza um modelo de segmentação com paginação. Em sistemas com multiprocessadores, a memória é compartilhada entre todas as CPUs. Assim, para evitar que diferentes CPUs acessem a memóriao mesmo tempo, existe um circuito de hardware utilizado para a proteção da memória, conhecido como "Memory Arbiter", que é inserido entre o barramento e todo chip de memória, e possui a finalidade de garantir o acesso exclusivo à memória nas operações de leitura e escrita. Além do acesso exclusivo à região de memória compartilhada, o Linux dispõe de mecanismos para prevenir a invasão de processos no espaço do kernel.
O MacOs separa as partes od SO de memória que são dependentes da máquina daqueles que não são. Ao executar um programa, o Mac destina automaticamente um espaço específico de memória para o aplicativo, isolando-o. Quando um programa deixa de funcionar, os outros processos continuam em andamento.
O OS X precisa recorrer ao seu sistema de arquivos para recuperar o estado daqueles que estão em execução por mais tempo. A velocidade de leitura/escrita em RAM é muito mais veloz do que qualquer outro meio.
Quando o usuário precisa depender de leitura/escrita em disco, as suas atividades também serão comprometidas, pois o Mac está passando parte do seu tempo de execução tratando de paginação de memória.
Lentidão em operações no seu computador implica em maior tempo de execução para cuidar das suas tarefas, resultando, entre outros fatores, na degradação da sua autonomia de bateria.
É um sistema que depende muito menos de memória virtual em situações de maior exigência, sem perda de resposta. Como o Mac passa a depender menos de paginação de memória para o HDD ou SSD, aplicativos que fazem uso de leitura/escrita de dados podem operar com força total. Quando eles não estiverem em uso, o seu computador economiza energia, por não depender de disco para cuidar de tarefas de memória.
https://macmagazine.uol.com.br/2014/03/05/magia-ou-tecnologia-entenda-como-o-os-x-trabalha-no-gerenciamento-de-memoria-do-seu-mac/
https://www.trabalhosgratuitos.com/Exatas/Engenharia/Ger%C3%AAncia-De-Mem%C3%B3ria-Do-MAC-OS-X-607906.html
Processos:
No Linux, quando um processo é criado, isso não significa que ele será imediatamente executado. Determinados processos podem ser temporariamente paralisados para que o processador possa executar um processo prioritário. Isso quer dizer que os processos, em certos momentos, podem estar em situações de execução diferentes. O Linux trabalha, essencialmente, com quatro tipos estados:
Executável: o processo pode ser executado imediatamente;
Dormente: o processo precisa aguardar alguma coisa para ser executado. Só depois dessa "coisa" acontecer é que ele passar para o estado executável;
Zumbi: o processo é considerado "morto", mas, por alguma razão, ainda existe;
Parado: o processo está "congelado", ou seja, não pode ser executado
https://medium.com/@rafaelasouza_26759/diferen%C3%A7as-entre-os-sistemas-operacionais-windows-linux-e-macos-e3e47a4ba438
https://www.oficinadanet.com.br/post/12792-descubra-qual-o-melhor-sistema-operacional
http://www.infotecblog.com.br/2013/02/19/quais-as-diferencas-entre-windows-e-o-linux/
http://blogdoconcursopb.blogspot.com/2011/03/informatica-caracteristicas-basicas-do.html
https://www.vivaolinux.com.br/dica/Estado-dos-processos
Embarcados
A placa básica do Arduino é composta por um controlador Atmel AVR de 8 bits (algumas versões chegam a 32 bits), conexões digitais e analógicas e entrada USB para ligação simples e direta a computadores. Os projetos do Arduino são criados na linguagem C, que é compilada e executada pela própria placa, sem necessidade de sistema operacional. Como a plataforma trabalha diretamente com hardware, ela suporta e transmite uma corrente elétrica de até 40 mA. A placa possui memória RAM de 2 KB e consome 175 mW.
A placa do Rapsberry PI é um computador completo, com entrada para cabo de rede, áudio, vídeo e cartão microSD. O Raspberry Pi é, na verdade, um microprocessador ideal para desenvolvimento de software. A principal versão do minicomputador possui processador ARM Cortex-A7 quadcore de 900 MHz e 1 GB de memória RAM e suporta toda a gama de sistemas operacionais baseados em GNU/Linux e também com Windows 10. Sua capacidade de transmissão de corrente elétrica vai de 5 a 10 mA e seu consumo é de 750 mW.
O Arduino é um microcontrolador ideal para projetos com hardware. Como ele não possui sistema operacional e suporta uma grande carga elétrica, é a plataforma ideal para automação de casas, como abrir portas de garagem ou acender as luzes remotamente, ou projetos de robótica, para quem deseja explorar mais a fundo a capacidade do computador.
Já O Raspberry Pi possui um grande portfólio de invenções normalmente voltadas para o uso de softwares e com diversas linguagens de programação. O primeiro telescópio feito em uma impressora 3D é equipado com uma placa de Raspberry Pi e seu módulo de câmera é capaz de ampliar o tamanho dos objetos em até 160 vezes. É possível ter ótimas imagens da lua, ver outros planetas e galáxias distantes.
	O arduíno não possui um SO próprio, ele foi feito, basicamente, para ter o programa escrito diretamente no hardware usando a IDE Arduíno. Não há muitas informações sobre SOs que rodam no arduíno, mesmo em sites estrangeiros, a única fonte que fala de algum SO rodando no Arduíno é: http://antipastohw.blogspot.com/2009/11/4-operating-systems-for-arduino.html.
	Já o Raspberry PI suporta vários SOs, tendo características semelhantes com os sistemas para computador como multi processamento, multi threading, multi usuário, utilizando bibliotecas em python para implementar essa funções.
https://olhardigital.com.br/noticia/windows-10-ja-pode-ser-instalado-no-no-raspberry-pi/82784
https://www.techtudo.com.br/noticias/noticia/2015/04/arduino-ou-raspberry-pi-saiba-qual-micro-pc-e-melhor-para-seu-projeto.html
https://www.raspberrypi.org/forums/viewtopic.php?t=53439
https://www.raspberrypi.org/forums/viewtopic.php?t=193363
https://www.engineersgarage.com/embedded/raspberry-pi/multiuser-multitasking-raspberry-pi

Continue navegando