Adriel: Prova AVI - SO FAZAG 2010.2

From AdonaiMedrado.Pro.Br
Revision as of 15:58, 8 October 2010 by Adriel fazag (Talk | contribs) (Referências)

Jump to: navigation, search

Questão 1

Um Sistema operacional é, de modo simplificado, um gerenciador de recursos. Por exemplo, ele é o responsável por gerenciar dispositivos E/S, gerenciar a memoria (tanto física como virtual), gerenciar os arquivos, além de outras funções vitais para o funcionamento do sistema.

Um exemplo de SO seria o Android da Google. Ele é baseado em Linux e permite aos desenvolvedores escreverem softwares na linguagem Java, controlando o dispositivo via bibliotecas desenvolvidas pela própria Google.

Mesmo sendo apenas suportado por certos dispositivos móveis ele possui todas as características de um SO. De certa forma ele possui certas limitações, por exemplo, apenas são suportados os seguintes formatos de áudio e vídeo: MPEG-4, H.264, MP3 e AAC. Mais em compensação é evoluído em certos pontos como: suporte a Touch Screen, GPS, acelerómetros, aceleradores gráficos 3D e Wi-Fi.

Segundo Branscombe ([2010?]), a versão 2.2 do Android é 5 vezes mais rápida rodando aplicativos e 3 vezes mais rápida para navegação (pelo fato de possuir a Engine JavaScript V8, a mesma utilizada no navegador Chrome). Além disso, a nova versão também oferece suporte a HTML5 e Flash.

Referências

WAP, Universo. Android – Conheça um pouco mais esta plataforma. Disponível em: <http://www.universowap.com.br/smartphones/android-conheca-um-pouco-mais-esta-plataforma/>. Acesso em: 01 set. 2010.

BRANSCOMBE, Mary. Android 2.2 features: more HTML5, fastest mobile browser. [2010?]. Disponível em: <http://www.techradar.com/news/phone-and-communications/mobile-phones/android-2-2-features-more-html5-fastest-mobile-browser-691051>. Acesso em: 1 set. 2010.

WIKIPÉDIA. Android. Disponível em: <http://pt.wikipedia.org/wiki/Android>. Acesso em: 1 set. 2010.

Questão 2

Mesmo sendo um sistema operacional para dispositivos móveis, o Android possui características muito interessantes quando falamos de gerenciamento de processos. Ele permite que vários aplicativos sejam executados ao mesmo tempo (multitarefa), cada um rodando seu próprio processo, também permite o compartilhamento de um mesmo processo entre diversos aplicativos e o uso de vários processos para um único aplicativo. O Android também permite que processos de determinados aplicativos continuem em execução, mesmo que não estejam sendo utilizados naquele momento, ele decide quando é melhor manter estes processos em execução caso haja a necessidade de utilizá-lo mais a frente (função bem parecida com as memórias cache).

Escolhas como esta, de manter ou não um processo em execução, são extremamente importantes quando falamos de dispositivos móveis que, na grande maioria das vezes possuem uma quantidade de memória limitada e quando usadas da forma errada podem ocasionar em diversos problemas. Para isso existe o LifeCycle, que consiste em regras que definem a importância de cada processo, determinando assim, aqueles processos que devem continuar em execução e aqueles que devem ser interrompidos. Para que essas medidas sejam tomadas o Android determina uma hierarquia, de 5 níveis, para cada processo. Sendo assim, os processos de menor importância são eliminados primeiros, em seguida os que estão um nível depois deles também são, e assim vai. Os 5 níveis de hierarquia são:

  1. Processo de primeiro plano (Foreground): São determinados processos que estão sendo utilizados pelo usuário naquele determinado momento, sendo o tipo mais importante na hierarquia.
  2. Processo visível: São processos que mesmo não estando em primeiro plano podem afetar o que o usuário vê na tela.
  3. Processo de serviço: Estes processos não estão diretamente relacionados ao que o usuário vê, mas sim a coisas que ele já iniciou previamente (por exemplo, um MP3 Player rodando em background).
  4. Processo de plano de fundo (Background): Estes processos geralmente podem ser finalizados a qualquer momento, sem que afete diretamente o usuário.
  5. Processo vazio: Estes processos são os que não possuem nenhum componente ativo, eles apenas continuam sendo executados para que sua próxima inicialização ocorra de forma mais rápida. Estes são os processos que mais são finalizados, pois, consomem demasiada memória mesmo não sendo necessários naquele momento.

Atualmente na versão 2.2 o Android não oferece, nativamente, aplicativos que permitam ao usuário gerenciar os processos, isso é algo que provavelmente mudará a partir da versão 3.0.

Ele carece das seguintes funcionalidades:

  • O que pode ou não ser executado ao iniciar o sistema
  • Aplicativo que permita ao usuário administrar os processos

Referências

BRAY, Tim. Multitasking the Android Way. Disponível em: <http://android-developers.blogspot.com/2010/04/multitasking-android-way.html>. Acesso em: 22 ago. 2010.

BURNETTE, Ed. How Android works: The big picture. Disponível em: <http://www.zdnet.com/blog/burnette/how-android-works-the-big-picture/515>. Acesso em: 22 ago. 2010.

Questão 3

No Android existem 2 formas para se administrar a memória virtual:

  • 1 - Pelo terminal: Essa é a maneira "tradicional" de se alterar a memória swap no Linux. Primeiro realiza-se um calculo para saber quanto de memória o usuário deseja inserir, por exemplo, para adicionar 50MB basta multiplicar 50*1024, para converter em KBites e em seguida digitar o seguinte comando:
   su -
   dd if=/dev/zero of=/sdcard/swap bs=1024 count=51200

Depois:

   mkswap /sdcard/swap

E por último, para checar se deu tudo certo:

   swapon /sdcard/swap
   free
su: acessar como super usuário
dd: duplica determinado arquivo/hd/partição
bs: tamanho do bloco a ser criado
count: multiplicador (1024x51200 = 52428800 KBites)
mkswap: cria uma área swap no local informado
swapon: ativa o swap que foi criado
free: "...mostra com exatidão a memória física e swap ocupadas e quanto de memória está sendo destinada ao cache de disco."(MORIMOTO, 2002)
  • 2 - Atraves de aplicativos: Aplicativos como o Swapper 2 e DroidSwap permitem o gerenciamento da memória virtual por parte do usuário. Eles permitem, de forma simples e intuitiva, a criação de partições swap dentro dos cartões SD.

Referências

ANDROLIB. DroidSwap (For Root-Users). Disponível em: <http://www.androlib.com/android.application.com-droidheaven-droidswap-qBFw.aspx>. Acesso em: 1 set. 2010.

ANDROLIB. Swapper 2 (for Root users). Disponível em: <http://www.androlib.com/android.application.lv-n3o-swapper2-EADD.aspx>. Acesso em: 1 set. 2010.

BEEJAN, Gul­shan. Android: Adding swap space. Disponível em: <http://gulshan.beejan.com/index.php/2010/05/21/android-adding-swap-space/>. Acesso em: 1 set. 2010.

Questão 4

Referências

Questão 5

"A fragmentação ocorre quando arquivos do disco rígido são constantemente modificados, fazendo com que eles sejam armazenados "em pedaços" (fragmentos), fazendo com que a leitura e gravação dos mesmos seja muito mais lenta do que se ele estivesse armazenado em um único pedaço"(BABOO).

Partindo desta ideia é possivel entender o papel da desfragmentação. Ela constiste em reordenar os dados do HD, juntando todos estes "pedaços", que estão espalhados em diferentes setores, em um unico lugar.

Quando os dados estão fragmentados, é necessário uma busca mais intensa no HD, pois não se sabe ao certo aonde encontrar todas as informações de determinado aplicativo, por exemplo. Após a desfragmentação estes dados, que antes estavam dividos, passam a compartilhar os mesmos setores, desta forma é muito mais rápido encontrar aquilo que o HD esta procurando.

"Todos os sistemas de arquivo fragmentam. Isso é inerente. Alguns fragmentam mais, outros menos, dependendo de condições ambientais (porcentagem de ocupação do disco, tamanho médio dos arquivos, tipo de utilização - arquivos de log são concatenados, arquivos de texto são alterados, etc.)"(SHIMABUKO, 2007).

No Windows, os dados são armazenados de forma sequencial, desta forma quando os mesmos são alterados surje a necessidade de alocar estes novos dados em diferentes setores do HD, isto acaba afetando drasticamente a performance, tanto da escrita como da leitura, do disco.

Já no Linux os dados são distribuídos pelo disco, desta forma eles tem "espaço sobrando" para adicionar novos dados futuramente, sem que haja fragmentação dos mesmos.

No caso do Android, pelo fato de ser baseado em Linux, a necessidade de desfragmentar o disco é quase zero, uma vez que os dados são organizados de uma forma mais "inteligente".

Referências

JORDÃO, Fabio. Desfragmentação de disco: por que fazer e como ocorre?. Disponível em: <http://www.baixaki.com.br/info/1913-desfragmentacao-de-disco-por-que-fazer-e-como-ocorre-.htm>. Acesso em: 8 out. 2010.

SILVA, Elaine. Guia completo sobre desfragmentação de disco. Disponível em: <http://www.baixaki.com.br/info/730-guia-completo-sobre-desfragmentacao-de-disco.htm>. Acesso em: 8 out. 2010.

SHIMABUKO, Angelo. Como saber a quantas anda a fragmentação do disco?. Disponível em: <http://www.guiadohardware.net/comunidade/quantas-anda/727555/#post2896480>. Acesso em: 8 out. 2010.

BABOO. Tudo sobre desfragmentação de discos. Disponível em: <http://www.baboo.com.br/conteudo/modelos/Tudo-sobre-desfragmentacao-de-discos_a9354_z0.aspx>. Acesso em: 8 out. 2010.

MARTINS, Carlos. Desfragmentação em Linux? Não Obrigado. Disponível em: <http://abertoatedemadrugada.com/2008/03/desfragmentacao-em-linux-nao-obrigado.html>. Acesso em: 8 out. 2010.

Comentários do Professor

  • 02/09/2010
    • Explique cada comando utilizado na questão 3. O que faz o dd? o su? O mkswap? O swapon? o free?
    • Há (várias) referências que foram listadas na lista de referências, porém não foram citadas.
    • A citação deve ser conforme ABNT.
    • Você precisa referenciar algumas informações da sua questão. Por exemplo, quem você utilizou para construir a definição de SO?
  • 16/08/2010
    • É importante você colocar as referências no seu texto. Ou seja, de onde você retirou estas informações? Onde pesquisou? Veja exemplo de como fazer no quadro da página 47 (24 do PDF) de MENDONÇA, Gismália Marcelino. Manual de normalização para apresentação de trabalhos acadêmicos. Salvador: Unifacs, 2009. Disponível em <http://www.unifacs.br/upload/biblioteca/ManualdeNormalizacao.pdf>. Acesso em 16 de ago. de 2010.
    • Você não precisa usar br no wiki, basta colocar uma linha em branco para fazer a quebra de linha.
    • Em "[...] as características de um SO mais também [...]" há um erro de português.
  • 24/08/2010