Você está na página 1de 20

INSTITUTO FEDERAL DE CINCIAS E TECNOLOGIA DE SO PAULO ANALISE DE SISTEMAS SISTEMAS OPERACIONAIS

FBIO DA SILVA LIMA

Sistemas distribudos, Fail-Soft e throughtput

SO PAULO 2014

Sumrio
Sumrio.................................................................................................................................................................2

Sistemas distribuidos...................................................................................................3 Throughput................................................................................................................... 7 Fail-Soft...................................................................................................................... 11 Concluso.................................................................................................................. 19 Refer ncias................................................................................................................19

Sistemas distribuidos
A sistema distribudo, quando dois ou mais computadores que esto interagindo tanto por um barramento, um crossbar ou por uma rede,muitas vezes eles so espalhados em uma grande rea geografica, e alguns so frequentemente utilizados atualmente como o middleware www. Os sistemas distribudos so construidos a partir da rede de computadores, sendo as principais redes atuais as A!s"local area networ#s ou redes locais$ e %A!s "wide area networ#s ou rede de longa distancia$. O mais importante tipo de A! a &thernet. Ethernet 'm cabo coa(ial onde varios computadores so interligados.)hamado de &thernet em refer*ncia ao ther luminoso , onde se imaginava que a radia+o magntica pudesse se propagar. ,ara enviar um pacote via &thernet, um computador observa se h um outro computador transmitindo uma informa+o, caso este-a ele recebe a transmisso, se no estiver , ele transmite cerca de ../00 b1tes de informa+o ao computador, se o cabo estiver em uso ele vai simplesmente esperar acabar a transmi+o atual para come+ar a enviar. 2e por um acaso eles transmitirem dados ao mesmo tempo, eles pausam a transmisso e tentam novamente. 2e ocorrer novamente eles pausam de novo e duplicam o tempo de espera, reduzindo as possibilidades de colis3es, esse algoritmo e chamado de recuo e(ponencial binrio. !a &thernet , o cabo e o numero de interliga+o entre computadores e limitada porem para evitar atingir esse numero ma(imo, so criadas varias redes &thernet cu-o so interligadas por pontes"bridges$ que controla e interliga o trafico de dados. A4,A!&5 2urgiu em .676 com tr*s computadorsem dezembro de .676,foi criada para uso militar.)resceu a partir de .680 se espalhando por varios computadoresm uma rede de pacotes via rdio e via satlite,criando varias redes &thernet ligadas a ela chegando a rede que conhecemos ho-e como internet. A A4,A!&5 consiste em dois tipos de computadores9 os hospedeiros e roteadores, os hosts sao aqueles que querem se conectar a internet e os roteadores so aqueles que recebem e enviam os pacotes de dados de um host para o outro, vai um endere+o cu-o esse pacote de dados tem guardado do seu destinatario.
Ser !"#$ %e &r#t#'#(# e re%e

As redes de computador fornecem servi+os para os hosts e processos que esto usando,esse servi+o orientado a cone(o e parecido com o sistema de uma linha telef:nico, onde o emissor coloca ob-etos de um lado e o receptor coleta na mesma ordem. 'm servi+o orientado a cone(o confivel tem duas varia+3es pequenas9 sequ*cias de mensagens e o flu(o de b1tes .!o primeiro caso os limites de dados so preservados, -a no segundo no, passando assim uma incerteza de que os dados esto completos ou duplicados. &(iste tambm o servi+o datagrama, onde no oferece uma confirma+o do emissor. 5ambm temos o servi+o datagrama com confirma+o cu-o uma resposta ao emissor de que a foi recebido tal mensagem. Ainda h o servi+o de solicita+o;rplica onde o emissor envia um <nico datagrama com a solicita+o e uma rplica com a resposta. 2o regras altamente especificas, onde para que as mensagens se-am enviadas e retornadas para aqueles que as enviaram. Os maiores protocolos da internet so o =, e 5),.O =, "protocolo de internet$ um protocolo que se baseia no datagrama onde um emissor in-eta 7> ?@ na rede e confia em sua chegada, porem no h garantia. O =, formado por n<meros decimais de 0;A// separados por pontos, porem no suficiente para manter uma comunica+o confivel , por isso e(iste o protocolo 5),"protocolo de controle de transmisso$.O processo que est sendo requisitado determinado pelo endere+o =, da maquina e a porta por onde se poder receber transmisso do emissrio, recebendo os arquivos com garantia atravs de n<meros de sequ*cias, somas de verifica+o e retransmiss3es de pacotes recebidos incorretamente. Biddleware )ada pgina da %eb tem um endere+o chamado '4 , na forma de protocolo9CCnome;no;D!2Cnomedoarquivo .O protocolo mais usado o http, mas tambm e(iste outros domnios como o do ftp. A forma como o sistema funciona e simples, o usurio informa a '4 ao navegador, o navegador pergunta ao D!2 pelo endere+o =,, o D!2 responde, ento o navegador pergunta do arquivo requisitado, o servidor envia o arquivo, a cone(o 5), e liberada e o navegador mostra o te(to e as imagens da '4 requisitada A ideia bsica e fazer um sistema distribudo parecer um sistema distribudo parecer uma cole+o gigante de documentos interligados por meio de h1perlin#s. 5emos duas op+3es bsicas a serem escolhidas de inicio que so o modelo uploadCdownload e o modelo de acesso remoto. !o primeiro caso o arquivo pode ser modificado e de varias maneiras diferentes"porm e(iste uma copia no servidor$, e quando se termina essas modifica+3es e quando se termina tal modifica+3es enviado de volta para o servidor. E o acesso remoto o cliente envia comandos para que o servidor fa+a os servi+os de modifica+o. Outro fator importante o sistema de diretFrio. 5odos os sistemas suportam m<ltiplos diretFrios de arquivos, porm pode ser dito que nem todas as maquinas tem a mesma viso de sistema de arquivos, por isso a importGncia desse tema.

Huando h dois ou mais usurios enviando o mesmo arquivo, necessrio definir a semGntica da leitura "read$ e da escrita "write$ para se evitar problemas. &m sistemas monoprocessadores quando se faz uma chamada read apFs uma chamada write, a read retorna o valor escrito na chamada write, retornando assim o ultimo valor escrito. =sso evita evita o uso do cache porm seu desempenho continua bai(o quando as defini+3es de arquivos so direcionadas a um <nico servidor. 5emos tambm a semGntica de sesso onde quando temos um arquivo aberto e alteramos o valor dela continua fi(o ao quando abrimos porm quando salvamos esse arquivo o valor e alterado, atravs dessa sesso utilizado o processo de downloadCupload. ,odemos dizer que a semGntica de modo correto dos arquivos algo meio complicado, sem solu+3es eficientes e elegantes. @asicamente se refere a troca de dados por base de uma aplica+o. )O4@A a arquitetura padro criada pelo Ob-ect Banagement Iroup para estabelecer e simplificar a troca de dados entre sistemas distribudos heterog*neos. &m face da diversidade de hardware e software que encontramos atualmente, a )O4@A atua de modo que os ob-etos "componentes dos softwares$ possam se comunicar de forma transparente ao usurio, mesmo que para isso se-a necessrio interoperar com outro software, em outro sistema operacional e em outra ferramenta de desenvolvimento. )O4@A um dos modelos mais populares de ob-etos distribudos, -untamente com o D)OB, formato proprietrio da Bicrosoft. O4@ A arquitetura )O4@A define o O4@ "Ob-ect 4equest @ro#er$ como um mFdulo intermedirio entre cliente e ob-eto, sendo responsvel em aceitar a requisi+o do cliente, envi;la para o ob-eto competente e, assim que disponvel a resposta, entreg;la para o cliente. =D A )O4@A utiliza a =D "=nterface Definition anguage$, uma linguagem baseada em )JJ que no possui algoritmos nem variveis, ou se-a, puramente declarativa, e, portanto, independente da linguagem de programa+o utilizada para acess;la. K padro de =D definido pelo OBI para ), )JJ, Eava, 55)!, )O@O , 2malltal#, Ada, isp, ,1thon e =D script. ,ossibilita a interoperabilidade entre os diversos sistemas, visto a separa+o que definida entre interface e e(ecu+o. A interface de cada ob-eto definida de forma bastante especfica, enquanto a sua e(ecu+o "cFdigo fonte e dados$ permanece oculta para o resto do sistema. ,ersist*ncia Ao contrrio dos ob-etos tradicionais, os ob-etos em sistemas distribudos possuem uma caracterstica de dualidade9 um estado dinGmico, tipicamente alocado em memFria voltil "em tempo de e(ecu+o$, e um estado persistente,

que no pode ser destrudo apFs o encerramento do programa que os criou e que pode ser usado para reconstruir o estado dinGmico, devendo ser armazenado em memFria no voltil, se-a em sistema de arquivos ou banco de dados. A arquitetura )O4@A, para prover a persist*ncia, define o ,ersistent Ob-ect 2ervice ",O2$ como sendo responsvel por armazenar o estado persistente dos ob-etos, utilizando quatro elementos9 L Ob-etos ,ersistentes ",ersistent Ob-ect ",Os$$ L Ierenciador de Ob-etos ,ersistentes ",ersistent Ob-ects Banager ",OB$$ L 2ervi+os de ,ersist*ncia de Dados ",ersistent Data 2ervices ",D2s$$ L @ase de Dados "Datastores$ L &nterprise 2ervice @us O &nterprise 2ervice @us se refere M arquitetura de constru+o de software tipicamente implementado em tecnologias encontradas na categoria de produtos de infra;estrutura de middleware. !ormalmente baseado no reconhecimento de padr3es, que fornecem uma base deervi+os para arquiteturas mais comple(as via um driver de evento e padr3es baseados em mensagens "@'2$. 'm &2@ geralmente fornece uma abstra+o de camadas na implementa+o de um sistema empresarial de mensagens, que permita integra+o da arquitetura para e(plorar o valor das mensagens sem escrever cFdigo. )ontrariando a clssica integra+o de aplica+3es comerciais "&A=$. A base de um enterprise service bus construda da quebra de fun+3es bsicas em partes, que so distribudas onde for preciso. &2@ no implementa uma arquitetura orientada a servi+o "2OA$, mas fornece as caractersticas para que possa ser implementado. &2@ no necessariamente precisa ser implementado usando web;services. &2@ devem ser baseados em padr3es fle(veis, suportando vrios meios de transportes. @aseado no &A= melhor que padr3es 2OA, ele tenta remover o acoplamento entre o servi+o chamado e o meio de transporte. A maioria dos fornecedores de &2@ constroem agora &2@s para incorporar princpios de 2OA e para aumentar suas vendas, por e(emplo @usiness ,rocess &(ecution anguage"@,& $. Ar)*!tet*r+ ESB A palavra NbusN a refer*ncia para o meio fsico que carrega bits entre dispositivos em um computador. O &2@ serve a uma fun+o anloga a alto nvel de abstra+o. &m uma arquitetura empresarial fazendo uso de um &2@, uma aplica+o ir comunicar via barramento, que atua como um message bro#er entre aplica+3es. A principal vantagem de com uma apro(ima+o a redu+o de

cone(3es ponto a ponto necessrias para permitir a comunica+o entre aplica+3es. =sto por sua vez afeta diretamente na simplifica+o das mudan+as de sistema. ,or reduzir o n<mero de cone(3es ponto a ponto para uma aplica+o especfica, o processo de adaptar um sistema Ms mudan+as em um de seus componentes torna;se mais fcil. ,B#$$ESB 'm &2@ a gera+o seguinte de &A=. Belhor e sem ficar preso a um vendedor, caractersticas do antigo. &2@ parte de uma infra;estrutura 2OA. &ntretanto, 2OA no simplesmente uma tecnologia ou um produto, um estilo de pro-eto, com vrios aspectos "arquitetural, metodolFgico e organizacional$ no relacionados a tecnologia atual. Bas, obviamente, em algum ponto torna;se necessrio tra+ar o 2OA abstrato a uma implementa+o concreta, e ai que o E@oss&2@ entra no -ogo. )aractersticas L 2uporte a maioria dos framewor#s de notifica+o. 5raspontes suportados incluindo EB2 "E@ossBH, E@oss Bessaging, Oracle AH and BH2eries$, email, banco de dados ou sistema de arquivos. L =ntegra+o de transa+3es entre EB2 e 2H . L =ntegra+o com -@,B. L 2uporte a %2;@,& . L 2uporte a %eb 2ervices. L Distribui+o e configura+o melhoradas, usando um usurio especfico de &2@. L 2uporte a Iroov1.

Throughput
O a 5a(a de transfer*ncia de dados de um lugar a outro, ou tambm pode se dizer que a quantidade de tempo e espa+o onde um dado processado. ,ara se entender melhor sobre throughput e necessrio ter conhecimento sobre escalonamento como ser falado a seguir. &scalonamento de processos uma atividade organizacional feita pelo escalonador " scheduler$ da ),' ou de um sistema distribuido , possibilitandoa e(ecutar os processos mais viveis e concorrentes, priorizando determinados tipos de processos, como os de =CO, @ound e os ),' @ound. O escalonador de processos de A nveis escolhe o processo que tem mais prioridade e menos tempo e coloca;o na memFria principal, ficando os outros alocados em discoP com essa e(ecu+o o processador evita ficar ocioso. O pro-eto de um escalonador adequado deve levar em conta uma srie de diferentes necessidades, ou se-a, o pro-eto de uma poltica de escalonamento deve contemplar os seguintes ob-etivos9

2er -usto9 5odos os processos devem ser tratados igualmente, tendo possibilidades id*nticas de uso do processador, devendo ser evitado o adiamento indefinido. Ba(imizar a produtividade" throughtput$9 ,rocurar ma(imizar o n<mero de tarefas possiveis por unidade de tempo. 2er previsvel

Binimizar o tempo de resposta para usurios interativos. Ba(imizar o n<mero possvel de usurio interativos. Binimizar a sobrecarga "overhead$9 4ecursos no devem ser desperdi+ados embora algum investimento em termos de recursos para o sistema pode permitir maior efici*ncia. Qavorecer processos Nbem comportadosN9 ,rocessos que comportamento adequado poderiam receber um servi+o melhor. tenham

@alancear o uso de recursos9 o escalonador deve manter todos os recursos ocupados, ou se-a, processos que usam recursos sub; utilizados deveriam ser favorecidos. &(ibir degrada+o previsvel e progressiva em situa+3es de intensa carga de trabalho.

)omo pode ser visto facilmente, alguns destes ob-etivos so contraditFrios, pois dado que a quantidade de tempo disponvel de processamento "tempo do processador$ finita, assim como os demais recursos computacionais, para que um proceso se-a favorecido outro deve ser pre-udicado. O maior problema e(istente no pro-eto de algoritmos de escalonamento est associado M natureza imprevisvel dos processos, pois no possvel prevermos se um dado processo utilizar intensamente o processador, ou se precisar grandes quantidades de memFria ou se necessitar numerosos acessos aos dispositivos e =CO. ,ara que o processador no fique muito tempo sem processar informa+3es alguma, os sistemas operacionais usam algumas tcnicas para escalonar os processos que esto em e(ecu+o ao mesmo tempo numa maquina. O escalonamento difcil de ser realizada, pois no e(iste ainda um algoritmo que totalmente eficiente e imune a algumas falhas, principalmente quando falamos de sistemas de interativos, pois a intera+o do usurio fundamental para este

sistema ter uma intera+o com o usurio, por isso contm bastante erros porque o usurio pode encerrar um processo em qualquer instante podem ter uma infinidade de erros durante o processo. O escalonador do 2O utiliza alguns critrios especficos, como9 a ta(a de utiliza+o de ),', que a fra+o de tempo a qual ela est sendo utilizado, throughput que so n<meros de processos finalizados por unidade de tempoP turnaround que o tempo percorrido a partir do instante em que o software entra e o instante em que termina sua e(ecu+o deleP tempo de resposta9 intervalo entre a chegada ao sistema e inicio de sua e(ecu+oP tempo de espera9 soma dos perodos em que o programa estava no seu estado pronto. &(istem vrios meios que realizam a avalia+o da qualidade do servi+o oferecido por um algoritmo de escalonamento. 2o eles9 uso do processador, tempo de resposta e tempo de perman*ncia. O tempo de perman*ncia, tempo de retorno ou turnaround time, quando se dado pela soma do tempo de espera com o tempo de servi+o ou tempo de e(ecu+o. &m geral dese-a; se que o tempo de perman*ncia se-a o mais breve possvel. 'ma outra maneira de verificar a qualidade do escalonamento utilizando;se do tempo de perman*ncia normalizado.

E$'+(#n+%#r %e '*rt# &r+-# 2eleciona os processos que esto prontos na memFria, para serem e(ecutados. &ssas decis3es geralmente so realizadas em menor tempo possvel. E$'+(#n+%#r %e ./%!# &r+-# 2eleciona os processos que esto armazenados na memFria virtual e reduz o nvel de processamento. &le temporariamente remove o processo da memFria principal e o coloca numa espcie de memFria secundria "swap$. E$'+(#n+%#r %e (#n0# &r+-# 2eleciona os processos novos, os que so limitados por inputCoutput e os que so limitados por processamento, dando prioridade aqueles limitados por =CO, - que usam menos o processador. &ste escalonador o responsvel pela quantidade de processos que o sistema ir trabalhar.

A(0#r!t.#$ e$'+(#n+%#$ &(istem os algoritmos preempitivos e os no preemptivos. Os preemptivos so algoritmos que permitem que um processo se-a finalizado durante sua e(ecu+o, quer se-a por for+a de uma interrup+o de dados, quer se-a em decorr*ncia da politica de escalonamento adotada e realizada por parte do escalonador de processos ou simplesmente por for+a do trmino da e(ecu+o do processo. ApFs a interrup+o deste processo, ocorre o que se chama de troca de conte(to, que consiste em salvar o conte<do registrado e a memoria utilizada pelo processo e conceder M outro processo o privilgio de e(ecutar no processador, restaurando assim o conte(to deste ultimo processo. )abe ressaltar que nos algoritmos no preemptivos, por serem utilizados e(clusivamente em sistemas monoprocessados, esse fato no ocorre, sendo cada programa e(ecutado at o seu final. &(emplos de Algoritmos9

Q=QO"Qirst in, first out$ ou Q)Q2"Qirst come, first served$9 o primeiro que chega ser o primeiro a ser e(ecutadoP 2EQ"2hortest Eob Qirst$9 Onde o menor processo ganhar a ),' e atrs do mesmo formar uma fila de processos por ordem crescente de tempo de e(ecu+oP 245 "2hortest 4emaining 5ime$9 !este algoritmo escolhido o processo que possua o menor tempo restante

Algoritmo de oteria9 O 2istema Operacional distribui to#ens "fichas$, numerados entre os processos, para o escalonamento sorteado um numero aleatFrio para que o processo ganhe a vez na ),', processos com mais to#ens t*m mais chance de receber antes a ),'. &scalonamento garantido9 &ste algoritmo busca cumprir promessas de aloca+o de ),' o mais preciso possvel, como se fosse uma diviso de processamento. 44"4ound;4obin$9 !esse escalonamento o 2O possui um timer, onde todos os processos ganham o mesmo valor de quantum para rodarem na ),'. )om e(ce+o do algoritmo 44 e escalonamento garantido, todos os outros sofrem do problema de =nani+o. B<ltiplas filas9 2o usadas vrias filas de processos prontos para e(ecutar, cada processo e colocado em uma fila, e cada fila tem uma poltica de escalonamento prFpria e outra entre filas.

5odos os algoritmos classificam os processos em estados9 =niciando, ,ronto, &(ecutando, &ntradaC 2ada e 5erminado. D!$tr!1*!"2# %e &r#&r!e%+%e$ ,ara melhorar a distribui+o da ),' entre os processos, alguns algoritmos usam diferentes prioridades, essas prioridades podem ser mudadas pelo prFprio usurio. )om a ideia de gerenciar melhor essas prioridades de processo, o sistema operacional cria filas de processos. &m cada fila e(istem processos de mesma prioridade, e e(iste tambm fila para processos de entrada e sada. ,rioridades podem ser mudadas pelo usurio, ou atribudas automaticamente pelo sistema operacional. Besmo com a aplica+o de prioridades e algoritmos melhor implementados, alguns processos ainda correm o risco de ficar muito tempo sem receber a ),' por isso em determinando momento pode ocorrer de a prioridade de um processo vai se alterando com o Ntempo de vidaN do mesmo, controlando o tempo de vida que muda momentaneamente a prioridade de um processo que no e(ecutado h muito tempo e -oga sua prioridade para a mais alta possvel para que ele se-a atendido, logo apFs as prioridades voltam ao normal. Outro caso em que prioridades so alteradas quando um programa de bai(a prioridade come+ou a fazer uso de algum perifrico de entrada e sada antes de outro de prioridade alta. !este caso processos de alta prioridade so obrigados a esperarem os de bai(a terminar sua &C2 para poderem usar este perifrico. &(istem ainda sistemas em que quando um processo inicia sua e(ecu+o, o sistema garante que este processo vai ser terminado, so chamados sistemas garantidos. !estes sistemas a interven+o do usurio mnima, ao contrario do que ocorre em sistemas em tempo real em que o usurio interrompe processos a todo instante por isso o sistema no garante que um processo vai ser 5erminado. Thre+%$ ,rocessos podem ser divididos em Rpeda+osS para que eles no dei(em de responder, como isso poderia atrapalhar a sua e(ecu+o, ou para agilizar a programa+o e e(ecu+o. &les so escalonveis.

F+!(3S#4t Os problemas de mascaramento de falhas e fracassos nas comunica+3es de rede ocorrem - de longa data, porm podem ser suportada apesar das falhas.

!o 2oftware "2O$ no desgasta com o tempo, ele no tem propriedades fsicas, sendo totalmente conceitual. !ele, as falhas so de desenvolvimento e bugs causados por erros humanos. Outra defini+o que deve ser observada que 5olerGncia a Qalhas em 2oftware "5Q2$ diferente de Software Tolerante a Falhas "25Q$, - que este <ltimo uma sub;rea do primeiro. Ainda, um 25Q pode ser visto de duas formas9 sobre sistemas uni;processados e sistemas distribudos, sendo utilizado para detec+o de erros de desenvolvimento. O mesmo ainda pode ser9

esttico9 em que programas so e(ecutados concorrentemente e o resultado eleito por vota+oP dinGmico9 em que so estabelecidos checkpoints no decorrer da e(ecu+o do programa.

Me'+n!$.# %e C#ntr#(e %e F+(h+$ As atividades relacionadas M tolerGncia a falhas podem ser subdivididas em quatro fases9 detec+o de erro, confinamento e avalia+o de danos, recupera+o de erros e tratamento de falhas.

Dete'"2# %e Err#$ ,rincipal fator para qualquer tcnica de tolerGncia a falhas. De um modo geral, a detec+o de erros diretamente proporcional M confiabilidade do sistema. !o prtico, entretanto, equipar o mesmo com um grande n<mero de facilidades para detec+o de erros, sobretudo devido ao custo e N overheadsN impostos por e(tensivas verifica+3es. O sistema no deve ter nenhum ponto comum de falhas relacionado com seu checador, sendo o ideal que este fosse pro-etado por uma equipe diferente de pro-etistas. ,odemos citar tr*s critrios que caracterizam um pro-eto ideal9 .. deveria ser derivado to somente das especifica+3es do sistemaP A. deveria ser capaz de fazer uma completa checagem do sistemaP T. deveria ser independente do sistema. Duas principais estratgias podem ser usadas no que se refere a checagem9 Lastmoment check e Early check. !a prtica, entretanto, uma combina+o destas duas estratgias deveria ser usada para se atingir uma boa cobertura de falhas. &nquanto as tcnicas de detec+o de erros podem variar de sistema para sistema, a maioria delas pode ser classificada de acordo com a seguinte diviso9

)hecagem por 4eplica+oP

)hecagem por temporiza+oP )hecagem por )odifica+oP )hecagem por 4eversoP )hecagem por )onsist*nciaP )hecagem por DiagnFsticoP )hecagem por 2eqU*ncia de )ontrole.

C#n4!n+.ent# e A +(!+"2# %e D+n#$ Besmo que o mecanismo de detec+o fosse perfeito ; todos os erros fossem detectados ;, haveria ainda um perodo de tempo decorrido entre o momento em que a falha ocorreu e o momento em que o erro foi detectado "este tempo geralmente referido como lat*ncia da falha$. 'm conceito <til para organizar um sistema a fim de facilitar o confinamento dos danos o da a+o at:mica. A atividade de um elemento constitui uma a+o at:mica se no e(istem intera+3es entre aquele elemento e o resto do sistema por toda dura+o da atividade.
Re'*&er+"2# %e Err#$

'ma vez que um erro detectado, esfor+os devem ser feitos a fim de trazer o sistema de volta para um estado operacional ou, em outras palavras, fazer o sistema recuperar;se dos erros. O mtodo de recupera+o de erro usado pode ser influenciado pela tcnica de detec+o de erros utilizada. &m sistemas que usam as tcnicas de mascaramento de falhas, a detec+o e a recupera+o de erros ocorrem simultaneamente. &sses sistemas no necessitam incorporar todos os passos relacionados com sistemas tolerantes a falhas mencionados anteriormente, por raz3es Fbvias. A a+o de recupera+o de erro envolve o uso de algoritmos de recupera+o que podem ou no requererem decis3es humanas. A primeira classe de algoritmos dita automtica, ao passo que a segunda dita controlada manualmente. Algoritmos de recupera+o automtica podem ser classificados de acordo com o estado do sistema apFs a a+o de recupera+o como9 .. recupera+o completaP A. recupera+o com degrada+oP T. desligamento seguro.

Tr+t+.ent# %+ F+(h+ e C#nt!n*+"2# %# Ser !"# 'ma vez que os passos anteriores no asseguram que a falha que provocou o"s$ erro"s$ se-a identificada, outro passo pode ser necessrio a fim de evitar que a falha ocorra novamente. 'm tipo particular de erro poderia ser o resultado de

muitas fontes de falhas. &ste passo utilizado para isolar a falha ou para reconfigurar o resto do sistema em um esfor+o para evitar suas manifesta+3es repetidas e, usualmente, envolve dois estgios9 localiza+o e reparo do sistema. De4e!t#$ e Err#$ O sistema apresenta defeito porque no est fornecendo o servi+o esperado mesmo seguindo a sua especifica+o. 'm defeito de servi+o um evento que ocorre quando o servi+o fornecido desvia do servi+o correto. As diferentes formas que um sistema se desvia de um servi+o correto so conhecidas como modos de defeito de servi+o. As falhas de especifica+o podem ser de omisso ou de a+o. Os modos de defeito de servi+o caracterizam servi+o incorreto de acordo com > pontos de vista, os quais9 V Domnio do defeito V )onte<do V 5emporiza+o V Detectar o defeito V )onsequ*ncia do defeito V )onsist*ncia do defeito Huando tanto a informa+o quanto a temporiza+o so incorretas os dois tipos de defeitos so defeitos de parada e errtico. Detectar9 os mecanismos de detec+o apresentam dois modos de defeito, os quais9 V Qalso alarme9 sinaliza+o da perda de fun+o quando nenhum defeito efetivamente ocorreu. V Defeito no sinalizado9 !o sinaliza+o da perda de fun+o quando o defeito ocorreu. Os dois tipos de defeitos considerando detectar o defeito so sinalizado e no sinalizado. Os dois tipos de defeitos so conscientes e bizantinos. considerando a consist*ncia do defeito

@izantino9 alguns ou todos os usurios percebem o servi+o incorreto de forma diferente, alguns at podem perceber o servi+o como correto. Iraduar as consequ*ncias de defeitos sobre o ambiente do sistema permite definir a severidade dos defeitos. Aos seus nveis esto associadas probabilidades m(imas de ocorr*ncia. Qalha de desenvolvimento9 faz o processo de desenvolvimento ser terminado antes de ser aceito para ser usado e colocado em servi+o. ,odem ocorrer devido a uma falha de or+amento, quando os fundos alocados para o pro-eto terminam antes de o sistema ser aceito nas fases de testeP ou devido a uma falha de plane-amento, quando a entrega do pro-etada do pro-eto desliza para um ponto no futuro onde o sistema torna;se tecnologicamente obsoleto ou funcionalmente inadequado as e(ig*ncias do usurio. 5odas as causas derivadas dessas t*m

como origem a subestima+o da comple(idade do sistema que est sendo desenvolvido. 'ma especifica+o de dependabilidade e seguran+a "securit1$ um contrato que estabelece os ob-etivos de cada atributo9 confiabilidade, disponibilidade, safet1, confidencialidade, integridade e facilidade de manuten+o. 'm defeito de dependabilidade ou seguran+a ocorre quando o sistema sofre defeitos de servi+o mais freqUentes ou mais severos do que o aceitvel. 'ma classe de falha de especifica+o de dependabilidade a escolha in-ustificada de e(agerados nveis de demanda para um ou mais atributos de dependabilidade, o que eleva os custos e pode levar a defeito de desenvolvimento. 'm erro foi definido como parte do estado do sistema que pode conduzir a um defeito, que ocorre quando o erro causa o desvio do servi+o correto. A causa de um erro recebe o nome de falha. Detectado9 quando a presen+a do erro indicada por uma mensagem de erro ou por um sinal de erro. atente9 quando o erro est presente, mas no sinalizado. 'm erro nem sempreprovoca um defeito de servi+o. &rro simples9 afetam apenas um componente. &rros m<ltiplos relacionados so provocados por falhas que causam erros simultGneos em mais do que um componente. Ativa+o da falha ocorre quando a aplica+o de uma entrada a um componente que faz uma falha dormente se tornar ativa. A propaga+o do erro ocorre quando o processo computacional faz com que um erro se-a sucessivamente transformado em outros erros. A habilidade de identificar o padro de ativa+o de uma falha que causa um ou mais erros se chama reprodutibilidade da ativa+o da falha. Qalhas cu-a ativa+o reproduzvel so chamadas desFlidas "ou hard$. Qalhas cu-a ativa+o no sistematicamente reproduzvel so chamadas de evasivas "ou soft$. A1#r%+0en$ %e S5 T#(er+nte + F+(h+$ 'm 2% e(ecutado por um <nico processo consiste em vrios componentes "mFdulos ou sub;programas$, em que cada um deles pode conter erros. A fun+o do 25Q assegurar que o sistema no fracasse devido M presen+a de componentes defeituosos. ,ara tratar esses erros, diferentemente das falhas em K%, a duplica+o do programa "2%$ no suficiente, pois ele continuar e(ecutando com a mesma falha de programa+o. Assim, e(istem duas abordagens sugeridas9 recovery block approache e N-version programing.

A1#r%+0e. Re'# er6 B(#'7 8B(#'# %e Re'*&er+"2#9 A proposta com a finalidade de prover uma abordagem organizacional para diversos desenvolvimentos a fim de suportar 25Q foi desenvolvida para manipular o desenvolvimento de falhas em componentes de 2%, mas tambm pode enfrentar erros em 2% que so causados por falhas em K%. &ssa uma tcnica dinGmica que ob-etiva mascarar a falha de alguns mFdulos. O ponto de partida para a utiliza+o de blocos de recupera+o a disponibilidade de vrias vers3es de cada mFdulo, que atendam aos requisitos definidos na especifica+o do problema a ser solucionado. A e(ecu+o inicia pela primeira verso ; rotina primria ; e seu resultado submetido ao teste de aceita+o. 2e aceito, as demais vers3es no so e(ecutadas. )aso contrrio, a segunda verso ; rotina alternativa . ; e(ecutada e submetida ao teste de aceita+o. ,ara recupera+o de erros, o bloco de recupera+o emprega o mecanismo de recupera+o por retrocesso. Antes de e(ecutar a rotina primria um ponto de recupera+o estabelecido, salvando o estado naquele ponto. 2e um erro detectado pelo teste de aceita+o, o processo restaurado ao estado salvo no momento em que o ponto de recupera+o foi estabelecido. )aso isto aconte+a, todos os efeitos deste mFdulo so desfeitos e o sistema est em um estado consistente. ApFs a recupera+o de erros ter sido realizada, uma nova alternativa e(ecutada e o processo continua at que o resultado de e(ecu+o de alguma verso se-a aceito ou que tenham esgotado todas as alternativas possveis. !este caso, uma e(ce+o levantada indicando que nenhum mFdulo passou pelo teste de aceita+o. A estrutura bsica de um bloco de recupera+o a que segue, onde 5 a condi+o do teste de aceita+o que se espera encontrar pela e(ecu+o com sucesso da rotina primria , ou pela rotina alternativa A. A clusula erro sinaliza uma e(ce+o caso todas as alternativas falhem. ensure 5 CCW 5este de aceita+o X b1 , CCW 4otina ,rimria X else b1 A. CCW 4otina Alternativa X else b1 AA CCW 4otina Alternativa X ...... else b1 An CCW 4otina Alternativa X else erro

&mbora cada uma das alternativas dentro de um bloco de recupera+o busque satisfazer o mesmo teste de aceita+o, no h nenhuma e(ig*ncia de que elas

devam produzir os mesmos resultados, dessa forma, os mFdulos podem diferir. ,or e(emplo, o primeiro pode ser mais rpido e menos comple(o, diminuindo a capacidade da detec+o de falhas, ao passo que um segundo mFdulo pode ser mais minucioso na detec+o de falhas, acabando por ser mais lento. A performance nos casos em que o teste de aceita+o satisfeito no primeiro mFdulo a mesma do primeiro mais o tempo para setar o ponto de recupera+o e e(ecutar o teste de aceita+o. &ssa tcnica tem como vantagens a reprodu+o de todo um sistema, pode ser proibitivamente cara e poder ser dese-vel ter tolerGncia a falhas para alguns mFdulos principais, o que pode ser facilmente suportado com recovery block. Pr#0r+.+"2# N3Ver$:e$ )onsiste na gera+o de !;vers3es de uma aplica+o, onde ! XY A, sendo estas aplica+3es originrias da mesma especifica+o, mas programadas com ferramentas, linguagens, mtodos, equipes e testes diferentes. &ssa tcnica utiliza um sistema de vota+o das !;vers3es para gera+o do resultado final e, portanto, trabalha com um mascaramento de falhas. A programa+o !;vers3es depende9 .. especifica+o inicialP A. independ*ncia de esfor+oP T. or+amento adequado. As diferentes vers3es so e(ecutadas paralelamente ou seqUencialmente e os resultados das vers3es so transmitidos ao votador, responsvel por determinar um resultado consensual para a computa+o de acordo com algum critrio. )aso o votador no se-a capaz de determinar o resultado, ento uma e(ce+o sinalizada. A tcnica de !;vers3es requer a consist*ncia de condi+3es iniciais e entradas para todas as computa+3es de ! e um algoritmo de deciso "votador$ que determina um <nico resultado de deciso dos resultados m<ltiplos que so produzidos. !as vers3es de ! importante eliminar modos comuns de fracasso9 .. A. T. >. usando linguagens diferentes para cada versoP usando compiladores diferentes e ambientes de apoio para cada versoP usando, se possvel, algoritmos diferentes para cada versoP utilizando grupos de programadores diferentes e preferencialmente que tenham estudado e aprendido em lugares e de formas diferentes.

Os pontos falhos das diferentes vers3es no podem estar correlacionados, pois, neste caso, as tcnicas de diversidade de pro-eto no oferecem um grande aumento em confiabilidade como antecipado. O benefcio atual para

confiabilidade depender de como os fracassos de vers3es esto correlacionados. Bas, para o desenvolvimento de !;vers3es de um mesmo programa, encontra;se uma grande dificuldade ; o custo de desenvolvimento ; que em 2% o fator principal, pois diferentes equipes de programadores, administra+o de pro-eto, controle de configura+o, vers3es e instala+o de mudan+as so fatores que aumentam o custo. 'ma vez que o votador determina um consenso, o resultado produzido avaliado e retornado para vers3es err:neas. &stas vers3es podem retornar para corrigir o estado interno antes da prF(ima computa+o. !a arquitetura geral de um sistema de software !;verso, no qual somente duas vers3es so usadas, o sistema pode detectar um <nico erro comparando a sada das duas vers3es. O mtodo no usualmente simples para identificar a verso err:nea. 2istemas que usam esta configura+o geralmente usam uma tcnica onde o sistema termina assim que uma diferen+a se-a detectada entre as duas vers3es. 2o e(igidas tr*s vers3es independentes para que se chegue a um consenso dos resultados atravs da maioria. )aracterstica a blocos de recupera+o, a configura+o de software de !;vers3es prov* tolerGncia M falha transparente ao usurio. Assim, um pro-etista de um sistema pode incorporar tolerGncia a falhas somente nos mFdulos crticos. O mecanismo de deciso ; votador ; em um ambiente de software de !;vers3es pode ser um <nico ponto para defeito, ento deve ser e(tremamente confivel. C#.&+r+"2# %e V#t# 5r*s problemas particulares so mencionados9 .. sadas em ponto flutuanteP A. m<ltiplas sadas corretas possveisP T. problema de compara+o consistente.

Zantagens .. facilidade de reconhecer erros na fase de testeP A. tolerGncia a falhas permanentes e intermitentesP T. tolerGncia a falhas e(ternas9 do compilador e do sistema operacional.

Desvantagens .. aumento dos custos de desenvolvimentoP A. comple(idade de sincroniza+oP

T. dificuldade de evitar correla+o9 no h garantias de que cFpias diferentes no apresentam os mesmos errosP >. falta de prova formal para aumentar confiabilidadeP /. dificuldade de determinar o n<mero de rplicas.

Pr#0r+.+"2# N3 er$:e$ 8NV9 er$*$ B(#'# %e Re'*&er+"2# 8RB9 [ &sttica"!Z$ ( DinGmica "4@$. [ Overhead9 ambos requerem algoritmos alternativos. !Z9 driver "contador$ e 4@9 teste de aceita+o. [ untime overheads9 !Z requer !Lrecursos, 4@ requer o estabelecimento de um ponto de recupera+o. [ Diversidade de desenvolvimento9 ambos so passveis de erros em requisi+3es. [ Detec+o de erros9 !Z votador ( 4@ teste de aceita+o. [ Atomicidade9 !Z vota+o antes de sair para o ambiente, 4@ estrutura deve ser a <nica sada apFs a aprova+o de uma aceita+o teste.

C#n'(*$2# O trabalho realizado e(igiu bastante pesquisa porm foi concludo que sistemas distribudos nada mais que uma intera+o entre dois computadores ou mais em busca de um mesmo principio no caso temos vrios e(emplos como -ogar e conversar pela internet 2obre o 5hroughput podemos falar que muito utilizado atualmente tanto quando voc* e(ecuta um programa quando voc* se utiliza da internet. Qail;2oft podemos dizer que um sistema que vita falhas tanto no hardware como no software, pode at as vezes funcionar um pouco precariamente porm evita que o usurio tenha dor de cabe+as constantes. Ambos so muito importantes nos 2istemas Operacionais porm pouco notado pelos usurios. Re4er;n'!+$ 5A!&!@A'B, Andrew 2.P S!$te.+$ O&er+'!#n+!$ M#%ern#$, ,rentice Kall @rasil, A\ &di+o, A00T. =2@! ]/]86.]/8/

De F(#r!#< V!n'en-# e B(#n%!+< Chr!$= 200>= A 2urve1 of inguistic 2tructures for Application; evel Qault 5olerance. !"# "omputing Surveys $"S% &' A00], Zol. >0, A.

Gr#tt7e< M!'h+e( +n% Tr! e%!< ?!$h#r S= 200@= Qighting @ugs9 4emove, 4etr1, 4eplicate, and 4e-uvenate. (EEE "omputer' A008, Zol. >0, A

Você também pode gostar