Introdução aos Sistemas Distribuídos
Autor: Gustavo César | Publicado: 2009-06-24T19:21:00-03:00

<!--[if gte mso 9]>     Normal   0   21         false   false   false                             MicrosoftInternetExplorer4   <![endif]--><!--[if gte mso 9]>     <![endif]--> <!--  /* Font Definitions */  @font-face 	{font-family:Wingdings; 	panose-1:5 0 0 0 0 0 0 0 0 0; 	mso-font-charset:2; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:0 268435456 0 0 -2147483648 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0cm; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} a:link, span.MsoHyperlink 	{color:blue; 	text-decoration:underline; 	text-underline:single;} a:visited, span.MsoHyperlinkFollowed 	{color:purple; 	text-decoration:underline; 	text-underline:single;} p 	{mso-margin-top-alt:auto; 	margin-right:0cm; 	mso-margin-bottom-alt:auto; 	margin-left:0cm; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} @page Section1 	{size:612.0pt 792.0pt; 	margin:70.85pt 3.0cm 70.85pt 3.0cm; 	mso-header-margin:36.0pt; 	mso-footer-margin:36.0pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;}  /* List Definitions */  @list l0 	{mso-list-id:315837311; 	mso-list-type:hybrid; 	mso-list-template-ids:18755480 68550657 68550659 68550661 68550657 68550659 68550661 68550657 68550659 68550661;} @list l0:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:36.0pt; 	mso-level-number-position:left; 	text-indent:-18.0pt; 	font-family:Symbol;} @list l1 	{mso-list-id:823083501; 	mso-list-type:hybrid; 	mso-list-template-ids:-535256834 68550657 68550659 68550661 68550657 68550659 68550661 68550657 68550659 68550661;} @list l1:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:36.0pt; 	mso-level-number-position:left; 	text-indent:-18.0pt; 	font-family:Symbol;} @list l2 	{mso-list-id:1090466818; 	mso-list-type:hybrid; 	mso-list-template-ids:-116517214 68550657 68550659 68550661 68550657 68550659 68550661 68550657 68550659 68550661;} @list l2:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:36.0pt; 	mso-level-number-position:left; 	text-indent:-18.0pt; 	font-family:Symbol;} @list l2:level2 	{mso-level-number-format:bullet; 	mso-level-text:o; 	mso-level-tab-stop:72.0pt; 	mso-level-number-position:left; 	text-indent:-18.0pt; 	font-family:"Courier New";} @list l3 	{mso-list-id:1333072095; 	mso-list-type:hybrid; 	mso-list-template-ids:1122667006 68550657 68550659 68550661 68550657 68550659 68550661 68550657 68550659 68550661;} @list l3:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:36.0pt; 	mso-level-number-position:left; 	text-indent:-18.0pt; 	font-family:Symbol;} ol 	{margin-bottom:0cm;} ul 	{margin-bottom:0cm;} --> <!--[if gte mso 10]>   /* Style Definitions */  table.MsoNormalTable 	{mso-style-name:"Tabela normal"; 	mso-tstyle-rowband-size:0; 	mso-tstyle-colband-size:0; 	mso-style-noshow:yes; 	mso-style-parent:""; 	mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 	mso-para-margin:0cm; 	mso-para-margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:10.0pt; 	font-family:"Times New Roman"; 	mso-ansi-language:#0400; 	mso-fareast-language:#0400; 	mso-bidi-language:#0400;}  <![endif]-->Segundo a definição de Andrew Tanenbaum um sistema distribuído é uma "coleção de computadores independentes que se apresenta ao usuário como um sistema único e consistente". Ou seja, é uma coleção de computadores autônomos interligados através de uma rede de computadores e equipados com software distribuído que permita o compartilhamento dos recursos do sistema: hardware, software e dados.  Características:  <!--[if !supportLists]-->·         <!--[endif]-->Concorrência: permitir que recursos compartilhados sejam utilizados por diversos processos. Quando programas necessitam cooperar eles coordenamsuas ações por troca de mensagens.  <!--[if !supportLists]-->·         <!--[endif]-->Compartilhamento de recursos:  <!--[if !supportLists]-->o       <!--[endif]-->Hardware: discos, impressoras.  <!--[if !supportLists]-->o       <!--[endif]-->Informações: arquivos, bases de dados,objetos.  <!--[if !supportLists]-->·         <!--[endif]-->Transparência: a aplicação opera sob um ponto de vista lógico como se os dados fossem gerenciados por um único SGBD, funcionando em uma única máquina com apenas um sistema operacional.  <!--[if !supportLists]-->·         <!--[endif]-->Escalabilidade: habilidade de funcionar bem quando o número de usuários aumenta.  <!--[if !supportLists]-->·         <!--[endif]-->Tolerância a falhas: cada componente do sistema pode falhar independentemente, deixando os outros ainda rodando.  Assim, a computação distribuída consiste em adicionar o poder computacional de diversos computadores interligados por uma rede de computadores ou mais de um processador trabalhando em conjunto no mesmo computador, para processar colaborativamente determinada tarefa de forma coerente e transparente, ou seja, como se apenas um único e centralizado computador estivesse executando a tarefa. A união desses diversos computadores com o objetivo de compartilhar a execução de tarefas, é conhecida como sistema distribuído.Avanços tecnológicos na miniatuarização de dispositivos e redes sem fio têm conduzido a uma crescente integração de pequenos e portáveis dispositivos de computação, tais como:  <!--[if !supportLists]-->·         <!--[endif]-->computadores laptop;  <!--[if !supportLists]-->·         <!--[endif]-->Dispositivos handheld: personal digital assistants (PDA),  <!--[if !supportLists]-->·         <!--[endif]-->telefones móveis,  <!--[if !supportLists]-->·         <!--[endif]-->cameras digitais.  A portabilidade junto com a habilidade para se conectar convenientemente a redes em diferentes lugares, torna possível a Computação Móvel.     Sistema Operacional Distribuído  Um SO Distribuído parece ao usuário como um sistema centralizado comum, mas executa em múltiplas unidades de processamento independentes onde:   o uso de múltiplos processadores deve ser      invisível (transparente) para o usuário; o usuário vê o sistema como um uniprocessador      virtual, não como uma coleção de máquinas distintas conectadas por um      subsistema de comunicação.  Como principais características têm-se um mecanismo de comunicação global único entre processos, proteção global e gerenciamento homogêneo de processos. O objetivo é fornecer transparência no acesso aos recursos, mas, de fato, não existe um sistema 100% transparente.  Assim, o SO Distribuído deve:  controlar a alocação de recursos da rede para      permitir seu uso no modo mais eficiente;prover ao usuário com um computador virtual      conveniente que serve como um ambiente de programação de alto nível;esconder a distribuição dos recursos;prover mecanismos para proteção dos recursos do      sistema contra acesso por usuários não autorizados;prover comunicação segura.  <!--[if gte mso 9]>     Normal   0   21         false   false   false                             MicrosoftInternetExplorer4   <![endif]--><!--[if gte mso 9]>     <![endif]--> <!--  /* Font Definitions */  @font-face 	{font-family:Wingdings; 	panose-1:5 0 0 0 0 0 0 0 0 0; 	mso-font-charset:2; 	mso-generic-font-family:auto; 	mso-font-pitch:variable; 	mso-font-signature:0 268435456 0 0 -2147483648 0;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal 	{mso-style-parent:""; 	margin:0cm; 	margin-bottom:.0001pt; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} h2 	{mso-margin-top-alt:auto; 	margin-right:0cm; 	mso-margin-bottom-alt:auto; 	margin-left:0cm; 	mso-pagination:widow-orphan; 	mso-outline-level:2; 	font-size:18.0pt; 	font-family:"Times New Roman"; 	font-weight:bold;} a:link, span.MsoHyperlink 	{color:blue; 	text-decoration:underline; 	text-underline:single;} a:visited, span.MsoHyperlinkFollowed 	{color:purple; 	text-decoration:underline; 	text-underline:single;} p 	{mso-margin-top-alt:auto; 	margin-right:0cm; 	mso-margin-bottom-alt:auto; 	margin-left:0cm; 	mso-pagination:widow-orphan; 	font-size:12.0pt; 	font-family:"Times New Roman"; 	mso-fareast-font-family:"Times New Roman";} span.mw-headline 	{mso-style-name:mw-headline;} @page Section1 	{size:612.0pt 792.0pt; 	margin:70.85pt 3.0cm 70.85pt 3.0cm; 	mso-header-margin:36.0pt; 	mso-footer-margin:36.0pt; 	mso-paper-source:0;} div.Section1 	{page:Section1;}  /* List Definitions */  @list l0 	{mso-list-id:315837311; 	mso-list-type:hybrid; 	mso-list-template-ids:18755480 68550657 68550659 68550661 68550657 68550659 68550661 68550657 68550659 68550661;} @list l0:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:36.0pt; 	mso-level-number-position:left; 	text-indent:-18.0pt; 	font-family:Symbol;} @list l1 	{mso-list-id:823083501; 	mso-list-type:hybrid; 	mso-list-template-ids:-535256834 68550657 68550659 68550661 68550657 68550659 68550661 68550657 68550659 68550661;} @list l1:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:36.0pt; 	mso-level-number-position:left; 	text-indent:-18.0pt; 	font-family:Symbol;} @list l2 	{mso-list-id:1090466818; 	mso-list-type:hybrid; 	mso-list-template-ids:-116517214 68550657 68550659 68550661 68550657 68550659 68550661 68550657 68550659 68550661;} @list l2:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:36.0pt; 	mso-level-number-position:left; 	text-indent:-18.0pt; 	font-family:Symbol;} @list l2:level2 	{mso-level-number-format:bullet; 	mso-level-text:o; 	mso-level-tab-stop:72.0pt; 	mso-level-number-position:left; 	text-indent:-18.0pt; 	font-family:"Courier New";} @list l3 	{mso-list-id:1333072095; 	mso-list-type:hybrid; 	mso-list-template-ids:1122667006 68550657 68550659 68550661 68550657 68550659 68550661 68550657 68550659 68550661;} @list l3:level1 	{mso-level-number-format:bullet; 	mso-level-text:; 	mso-level-tab-stop:36.0pt; 	mso-level-number-position:left; 	text-indent:-18.0pt; 	font-family:Symbol;} ol 	{margin-bottom:0cm;} ul 	{margin-bottom:0cm;} -->