Sistemas Operacionais , Notas de aula de Sistemas Operacionais. Universidade Federal do Rio Grande do Norte (UFRN)
m_douglas1607
m_douglas1607

Sistemas Operacionais , Notas de aula de Sistemas Operacionais. Universidade Federal do Rio Grande do Norte (UFRN)

21 páginas
1Números de download
40Número de visitas
Descrição
Material sobre Sistemas Operacionais
20 pontos
Pontos de download necessários para baixar
este documento
Baixar o documento
Pré-visualização3 páginas / 21
Esta é apenas uma pré-visualização
3 mostrados em 21 páginas
Baixar o documento
Esta é apenas uma pré-visualização
3 mostrados em 21 páginas
Baixar o documento
Esta é apenas uma pré-visualização
3 mostrados em 21 páginas
Baixar o documento
Esta é apenas uma pré-visualização
3 mostrados em 21 páginas
Baixar o documento

Material Didático do Instituto Metrópole Digital - IMD

Versão 2.0 - Todos os Direitos reservados

Sistemas Operacionais Aula 13 - Sistemas operacionais não

convencionais

Apresentação

Apresentação

Durante a nossa jornada nesta disciplina, discutimos os principais mecanismos e estruturas que são utilizados pela maioria dos projetos de sistemas operacionais. Nesta aula, trataremos de alguns sistemas operacionais que foram projetados para serem utilizados por diferentes tipos de dispositivos, como celulares, por exemplo.

Objetivos

Identificar algumas estruturas de sistemas operacionais que servem para gerenciar equipamentos eletrônicos bem diferentes de um simples computador;

Definir o conceito de Sistemas Operacionais embarcados;

Identificar as características de um sistema de tempo real;

Entender o papel dos sistemas distribuídos para determinadas aplicações.

O que é um sistema operacional não convencional?

Agora, você já sabe que os sistemas operacionais são os responsáveis por facilitar o uso das funcionalidades do seu computador. Dessa forma, hoje qualquer PC ou laptop que você compre normalmente já vem com o Windows ou LINUX instalado. Como vimos, o Sistema Operacional (SO) é o primeiro programa a ser executado quando ligamos o computador.

Recentemente, surgiram sistemas operacionais para diversos dispositivos eletrônicos que possuem “pequenos computadores” embutidos. Se você gosta de investigar os dispositivos eletrônicos que usamos no dia a dia, vai perceber que existem sistemas operacionais nesses dispositivos como, por exemplo, nos celulares. Os processadores utilizados nesses pequenos dispositivos se tornaram tão poderosos que hoje eles são capazes de executar um sistema operacional e um conjunto de aplicativos, como jogos e aplicações para captura de vídeo (quando os celulares possuem uma câmera embutida). Um computador de um celular moderno é mais poderoso do que um PC lançado há 20 anos.

Esses sistemas operacionais que executam embarcados (Embarcado, no sentido original da palavra, é algo que faz parte de um produto maior, executando uma função específica.) em diversos dispositivos são denominados de não convencionais. O objetivo desses sistemas operacionais específicos é o mesmo dos sistemas operacionais comuns: organizar e controlar o hardware e o software para que o dispositivo funcione de maneira previsível. Nesta aula, vamos falar um pouco para você sobre esses sistemas operacionais, apresentando alguns exemplos que existem ao seu redor.

Atividade 01

1. Liste os equipamentos eletrônicos de sua casa que você acredita ter um sistema operacional instalado. Para cada equipamento listado, procure identificar funções incorporadas no respectivo sistema operacional.

Sistemas operacionais embarcados (ou

Sistemas operacionais embarcados (ou embutidos)

 Vídeo 01 - Sistemas Embarcados e Distribuídos

Um sistema operacional é dito embarcado ou embutido (em inglês, embedded) quando é construído para operar sobre um hardware com poucos recursos de processamento, armazenamento e energia. Aplicações típicas desse tipo de sistema aparecem em telefones celulares, controladores industriais e automotivos, equipamentos eletrônicos de uso doméstico como, por exemplo, leitores de DVD, TVs, fornos microondas, centrais de alarme, etc. (Figura 1). Muitas vezes um sistema operacional embutido apresenta-se na forma de uma biblioteca de funcionalidades.

Figura 1 - Exemplos de dispositivos que possuem sistemas operacionais embarcados.

Fonte: http://icdn9.digitaltrends.com/image/galaxy-s7-and-s7-edge-together-in-hand- 2-1500x1000.jpg Acesso em: 17 abr. 2017.

PDA’s e celulares

Da necessidade de construir computadores de tamanho tão pequeno que coubessem no bolso, sendo levados a qualquer lugar para cumprir funções básicas de agenda e tarefas de escritório, surgiram os PDAs (Personal Digital Assistants, em português, “assistente pessoal digital”).

Apesar de ser um equipamento pequeno, com recursos de memória RAM e armazenamento reduzidos, esses aparelhos precisavam de um sistema operacional para gerenciar todas as suas aplicações, tal como em um computador convencional. O primeiro sistema a ficar famoso a tal ponto de seu nome estar associado aos PDAs foi o sistema operacional da Palm, o Palm OS.

O Palm OS começou como um sistema muito simples destinado a oferecer funções de assistente pessoal, utilizando pouca capacidade de processamento e pouca memória RAM. Essa característica acabou sendo fundamental para o sucesso da plataforma, já que os aparelhos podiam ser simples, leves e baratos. Para ter uma idéia, o aparelho Palm original (batizado de Pilot 1000, ver Figura 2) utilizava um processador Motorola Dragon Ball de apenas 16 MHz, combinado com 128 KB de memória e uma tela monocromática de 160x160 pixels:

Apesar das limitações, o sistema era surpreendentemente rápido e eficiente. Embora fosse monotarefa, o chaveamento entre os programas era bastante transparente, o que criava uma impressão de simplicidade e confiabilidade.

Com a evolução dos PDA’s houve um aumento da capacidade da memória e armazenamento e novos recursos foram incorporados, tais como câmeras digitais e até a integração com celulares. Em consequência, o Palm OS foi perdendo espaço para outros sistemas operacionais que evoluíram junto com o hardware.

A integração dos PDA’s com os celulares deu origem aos smartphones. Hoje em dia um fabricante dificilmente irá desenvolver um simples PDA, pois até mesmo os celulares estão aos poucos se tornando verdadeiros computadores de bolso. A junção dos celulares com os computadores de

Figura 2 - Palm Pilot 1000 Fonte: <http://mrwriteon.files.wordpress.com/2010/01/palm-pilot.jpg> Acesso em:

11 out. 2011.

bolso tem unido os fabricantes destas duas indústrias no desenvolvimento de produtos que proporcionem a melhor experiência de uso para os usuários.

A Microsoft, a gigante da computação, iniciou neste mercado com o sistema operacional Windows CE. Depois evoluiu para o Pocket PC e o Windows Phone. Estes sistemas tinham a filosofia de levar a experiência do usuário de PC para a palma da mão, copiando os recursos do Windows, como Menu Iniciar, teclado similar ao do PC, Gerenciador de Arquivos, entre outros. Para os usuários normais de celulares, não acostumados com estes recursos, esta estratégia da Microsoft não foi muito bem aceita. O Windows 8 para smatphones resolveu este problema, deixando a interface sensível a toque mais intuitiva e amigável.

A Apple entrou neste mercado em 2007, quando lançou o iPhone com o sistema operacional iOS. Esse sistema roda uma versão reduzida do MacOS X (Sistema Operacional dos computadores Macintosh da Apple), adaptada para rodar dentro das limitações de memória e processamento dos aparelhos. Apesar de existirem muitas diferenças com relação à interface e no suporte a aplicativos, o núcleo do sistema (kernel) e outros componentes básicos são os mesmos. O sucesso do iPhone e do iOS foram basicamente por eles terem trazido uma experiência de uso para os celulares bastante rica, como: teclado virtual (em tela) que se adapta ao tipo de entrada de dados, sensibilidade para perceber múltiplos toques na tela e facilidade para aquisição de aplicativos e mídias (músicas e vídeos), entre outros recursos inovadores.

O sistema operacional para smartphone mais popular do mercado atualmente é o Android OS. A logomarca do Android é a apresentada na Figura 3. Esse sistema é desenvolvido pela empresa Google em aliança com diversos fabricantes, como HTC, Dell, Samsung e LG, dentre outros, formando a Open Handset Alliance (OHA). O Android é um sistema operacional que possui um núcleo (kernel) em Linux. Diferentemente do iOS da Apple, que só é comercializado em cima do iPhone, o Android é vendido com qualquer smartphone dos fabricantes da OHA.

Figura 3 - Logomarca do Android OS Fonte: <http://www.undergoogle.com/blog/2009/destaques/visao-geral-sobre-

realidade-aumentada-no-android.html> Acesso em: 11 out. 2011.

O Ipad da Apple

A tecnologia sempre está evoluindo e novos produtos com sistemas embarcados vão surgindo diariamente. Depois dos PDA’s e smartphones, surgiram os leitores de livros digitais, como o Kindle do site de compras de livros Amazon.com. Em 2010, a Apple lançou mais um produto que introduziu um novo padrão de dispositivo pessoal, o tablet, chamando-o de iPad. Na Figura 4, a foto do Steve Jobs, fundador da Apple que faleceu em 2011, no evento de lançamento segurando o tablet, uma das suas grandes criações.

O iPad usa o mesmo sistema operacional do iPhone, o iOS, e é considerado como um equipamento intermediário entre um smartphone e um notebook. O tablet é considerado como o computador Pós-PC e é o principal dispositivo pessoal da terceira geração da computação, a Computação em Nuvem (Internet). Além de leitor de livros digitais, ele permite navegação fácil na Internet, utilizar aplicativos de escritório e até mesmo prover uma excelente plataforma para games. Após o iPad, os outros fabricantes lançaram as versões tablet do Android.

Limitações dos dispositivos portáteis

Devemos destacar que tais dispositivos, apesar de serem bem mais avançados que os antigos computadores, ainda possuem capacidades limitadas. Para se ter uma ideia, os modelos mais novos de smartphones possuem memória RAM em torno de 3GB (gigabytes) e geralmente podem armazenar até 128GB de dados atuais, geralmente com 8GB de memória e HD de 1TB (tera bytes, que equivale a 1024GB). Os números não são tão modestos se comparados aos dos computadores

Figura 4 - Steve Jobs apresentando o iPad Fonte: <http://frasesdavida.files.wordpress.com/2010/04/steve-jobs-e-o-ipad.jpg>

Acesso em: 11 out. 2011.

Então, um grande problema desses aparelhos, comparados com os computadores convencionais atuais, é a pouca memória RAM, o que limita o número de aplicativos que você pode manter abertos simultaneamente. Por exemplo, poderão existir situações em que você precisará fechar alguns programas antes de carregar outros, e, com isso, pode tornar-se frequente o recebimento de mensagens informando que a memória está cheia, obrigando o usuário a fechar alguns aplicativos antes de continuar.

Outro fator importante dos dispositivos móveis é que eles devem ser bastante portáteis, isto é, devem ser finos e leves. Isto impõe consideráveis limites no tamanho das baterias que os alimentam, de forma que as vezes uma carga completa da bateria não é suficiente para passar o dia todo com o dispositivo livre de uma tomada. Para piorar, quanto maior a capacidade de processamento e de armazenamento, maior é o consumo de bateria no aparelho. Estes requisitos de autonomia da bateria e capacidades computacionais determinam o sucesso dos aparelhos e fazem os engenheiros quebrarem a cabeça para balancear todos estes fatores.

Automação

Até agora, mencionamos apenas equipamentos eletrônicos que possuem uma forma de interação parecida com a do computador convencional, através de teclados e telas. Entretanto, existem diversos equipamentos controlados por sistemas operacionais embarcados que possuem formas de interação bastante distintas, além daqueles que são projetados para operarem sem qualquer interação com o homem. Como exemplo, citamos as aplicações na indústria para sistemas embarcados, em que a automação é o principal objetivo.

 Vídeo 02 - Portabilidade para Sistemas Embarcados

Assim, a automação utilizada na fabricação e uso de equipamentos procura dotar máquinas de processadores e circuitos eletrônicos capazes de controlar o funcionamento mecânico. Para isso, é necessário um sistema operacional embutido, que muitas vezes é criado se inspirando nas estruturas dos sistemas operacionais convencionais. Deve-se lembrar que os mesmos processadores e placas encontrados em computadores convencionais também são utilizados para construir uma máquina computadorizada, o que se justifica usar um processo de desenvolvimento adaptado.

Dica de Vídeo

Existem tantas aplicações para os sistemas embarcados voltadas para automação que é possível imaginar que no futuro tudo será controlado por um computador. Por exemplo, além da indústria, hoje em dia já existem as casas inteligentes, nas quais eletrodomésticos, portas, luzes e janelas podem ser programados para facilitar a vida dos moradores. Veja essa reportagem sobre a casa do futuro no link:

<http://www.youtube.com/watch?v=_PxXY3lofmo&feature=related>. Acesso em: 13 Out. 2011.

<https://www.youtube.com/watch?v=nThDfz9Fvl4>. Acesso em 17 abr. 2017

Essa portabilidade de projeto dos sistemas operacionais dos computadores convencionais para os celulares e smartphones pode estar presente em qualquer tipo de equipamento, até mesmo na robótica, em que podemos encontrar robôs sendo gerenciados por uma versão do Linux, por exemplo.

Um exemplo é o robô Nao (Figura 5), que foi uma das principais atrações na Robotec Fair 2009 (Feira Internacional de Robótica e Tecnologia), ocorrida em Curitiba. Ele é um robô fabricado pela empresa francesa Aldebaran Robotics, com 55cm de altura, sendo controlado por Wi-Fi. A programação e operação do robô pode ser realizada usando uma linguagem de programação (Urbi), do tipo scripts, que roda em cima do

SO Linux. Urbi possui uma interface de programação gráfica considerada amigável e voltada para iniciantes na robótica. Ele é equipado com sistema de reconhecimento de voz, câmera de vídeo e suas mãos são capazes de manipular objetos.

Figura 5 - Robô Nao Fonte:

<http://1.bp.blogspot.com/_Cx_GwfB4Ybk/SsvzZqxpJrI/AAAAAAAAA08/lNNodHc- dNw/s320/NAO_3+MED.jpg> Acesso em: 13 out. 2011.

Dica de Vídeo

Assista ao vídeo que mostra as habilidades desse pequeno robô no link:

<http://www.youtube.com/watch? v=2STTNYNF4lk&feature=player_embedded>. Acesso em 13 out. 2011.

Apesar de ocorrer certo nível de reutilização de sistemas operacionais convencionais nas diferentes classes de aplicações, discutiremos no próximo tópico que existem certas questões a serem levadas em conta, decorrentes das diferenças entre a interação com um computador convencional e a interação com equipamentos de sistemas embarcados.

Sistemas operacionais de tempo real

 Vídeo 03 - Sistemas Operacionais de Tempo Real

Existem diversos equipamentos controlados por sistemas operacionais, normalmente embarcados, que possuem uma exigência (requisito) associada com o tempo de resposta. Esse tempo de resposta precisa ocorrer dentro de um determinado prazo. A perda de um prazo, isto é, a não conclusão de uma tarefa dentro deste prazo, caracteriza uma falha do sistema, o que pode provocar danos irreversíveis, como por exemplo, o choque de duas aeronaves, quando o sistema de monitoramento de aproximação de aeronaves não conseguir detectar em tempo hábil a existência de duas aeronaves se aproximando na mesma rota.

Situações que envolvem prazos nas respostas são inúmeras. Por exemplo: (1) aparelhos de monitoramento como os que verificam os sinais vitais de um paciente devem avisar aos enfermeiros e médicos sobre quaisquer alterações imediatamente; (2) o sistema que controla robôs utilizados para diversas atividades, como a missão para Marte da NASA (Mars Rover), em que estes robôs precisam serem capazes de se movimentar no terreno acidentado do planeta e coletar material para análise, como mostrado na Figura 6.

As principais diferenças entre um sistema operacional convencional e um baseado em tempo real estão relacionadas às interrupções dos dispositivos de hardware e ao escalonamento dos processos para usar o processador. Essas características influenciam diretamente no tempo de resposta e os sistemas operacionais de tempo real procuram aumentar o tempo entre as interrupções de hardware e diminuir as trocas entre os processos para que o tempo de uma tarefa ocorra dentro do prazo.

Podemos classificar os sistemas operacionais de tempo real em basicamente dois tipos:

Críticos: o prazo na execução das tarefas são vitais e não podem ser descumpridos. Os sistemas que controlam os

Figura 6 - Robô utilizado na missão Marte Fonte: <http://marsrovers.jpl.nasa.gov/home/index.html> Acesso em: 13 out. 2011.

meios de transporte, como carros, trens e aviões, e os sinalizadores de controle de tráfego, como semáforos, são exemplos onde o não cumprimento dos prazos podem provocar acidentes fatais, e, por conseguinte, os sistemas embutidos de tempo real deles são críticos.

Não-críticos: o tempo é fundamental, mas uma perda de prazo é tolerável. O Sistema Operacional de um aparelho de DVD ou de um console de vídeo game é não-crítico, pois o não cumprimento de uma tarefa em resposta a um evento em um determinado intervalo de tempo não provoca danos irreversíveis. Ao contrário dos sistemas críticos, esses sistemas normalmente trabalham com um grande volume de dados.

Atividade 02

1. Qual a principal característica dos sistemas de tempo real? Cite características críticas e não críticas de 3 exemplos de sistemas de tempo real.

Sistemas distribuídos

 Vídeo 04 - Sistemas Distribuídos

Você já imaginou o benefício e o ganho que podemos ter se utilizarmos o poder de processamento de diversos computadores interligados por uma rede como se fosse um único computador? Dá para pensar como seria mais rápida a execução de uma tarefa muito complexa, não é verdade? Nesse contexto, a união de diversos computadores com o objetivo de compartilhar a execução de tarefas é conhecida como sistema distribuído.

Um sistema distribuído é definido como um conjunto de unidades de processamento independentes, que através de um esquema de gerenciamento da comunicação e da sincronização, pode processar uma aplicação distribuída em diferentes localidades, usando diversos sistemas locais com características próprias diferentes, mas que passa a impressão de que toda a aplicação é gerenciada por um sistema único. Além do processamento conjunto, sistemas distribuídos têm como objetivo o compartilhamento de recursos, sabendo que diferentes pontos do sistema possuem diferentes recursos.

A própria Internet é um exemplo de sistema distribuído, pois ela interliga diversos computadores, possibilitando trocas de recursos. Na Internet, um exemplo clássico de computação distribuída com compartilhamento de recursos é o projeto [email protected], cujas informações você pode obter acessando o site http://setiathome.berkeley.edu. Esse projeto visa procurar em sinais de rádio interplanetários algum vestígio de vida extraterrestre através de um sistema que auxilia diversos projetos de processamento distribuído que se utilizam de computadores espalhados na Internet. Você mesmo pode ajudar esses projetos disponibilizando parte da memória e do tempo de uso do processador de seu computador instalando o programa BOINC.

O BOINC (Berkeley Open Infrastructure for Network Computing) é uma plataforma aberta para projetos de processamento distribuído (Figura 7).

O funcionamento do BOINC se dá da seguinte forma:

1. Após o download e instalação do BOINC, você define em quais projetos deseja participar. Você pode definir preferências específicas para cada projeto, por exemplo, para limitar o uso de processamento, memória e espaço em disco.

2. O BOINC conecta sua máquina aos servidores dos projetos selecionados e faz o download das "aplicações" dos projetos, que são basicamente os programas para processamento das informações daquele projeto em específico.

3. O BOINC conecta sua máquina aos servidores dos projetos e faz o download das "tarefas", que são basicamente os dados a serem processados.

4. Após o processamento das tarefas, o BOINC retorna os resultados para os servidores dos projetos.

Assim, sistemas distribuídos procuram compartilhar recursos, como memória, CPU e periféricos dos diversos PC’s conectados em rede para serem utilizados por diferentes tarefas, aumentando consideravelmente a capacidade de processamento e recursos na execução dos processos.

Figura 7 - Logomarca do projeto BOINC Fonte: <http://www.setibr.org/> Acesso em: 13 out. 2011.

Além disso, diferentes equipamentos com sistemas embarcados precisam interagir. Podemos querer que o circuito de segurança de nossa casa inteligente informe ao servidor do departamento de polícia uma possível invasão enquanto estamos em uma viagem de férias. Veja que isso é possível, uma vez que já existem câmeras digitais que mandam as fotos automaticamente para seu e-mail quando elas são tiradas.

Curiosidade

Ladrões foram pegos graças à câmera digital equipada com cartão de memória que se conecta automaticamente à Internet. Além de enviar as fotos “originais” da proprietária, a câmera mostrou quem eram os ladrões que foram capturados. Detalhes da reportagem podem ser vistos por meio do link:

<http://g1.globo.com/Noticias/Tecnologia/0,,MUL591703-6174,00- CAMERA+DRIBLA+LADROES+E+DEVOLVE+FOTOS+DIGITAIS+A+VITIMA +DE+FURTO.html>

 Vídeo 05 - Sistemas Distribuídos, Estilos Arquiteturais

De acordo com a forma de interação entre as diferentes unidades de sistemas distribuídos, podemos classificá-los como:

Cliente x servidor: um computador cliente manda um pedido para o computador servidor e este retorna. Como exemplos, temos os provedores de Internet que disponibilizam acesso para nossos computadores.

Peer-to-peer (P2P): um computador funciona como cliente e também como servidor. Programas de distribuição de arquivos pela Internet, como o BitTorrent, funcionam baseados nesse modelo.

Bittorrent é um sistema de download de arquivos P2P. A idéia básica é que quando um usuário procura por um arquivo, ele baixa "pedaços" do arquivo de outros usuários até que o arquivo fique completo. Um importante objetivo do projeto foi garantir colaboração entre diferentes usuários. Acesse o site <http://www.bittorrent.com/> e procure mais informações sobre essa ferramenta.

Sistemas operacionais de servidores

Outro importante tipo de sistema operacional é o direcionado a servidores. Ele tem um papel importante, pois são destinados a computadores de grande porte – possuem um grande poder computacional. Tais máquinas são destinadas ao trato de um grande número de requisições que chegam ao servidor, atendendo a vários usuários ao mesmo tempo. Normalmente os servidores são destinados a prover serviços de e-mail, arquivo, impressão, etc. Exemplos de sistemas operacionais de servidores são o Red Hat (distribuição do Linux) e o Windows Server.

Resumo

Nesta aula, você viu que sistemas operacionais estão presentes não apenas nos nossos computadores, mas em todo tipo de equipamento. Agora você já sabe que celulares, aparelhos de som e DVD, e até mesmo carros, podem ter sistemas operacionais embutidos. Deve-se, no entanto, se lembrar de que novas questões precisam ser consideradas nos projetos de sistemas operacionais não convencionais, tais como as relacionadas aos recursos limitados de diferentes equipamentos e às situações em que o tempo de resposta é fundamental. Por fim, você viu como é possível interligar diversas unidades de processamento com o objetivo de compartilhar recursos na solução de tarefas em comum.

Autoavaliação

Autoavaliação

1. Quais as principais características que devem ser consideradas por um projetista de sistemas operacionais em tempo real em comparação a sistemas operacionais convencionais?

2. O que são sistemas de tempo real críticos e não críticos? Exemplifique situações nas quais cada tipo de sistema de tempo real seria necessário.

3. Qual a principal dificuldade enfrentada pelos sistemas operacionais para celulares e smartphones? Como os desenvolvedores contornam essa dificuldade?

4. Como é possível utilizar o código de um sistema operacional convencional para adaptá-lo a um sistema embarcado sem ter que criar do zero todo o código?

5. Diferencie os sistemas operacionais convencionais dos sistemas distribuídos e apresente aplicações para o uso de ambos os sistemas.Diferencie os sistemas operacionais convencionais dos sistemas distribuídos e apresente aplicações para o uso de ambos os sistemas.

Referências

MORIMOTO, Carlos. Smartphones: guia rápido. São Paulo: GDH press, 2009. Disponível em: <http://www.gdhpress.com.br/smartphones/>. Acesso em: 13 out. 2011.

PROJETO SETI BRASIL. Disponível em: <http://www.setibr.org/>. Acesso em: 13 out. 2011.

SISTEMA QNX. Disponível em: <http://www.qnx.com/products/neutrino_rtos/realtime.html>. Acesso em: 13 out. 2011.

SISTEMAS embutidos em tempo real. 5 maio 2008. Disponível em: <http://www2.eletronica.org/artigos/eletronica-digital/sistemas- embutidos-em-tempo-real/>. Acesso em: 13 out. 2011.

SISTEMAS operacionais de dispositivos ubíquos. Disponível em: <http://www2.dc.ufscar.br/~regina/slidesSO/so-dispos-ubiquo.pdf>. Acesso em: 13 out. 2011.

STEVE Jobs apresenta iPad: o aguardado tablet da Apple. Disponível em: <http://www1.folha.uol.com.br/folha/informatica/ult124u685448.sh tml>. Acesso em: 13 out. 2011

WEBER, Taisy Silva. Tolerância a falhas: conceitos e exemplos. UFRGS. Disponível em: <http://www.inf.ufrgs.br/~taisy/disciplinas/textos/ConceitosDepend abilidade.PDF>. Acesso em: 13 out. 2011.

comentários (0)
Até o momento nenhum comentário
Seja o primeiro a comentar!
Esta é apenas uma pré-visualização
3 mostrados em 21 páginas
Baixar o documento