baixe um dos nossos 14 EBOOKs gratuitamente
Transcrição
baixe um dos nossos 14 EBOOKs gratuitamente
EBOOK Sistemas Operacionais João Ferreira ESCOLA TÉCNICA DO BRASIL – ETEBRAS Diretora-Presidente Maria Antonieta Alves Chiappetta Diretor Administrativo Financeiro Marco Antônio Rodrigues Diretor de Educação a Distância George Bento Catunda Secretária Escolar Maria Patrícia Farias Bastos Professor Autor João Ferreira da Silva Júnior Imagem da Capa https://www.atlantic.net/wpcontent/uploads/2013/11/SD-Atl-What-is-OperatingSystems-Management-PIC-11-20-13.jpg Sumário APRESENTAÇÃO ................................................................................................................................. 3 1. COMPREENDER CONHECER OS FUNDAMENTOS E RECURSOS DE UM SISTEMA OPERACIONAL PARA PC ............................................................................................................................................. 4 1.1. INTRODUÇÃO A COMPUTAÇÃO .......................................................................................... 4 1.2. HARDWARE E SEUS DISPOSITIVOS...................................................................................... 5 1.3. SOFTWARE .......................................................................................................................... 8 1.4. QUAL SISTEMA OPERACIONAL ESCOLHER? ...................................................................... 12 2. CONHECER OS FUNDAMENTOS E RECURSOS DE UM SISTEMA OPERACIONAL PARA DISPOSITIVOS MÓVEIS .................................................................................................................... 15 2.1. INTRODUÇÃO A SISTEMAS EMBARCADOS ....................................................................... 15 2.2. CLASSIFICAÇÕES DOS SISTEMAS EMBARCADOS............................................................... 15 2.3. TIPOS DE SISTEMAS OPERACIONAIS MÓVEIS ................................................................... 18 2.4. Virtualização ..................................................................................................................... 21 3. REFERÊNCIAS ............................................................................................................................... 25 APRESENTAÇÃO Seja muito bem-vindo (a) à disciplina de Sistemas Operacionais, onde veremos uma breve introdução sobre a ciência da computação, as diferenças entre software e hardware, a organização dos sistemas e mais detalhadamente os Sistemas Operacionais, de forma clara, objetiva, prática e interessante. Esta disciplina está dividida em duas competências. Na primeira abordaremos os conceitos e recursos de um sistema operacional para um computador pessoal (PC), mas se você está pensando que essa disciplina será repleta de conteúdo do século passado (por conta dos PCs), está muito enganado, porque a segunda competência está cheia de novidade, com os conceitos e recursos de um sistema operacional para dispositivos móveis, o que está “bombando”! Estimado (a) aluno (a), perceba que essa disciplina lhe será muito útil, tanto para a vida, quanto para o resto do curso. Em sua vida, como agente da área da tecnologia, terá que se adaptar a vários tipos e versões de sistemas operacionais. Já no âmbito do curso, será o momento de entender onde cada tipo de sistema está embutido dentro de seu computador e como se dá seu gerenciamento, ou seja, quem manda em quem. Conheceremos também uma nova forma de se estudar sistemas operacionais, que é através da instalação e configuração de vários SOs em uma só máquina. Você pode ter pensado: “-Tá professor, isso não é nenhuma novidade, em minha casa eu já uso o dual boot e tenho o Linux e o Windows em uma só máquina”, mas não é isso que estou falando, nós vamos utilizar o conceito de virtualização, e poderemos manipular em seu sistema operacional Windows um sistema operacional Android, por exemplo. Bom Curso 3 Manual do Aluno Sistemas Operacionais Competência 1 1. COMPREENDER CONHECER OS FUNDAMENTOS E RECURSOS DE UM SISTEMA OPERACIONAL PARA PC 1.1. INTRODUÇÃO A COMPUTAÇÃO Pessoal, com a evolução do homem, surgiu a necessidade de agilizar a forma de fazer cálculos, seja através de soma, multiplicação, limites, integrais, etc. De forma “bem grosseira”, os computadores modernos são máquinas capazes de resolver uma grande quantidade de operações matemáticas em um curto período de tempo. Como nosso espaço é curto, aqueles que quiserem saber mais sobre o a história da computação, podem acessar o seguinte link. Agora, vamos dar um salto sobre a história e evolução da computação e ver alguns conceitos básicos. Conceitos Básicos Os sistemas computacionais se subdividem em duas partes básicas: hardware e software que se completam (dizem que é o único casamento perfeito, porque um não funciona sem o outro). Hardware É a parte mecânica e física das máquinas, com seus componentes eletrônicos e peças. Software É a parte lógica dos sistemas computacionais. É um conjunto de procedimentos básicos que fazem com que o computador seja útil executando alguma função. Vamos fazer outra comparação, independente da sua religião, assuma que para existirmos precisamos de um espírito e um corpo, assim, seu espírito seria o software e seu corpo o hardware. Aí eu te pergunto qual a funcionalidade de um corpo sem espírito? Nenhuma! 4 Ebook ETEBRAS Só o hardware não serve de nada! É pura matéria. E o espírito necessita de um corpo para funcionar aqui na terra! Vejamos agora como se dividem e são classificados os hardwares e softwares, começando pelos hardwares. 1.2. HARDWARE E SEUS DISPOSITIVOS Em se tratando da parte física dos computadores, existe muito conteúdo disponível na internet, e em vários livros, mas esse não é o foco desse curso, onde vocês vão aprender a programar, de toda forma, vou passar a parte mais básica dos hardwares, por acreditar ser de conhecimento obrigatório a qualquer programador, ok? Os elementos que constituem o hardware de computador se subdividem em três categorias, de acordo com sua função dentro da máquina. Cada peça que você possa imaginar é classificada como de entrada, saída, armazenamento ou processamento. Então nesse momento, imagine uma peça de seu computador e veja se acerta sua classificação antes de ler o conteúdo seguinte, beleza? Bom... Se você sentiu um pouco de dificuldade para fazer essa tarefa é porque lhe falta o conceito de dado e informação. Dado é qualquer elemento ou valor que visto de forma isolada, não consegue te trazer um significado. Informação é um conjunto estruturado de dados, capaz de te trazer algum significado (informação pode ser compreendida como o processamento dos dados). Veja a Figura 1. Figura 1 – Dado, Processamento e Informação. Fonte: Próprio Autor 5 Manual do Aluno Sistemas Operacionais Para entendermos os próximos conceitos, imagine que um aluno, chamado Kevin, pressionou a tecla A no teclado de seu notebook e viu essa letra ser exibida em seu editor de textos, ok? Dispositivos de entrada Bom, aqui não tem mistério, como o próprio nome nos informa, dispositivos de entrada são aqueles pelos quais você consegue inserir dados no computador. Por exemplo: mouse, digitalizador de imagens (scanner), câmera de vídeo, microfone, etc. Se Kevin entrou com informações em seu computador, ele utilizou um dispositivo de entrada, o teclado, que envia uma mensagem ao computador, dizendo: “Alguém pressionou a tecla A!” Dispositivos de processamento Estes são os responsáveis por fazer o processamento dos dados enviados através dos dispositivos de entrada, como o processador. Como a letra A foi enviada pelo teclado ao processador, ele vai fazer seu processamento, que na verdade é a conversão dos sinais elétricos, cálculos, conversões e etc. Armazenamento Existem vários tipos, formas, funções, velocidades e modelos para os dispositivos de armazenamento, mas todos possuem basicamente a mesma tarefa que é simplesmente armazenar dados ou informação. Como exemplo temos os discos rígidos (hd), memória RAM, memória ROM, memória Flash, pen drives, cds, dvds, etc. 6 Ebook ETEBRAS A nossa cansada letra A, ainda segue seu percurso até que Kevin consiga visualizá-la, como o processador não consegue armazenar nada, ele guarda esse dado na memória RAM do notebook, achando que pode ser útil futuramente. Dispositivos de saída Finalmente, chegamos aos dispositivos de saída, responsáveis por exprimir os dados através de algum meio. Como exemplos de dispositivos de saída podemos citar: monitor, impressora, caixas de som, etc. Ufa... Finalmente chegou o responsável por exibir a letra A, o monitor! Agora, Kevin consegue ver o que digitou, pois a letra A foi pega na memória RAM e exibida no monitor. Bem amigos, essa é uma forma muitíssimo resumida de lhes explicar o que acontece pelo hardware quando uma simples tecla é pressionada, agora pare e pense na quantidade de tarefas que são executadas em uma videoconferência, com chat, captura e exibição de áudio e vídeo... É muita coisa! MULTIMÍDIA: Que tal assistir uma animação do a saga de um processador? Desafio você a identificar quais são os componentes de entrada e saída. 7 Manual do Aluno Sistemas Operacionais Figura 2 – Unidades de entrada, saída, processamento e armazenamento. Fonte: Próprio Autor A Figura 2 apresenta uma representação gráfica dos dispositivos de entrada, saída, processamento e armazenamento. Já descobriu quem é o responsável por gerenciar tudo isso e não permitir que vire uma bagunça? Não é o processador, tá? Já-já chegaremos ao responsável. Veremos um pouco mais de hardware na vídeo-aula, vamos agora aos softwares e como eles se organizam! 1.3. SOFTWARE De nada adiantaria termos os mais potentes hardwares sem os softwares para fazê-los funcionar. O software é algo imaterial, você não consegue tocá-lo (assim como seu espírito, lembra?), mas sem ele, o hardware é inútil. Veja na Figura 3 os três tipos de softwares: Figura 3 – Tipos de Software (básico, utilitário e aplicativo). Fonte: Próprio Autor ATENÇÃO: Não há um consenso entre os autores da área sobre essa divisão, uma minoria considera outras categorias. Sintamse livres para pesquisar quais são. 8 Ebook ETEBRAS Existem vários tipos de Sistemas Operacionais, alguns são responsáveis pela gerência de muitos usuários, outros controlam dispositivos de hardware como o forno micro-ondas de sua casa. Existem sistemas operacionais chamados Embarcados, que são construídos para pequenos dispositivos como aparelhos celulares, SmartPhones e PDAs, veremos mais detalhadamente este conteúdo na próxima competência. Componentes do Sistema Operacional O SO normalmente é armazenado no disco rígido, algumas partes ficam carregadas de forma permanente na memória do computador e outras são carregadas na memória temporária (RAM). Os SOs são implementados em módulos e cada módulo responsável por uma determinada função, veremos alguns módulos típicos de um SO. O Kernel O sistema operacional (em nível bem abstrato) possui duas partes principais, o kernel e o shell. Vamos a outro exemplo, para facilitar a compreensão, imagine uma célula, onde a parte principal está no núcleo (o DNA) que é protegido por uma membrana. Qualquer tentativa de acesso ao núcleo deve ser feito por intermédio da membrana. Nos SOs é exatamente assim, qualquer acesso ao kernel, é feito pelo shell, veja a Figura 4. 9 Manual do Aluno Sistemas Operacionais Figura 4 – Componentes do Sistema Operacional Fonte: Próprio Autor O kernel é composto por códigos que se comunicam com o hardware, gerenciam a memória e os dispositivos, mantém o clock do computador, inicializam aplicativos, gerenciam o compartilhamento de recursos, etc. Existe a opção de se manipular o núcleo do SO por intermédio de uma interface gráfica, entretanto esta interface gráfica é quem se comunicar com o kernel. O SO disponibiliza a cada usuário uma interface gráfica (uma tela) que aceita, interpreta, e então executa comandos ou programas do usuário. Essa interface é comumente chamada de shell ou interpretador de linha de comando. No caso do Windows o interpretador de comandos ou shell, está disponível em: Iniciar >> Todos os Programar >> Acessórios >> Prompt de Comando. Veja o Prompt de Comandos na Figura 5, logo abaixo, exemplos do uso do Prompt serão apresentados em nossa vídeo aula. Figura 5 – Prompt de Comandos do Windows Fonte: Próprio Autor 10 Ebook ETEBRAS Gerenciamento de Processos Dizem que as mulheres conseguem realizar muitas tarefas ao mesmo tempo, seria isso verdade? Bom, não tenho como saber, mas temos como classificar esse tipo de atitude, pois você já deve ter percebido que existem pessoas que recebem 3 tarefas e são capazes de realizá-las “ao mesmo” (de forma paralela) ao passo em que outras só passam para a segunda tarefa, quando concluem a primeira. Nos SOs isso também acontece, existem aqueles que realizam apenas uma tarefa de cada vez (chamados monotarefa) e outros capazes de realizar várias tarefas ao mesmo tempo (denominados multitarefa). Nobre aluno, você é enganado por alguns SOs multitarefas, pois eles te passam a impressão que são capazes de realmente realizar várias tarefas ao mesmo tempo, mas na realidade não são, o que acontece de fato é que cada processo (entenda processo como sinônimo de tarefa) possui um pequeno intervalo de tempo e há uma alternância entre esses processos tão rápida que você tem a ilusão que eles estão sendo executados ao mesmo tempo. ATENÇÃO: Imagine a situação onde você instala um aplicativo e assiste a um vídeo, será que esses dois processos estão sendo executado ao mesmo tempo pelo processador? Gerenciamento de Memória As memórias são de inteira responsabilidade do SO, assim, o SO tem acesso irrestrito às mesmas. Para a execução dos aplicativos, é necessário o uso das memórias, e o responsável por gerenciar esse acesso é o SO. Como as memórias RAM não são suficientes à quantidade de processos em execução, o SO usa outro artifício, chamado memória virtual, que é o uso de uma faixa do disco rígido, como se fosse memória RAM. Sobre o gerenciamento da memória, o SO é responsável por assegurar que cada processo tenha seu próprio espaço de endereçamento [1], ou seja, prover proteção da 11 Manual do Aluno Sistemas Operacionais memória para impedir que um processo utilize um endereço de memória que não lhe pertença, possibilitar que uma aplicação utilize mais memória do que a fisicamente existente (a chamada memória virtual ou memória swap). Gerenciamento do sistema de arquivos Os arquivos são armazenados em memórias do tipo não volátil, como um HD ou pendrive (aquelas que funcionam mesmo sem energia) e possuem um tamanho, tipo e formato específico do SO. O sistema de arquivos é uma estrutura que permite o gerenciamento e manipulação dos arquivos, como exclusão, leitura, criação, controle de acesso, etc. São exemplos de sistemas de arquivos: FAT32, NTFS e EXT3. 1.4. QUAL SISTEMA OPERACIONAL ESCOLHER? É tanta oferta de SO que você fica na duvida sobre qual escolher, não é verdade? Além disso, após a escolha, passam-se alguns anos e vem a necessidade de atualização para uma nova versão, pois queremos sempre o sistema mais moderno. Não há como solucionar esse problema, até os dias de hoje ainda é assim, continuamos tentando acompanhar a evolução dos SO. Uma pergunta interessante que você pode estar se fazendo agora é: Sim professor, mas qual sistema operacional eu devo escolher? Ora, caro aluno, aquele SO que vá de encontro as suas necessidades! Você precisa de um SO para usar em seu computador pessoal, ou precisa montar um servidor web? Tem dinheiro para comprar esse SO ou prefere utilizar um gratuito? Vou te mostrar algumas opções e você fica responsável por escolher, combinado? PESQUISA: A título de curiosidade, faça uma pesquisa na web sobre o preço atual da versão do seu Sistema Operacional e seu Pacote de Escritório. (Windows+Office ou Linux+libreOffice). 12 Ebook ETEBRAS Linux Linux é um termo utilizado para os SOs que utilizam o kernel Linux. Os SOs Linux possuem o código fonte aberto, ou seja, você que está lendo esse material agora, pode personalizar o kernel de seu Linux da forma que desejar. Outra grande vantagem do Linux é o fato de ser gratuito, você não precisa gastar nada para usar a maioria das distribuições Linux. Grandes empresas e instituições que necessitam adquirir muitos SOs, estão preferindo utilizar o Linux, por ser economicamente viável. O uso do Linux destaca-se principalmente em servidores de dados e web, certamente é a preferência na escolha das empresas dessa área. O Linux possui diversas distribuições, como Debian, Kurimin (brasileira), Ubuntu, etc, cada uma com sua especificidade. PESQUISA: Há muito que se falar sobre o Linux e certamente um parágrafo é insuficiente, então recomendo pesquisas na web sobre esse SO, você pode iniciar pela Wikipédia. Windows O que falar de um SO conhecido por todos? Bem, nunca conheci alguém da área de informática que jamais tenha utilizado o Windows, já conheci alguns que não gostam e preferem o Linux, mas com certeza conheciam o Windows. Resta-nos falar que o Windows é o SO mais utilizado no mundo, e contraditoriamente pago. Possui versões para usuários finais (assim como você) e para servidores (de arquivos, bancos de dados, etc). São exemplos de suas versões, Windows 8, Windows 7, Windows 2012 Server, etc. 13 Manual do Aluno Sistemas Operacionais PESQUISA: Existe muito conteúdo na web sobre o Windows, sua história, criação, versões, configurações, etc. Recomendo uma pesquisa sobre o SO e indico o início pela Wikipédia. Estimados alunos, em nossa vídeo aula faremos a demonstração na prática de recursos dos Sistemas Operacionais, pelo caderno seria muito espaço mal aproveitado, combinado? Para finalizarmos essa competência com “chave de ouro”, aceite a próxima recomendação! MULTIMÍDIA: Piratas do vale do Silício é um filme que retrata a época da criação dos sistemas operacionais da Microsoft e Apple. Recomendo que assistam. 14 Ebook ETEBRAS Competência 2 2. CONHECER OS FUNDAMENTOS E RECURSOS DE UM SISTEMA OPERACIONAL PARA DISPOSITIVOS MÓVEIS 2.1. INTRODUÇÃO A SISTEMAS EMBARCADOS Não é segredo para ninguém que estamos vivendo anos de muita evolução tecnológica em um curto período de tempo. Lembro que há 10 anos atrás poucos amigos possuíam celulares, e nas casas que frequentava percebia uma pequena quantidade de aparelhos com dispositivos eletrônicos embarcados, hoje em dia crianças com 5 anos ganham tablets como presentes de aniversário ou natal e vejo muitos equipamentos embarcados não apenas nas casas, mas sim espalhados por todos os lados. Como você pode imaginar, milhares de programas são desenvolvidos para os computadores pessoais, servidores e computadores de grande porte, mas o que você talvez não saiba é que um número muito maior (na casa dos bilhões) é desenvolvido anualmente para outros fins. Estes outros programas estão embutidos em equipamentos eletrônicos maiores e executam repetidamente a mesma função, de forma que o usuário do equipamento nem percebe que ali se encontra um sistema. 2.2. CLASSIFICAÇÕES DOS SISTEMAS EMBARCADOS É chegado o momento de entender como os softwares embarcados se classificam. De Micheli classifica os sistemas digitais em três classes: emulação e sistemas de prototipação, sistemas de computação de propósito geral e sistemas embarcados [2]. Sistemas de emulação e prototipação São sistemas baseados em tecnologias de hardware reprogramáveis. Imagine poder reconfigurar um determinado hardware, é um trabalho para poucos. Sistemas de computação de propósito geral Estes incluem computadores tradicionais abrangendo desde laptops até supercomputadores. Tais sistemas são caracterizados pelo fato de que usuários finais podem programar seu sistema. Diferentes aplicações são suportadas dependendo do tipo do software utilizado pelo usuário. 15 Manual do Aluno Sistemas Operacionais Sistemas Embarcados Um sistema embarcado ou embutido pode ser definido como: “um sistema computacional especializado que faz parte de uma máquina ou sistema maior” [3]. De acordo com Edna Barros, muitos equipamentos hoje em dia utilizam sistemas embarcados, como exemplo [4]: (a) produtos de consumo: telefones celulares, pagers, câmeras digitais, videocassete, vídeo games portáteis, calculadores, etc; (b) eletrodomésticos: forno de micro-ondas, secretárias eletrônicas, equipamentos de segurança, termostatos, máquinas de lavar e sistemas de iluminação; (c) automação de escritório: máquinas de fax, copiadoras, impressoras e scanners; (d) automóveis: controle de transmissão, injeção eletrônica, suspensão ativa, ABS. freio Características dos Sistemas Embarcados Pessoal, o firmware é o nome do software escrito para sistemas embarcados, que é armazenado em uma memória ROM ou memória flash, ao invés de em um disco rígido. Por vezes o sistema também é executado com recursos computacionais limitados: sem teclado, sem tela e com pouca memória. Edna Barros afirma que sistemas embarcados clássicos possuem algumas características em comum, vejamos algumas logo abaixo [4]: Funcionalidade única: Usualmente um sistema embarcado executa somente um programa repetidamente. Por exemplo, um pager é sempre um pager, enquanto que um computador pessoal pode executar uma variedade de programas; Restrições de projeto mais rígidas: Todos os sistemas de computação possuem em geral alguma restrição de projeto a ser satisfeita, como por exemplo, custo, tamanho, desempenho, potência dissipada, etc. Nos 16 Ebook ETEBRAS sistemas embarcados, no entanto, estas restrições são normalmente mais rígidas, por exemplo, o custo de um sistema não pode ser muito alto para não onerar o custo do equipamento, o tempo de resposta deve permitir em várias aplicações processamento em tempo real e devem dissipar pouca potência para permitir uma maior duração da bateria ou não necessitar de um sistema de refrigeração; Sistemas reativos de tempo real: Muitos sistemas embarcados devem reagir a mudanças no ambiente e devem fornecer resultados em tempo real. Por exemplo, um piloto automático continuamente monitora e reage a velocidade e aos sensores de freio. Ele deve computar a aceleração e desaceleração repetidamente num intervalo de tempo. Caso haja um retardo o controle do carro pode ser perdido. Sistemas como PDAs são geralmente considerados sistemas embarcados pela natureza de seu hardware, apesar de serem muito mais flexíveis em termos de software [5]. Figura 6 – Assistente Digital Pessoal (PDA) Fonte: http://chemicalsafety.gr/index.php/sample-page/ipad-and-pda/ Com a evolução natural dos hardwares dos PDAs, um gerenciamento mais robusto para executar suas tarefas também surgiu. Tornou-se uma necessidade dos anos atuais a capacidade de portabilidade dos equipamentos, quando se percebeu a quantidade de tempo ganho com essa estratégia. Caro aluno, se você fosse dono de uma empresa, preferiria oferecer a seu funcionário um computador pessoal, para que ele trabalhe apenas em sua empresa ou um dispositivo 17 Manual do Aluno Sistemas Operacionais portátil, como notebook, pois assim ele poderia trabalhar na empresa, em casa, durante viagens, nas férias, etc. Esse foi um dos pensamentos que impulsionou o mercado dos dispositivos móveis, iniciados com os PDAs. Aqui no Brasil, a primeira vez que vi um PDA foi na pesquisa do censo pelo IBGE, isso agilizou bastante a conclusão das tarefas do referido instituto, além de aumentar o detalhamento das informações. Hoje, como todos vocês percebem, a disseminação dos smartphones, tables, mobile PCs é enorme, todos pequenos e poderosos computadores portáteis e indispensáveis aos dias atuais, imagine sua vida sem eles, como seria? No início dos aplicativos para dispositivos móveis, seus SOs realizavam apenas uma função principal (fazer ligações entre seus usuários), hoje em dia através dos SOs é possível uma comunicação colaborativa, comunicação via satélite, utilizar redes locais sem fio, acesso a contas de e-mail, manipulação de imagens, acesso a redes sociais, etc. Quase todas as operações feitas anteriormente apenas por SOs de PCs, podem ser realizadas na palma de sua mão, em qualquer lugar e a qualquer hora. 2.3. TIPOS DE SISTEMAS OPERACIONAIS MÓVEIS As grandes empresas da área de tecnologia, como Nokia, Google, Apple, Microsoft, Samsung, Intel e outras, viram nesse ramo de dispositivos móveis uma grande oportunidade, então cada uma resolveu desenvolver seu próprio SO. PESQUISA: Leia aqui um artigo científico que faz análise e avaliação de sistemas operacionais móveis [6]. Aproveitem a ótima oportunidade de iniciação ao mundo acadêmico. Assim como os SOs para PCs os dos dispositivos móveis são variados e para todos os gostos, veremos alguns a partir de agora: 18 Ebook ETEBRAS Symbian Este SO móvel e sua plataforma de computação foram projetados para smartphones como fruto de uma parceria entre Ericsson, Nokia, Motorola e PSION em 1998. Uma década após o início dessa parceria a Nokia comprou todas as ações dos demais colaboradores, entretanto alguns anos depois anunciou a descontinuação do Symbian. MULTIMÍDIA: Você pode ler um pouco mais sobre o Symbian na Wikipédia. Veja também este vídeo sobre o lançamento do Symbian 3, feito em 2010, Como o tempo voa... Windows Phone Você acha que a Microsoft ficaria de fora de uma fatia tão lucrativa do mercado tecnológico? Claro que não! Seu SO para dispositivos móveis é muito bom, além de ter sido projetado para executar boa parte do que é possível com os Pcs. Essa versão do Windows Phone veio em substituição ao Windows Mobile, entretanto nenhum aplicativo que executava no Mobile executa no Phone, assim, alguns usuários acabaram por preferir seus concorrentes (Android e iOS), devido a limitação de aplicativos disponíveis para a versão Phone em seu início. Hoje em dia isso não existe mais, mas quando você se apega a determinado SO, como Android e iOS é difícil migrar, o normal é querer continuar usando o mesmo. MULTIMÍDIA: Você encontra mais informação sobre o Windows Phone na Wikipédia ou na página da Microsoft. Veja também este vídeo com uma demonstração do Windows Phone 8.1. iOS (iPhone OS) Este SO foi desenvolvido pela Apple originalmente para o iPhone, também é usado em iPod touch, iPad e Apple TV. Os sistemas operacionais da Apple só são executados em 19 Manual do Aluno Sistemas Operacionais seus próprios hardwares. Este foi o SO pioneiro no uso da tecnologia de toques múltiplos, de inclinação e multimídia (Assim como muita coisa criada por Steve Jobs, por falar nisso, você já assistiu ao filme indicado do final da primeira competência? Com o filme você verá e entenderá muitas conexões entre HP, Microsoft, Apple, etc). MULTIMÍDIA: Leia na própria página da Apple sobre o iOS. Veja também este vídeo com uma rápida demonstração do uso do Windows Phone 8.1. Android Este SO é desenvolvido por um grupo de 34 empresas, lideradas pelo Google e possui o código fonte aberto para você, que será programador, caso se interesse por esta área de dispositivos móveis (em alta nos últimos anos, recomendo). PESQUISA: Pesquise na web o preço de venda do whatsapp, quem comprou e o motivo. Espero que este exemplo te motive a desenvolver para dispositivos móveis. O Android é baseado no núcleo do Linux e possui uma agradável capacidade de modificação e adaptação, além de um baixo custo, o que o torna uma excelente escolha para aparelhos mais caros. MULTIMÍDIA: Veja mais informações como sua última versão (kit-kat 4.4), aplicativos, blog, recursos para desenvolvedores e muito mais na própria página do Android. 20 Ebook ETEBRAS O Android é o SO para aparelhos móveis mais customizado do mundo e veremos um pouco de prática com o Android em nossa vídeo aula, antes, é importante que vocês conheçam o conceito de virtualização, então vamos lá! 2.4. Virtualização Acredito que se esta for a primeira vez que você está ouvindo este termo na área de informática, não sabe que já usou muitos recursos virtualizados. Quando falo em virtualização, penso que de imediato você esteja traçando algum paralelo em sua mente sobre o real e o virtual. Se você pensou assim, está absolutamente certo! Quando pensamos em algo real, nos vêm à mente algo tocável, físico, concreto, estou certo? Já quando se imagina algo virtual, é exatamente o oposto, algo que não é tocável, logo não é físico nem concreto, ou seja, é algo abstrato ou simulado. Com a conexão desses conceitos que você já sabia antes de ler esse material, pois são naturais ao ser humano, você pode concluir que a criação de algum ambiente virtual é a simulação de algum outro ambiente real. Caro aluno, você está mais uma vez absolutamente certo! Podemos chamar o SO instalado no hardware físico de sistema hospedeiro, pois é aquele que hospedará os SOs nas máquinas virtuais, que podemos chamar de hóspedes. Quando esses dois existem na mesma máquina (hospedeiro e hóspede), podemos dizer que ocorre uma virtualização [7]. Perceba que se você usa um determinado SO hospedeiro e pretende criar uma máquina virtual para o hóspede, é necessário uma ISO (ou cd/dvd de instalação) do hóspede, ok? Veja na Figura 7, uma descrição da organização de um SO hospedeiro com 4 hóspedes. 21 Manual do Aluno Sistemas Operacionais Figura 7 – Arquitetura da Virtualização Fonte: Adaptada pelo autor de http://www.vmware.com/ Tipos de Virtualização Virtualização de Hardware: esta consiste em rodar vários sistemas operacionais na mesma máquina. Isso é possível com o uso de programas específicos, que geram máquinas virtuais que emulam os componentes físicos de um PC, possibilitando que um sistema operacional diferente seja instalado em cada uma delas [8]. Virtualização de Apresentação: trata-se do acesso a um ambiente computacional sem a necessidade de estar em contato físico com ele. Isso propicia, entre outras coisas, a utilização de um sistema operacional completo (bem como de seus aplicativos) de qualquer local do planeta, como se estivessem instalados no seu PC [8]. Virtualização de Aplicativos: Esta virtualização existe para resolver o problema de conflitos entre aplicativos distintos, por exemplo, quando dois aplicativos necessitam de DLLs diferentes para executar. Esta técnica de virtualização consiste em ter uma única cópia de determinado aplicativo instalada em um servidor virtual, assim, usuários que desejarem ter acesso a tal aplicativo podem fazê-lo diretamente, sem a necessidade que ele também esteja instalado na máquina física [8]. 22 Ebook ETEBRAS Ferramentas de Virtualização Como era de se esperar, não existe apenas uma solução para este tipo de estratégia, no mercado de hoje as mais famosas são o Xen, Microsoft, VirtualBox e VMware. Em nossa vídeo aula trabalharemos com uma dessas ferramentas de virtualização. Vejamos alguns detalhes do VirtualBox e Vmware. VirtualBox Este software de virtualização é atualmente mantido pela Oracle, e visa criar ambientes virtuais para instalação de diferentes sistemas. Com o VirtualBox é possível instalar um Linux “dentro” do Windows, e vice-versa, utilizando o mesmo hardware. É um de meus virtualizadores favoritos, entretanto em sua última versão tive problemas de compatibilidade de rede com a máquina hospedeira. PESQUISA: Você pode fazer o download do VirtualBox em sua página oficial. Caso tenha dificuldade na instalação, procure por vídeos no youtube. VMware O VMware carrega o nome de sua empresa, que é especializada em virtualização. Possui várias versões de ferramentas para virtualização, cada uma, direcionada a determinado público-alvo e um fim específico, como desenvolvedores, empresas, computação em nuvem, etc. A versão que recomendo para nosso curso é a Player, gratuita e de uso bem intuitivo. Na Figura 8, exibo esta versão do VMware, seguido de duas máquinas virtuais instaladas nele, o Android 4.1 e 4.3. 23 Manual do Aluno Sistemas Operacionais Figura 8 – Vmware com dois SOs móveis virtualizados Fonte: Próprio Autor Faça o download da ISO do Andoid 4.3 e instale no VMware Player em sua máquina pessoal, caso encontre alguma dificuldade, aguarde pela vídeo aula desta competência, onde pretendo lhes apresentar esta instalação. Pessoal, chegamos ao fim desta disciplina, espero que tenham compreendido um pouco mais sobre os sistemas operacionais e percebido que a utilização de máquinas virtuais é uma “mão na roda” para programadores, pois vocês podem usar vários SOs diferentes para testar suas aplicações, independentemente se desenvolvem para web, computadores de mesa ou dispositivos móveis. 24 Ebook ETEBRAS 3. REFERÊNCIAS [ 1 ] - Tanembaum, Andrew S.; Sistemas Operacionais Modernos, Prentice Hall Brasil, 2ª Edição, 2003. ISBN 8587918575. [ 2 ] - DeMicheli, G. "Hardware/software co-design: application domains and design technologies". In: G. DeMicheli, and M. Sami (eds.), Hardware/software co-design. Dordrecht: Kluwer Academic Publishers, 1996, pp. 1-28. [ 3 ] – Webopedia: Online Tech Dictionary for IT Professionals, acessado em 26 mai. 2014, disponível em www.webopedia.com. [ 4 ] – Barros, E., Cavalcante, S., Introdução aos Sistemas Embarcados, Grupo de Engenharia da Computação (GRECO), Centro de Informática, UFPE, acessado em 25 de mai. 2014, disponível em: http://www.cin.ufpe.br/~vba/ periodos/8th/s.e/aulas/STP%20%20Intro%20Sist%20Embarcados.pdf. [ 5 ] - Wikipédia: a enciclopédia livre, acessado de 13 fev. 2014 a 25 mai. 2014, disponível em: http://pt.wikipedia.org. [ 6 ] - Pires, Jefferson F., Ledel, Leandro C.. Padrões de Projeto em Plataforma Móveis Costa, Norben P. O., Duarte, Nemésio F., Filho, Análise e Avaliação Funcional de Sistemas Operacionais Móveis: Vantagens e Desvantagens. Salvador: 2013 [ 7 ] – Amaral, F. E., O que é virtualização, Tecmundo, hardware, acessado em 15 de mai. 2014, disponível em: http://www.tecmundo.com.br/web/1624-o-que-e-virtualizacao-.htm [ 8 ] – Alecrim, E., O que é virtualização e para que serve?, INFOwester, software, acessado em 06 de mai. 2014, disponível em: http://www.infowester.com/virtualizacao.php 25 Manual do Aluno Sistemas Operacionais