Example: marketing

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues …

SISTEMAS DISTRIBU DOS Prof. Ricardo Rodrigues Barcelar 1 - Aula 5 PROCESSOS 1. INTRODU O Em SISTEMAS distribu dos importante examinar os diferentes tipos de processos e como eles desempenham seu papel. O conceito de um processo origin rio do campo de SISTEMAS operacionais no qual ele definido como um programa em execu o. Da perspectiva de Sistema Operacional, o gerenciamento e o escalonamento de processos s o talvez as quest es mais importantes. 2. PROCESSOS SISTEMAS Operacionais modernos criam v rios processadores virtuais, cada um para executar um programa.

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br 3 Quadro 1 – Itens da Thread e do Processo Itens por Thread Itens por Processo

Tags:

  Rodrigues

Information

Domain:

Source:

Link to this page:

Please notify us if you found a problem with this document:

Other abuse

Advertisement

Transcription of SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues …

1 SISTEMAS DISTRIBU DOS Prof. Ricardo Rodrigues Barcelar 1 - Aula 5 PROCESSOS 1. INTRODU O Em SISTEMAS distribu dos importante examinar os diferentes tipos de processos e como eles desempenham seu papel. O conceito de um processo origin rio do campo de SISTEMAS operacionais no qual ele definido como um programa em execu o. Da perspectiva de Sistema Operacional, o gerenciamento e o escalonamento de processos s o talvez as quest es mais importantes. 2. PROCESSOS SISTEMAS Operacionais modernos criam v rios processadores virtuais, cada um para executar um programa.

2 Para monitorar os processadores virtuais o sistema operacional tem uma tabela de processos que cont m entradas para armazenar valores de registradores de CPU, mapas de mem ria, arquivos abertos, etc. Como visto os processos podem ser considerados programas em execu o, na qual o Sistema Operacional o respons vel por assegurar que processos independentes n o afetem (modos intencional, malicioso ou acidental) a corre o do comportamento dos outros processos sendo executados. Nesta tica deve tamb m existir transpar ncia no compartilhamento da mesma CPU e outros recursos de hardware.

3 A transpar ncia implica em custos como: - Cria o de espa o de endere os completamente independente - Chavear a CPU entre dois processos - Salvar o contexto da CPU - Troca de informa es entre disco e mem ria principal Neste sentido, em SISTEMAS tradicionais, cada processo deve possuir o seu pr prio espa o de endere amento e um nico fluxo de execu o. No entanto, em alguns casos desej vel haver diversos fluxos de execu o compartilhando um nico espa o de endere amento, ou seja, mesma regi o de mem ria. Em havendo um nico fluxo de execu o ocorre certa perda de desempenho.

4 Como exemplo, um servidor de arquivos deve esperar por requisi es feitas ao disco, visto que o fluxo de execu o que fez a requisi o bloqueado aguardando a resposta. Com v rios fluxos de execu o existe melhor vaz o (throughput) e ganho de desempenho. Seguindo o mesmo exemplo, se um servidor de arquivos implementado usando diferentes fluxos de execu o, outras requisi es de clientes podem ser processadas, enquanto o primeiro fluxo aguarda a resposta do disco. Este o princ pio das threads. SISTEMAS DISTRIBU DOS Prof. Ricardo Rodrigues Barcelar 2 3. THREADS Embora processos formem um bloco de constru o em SISTEMAS distribu dos, a pr tica indica que a granularidade de processos proporcionada pelos SISTEMAS operacionais sobre os quais os SISTEMAS distribu dos s o constru dos n o suficiente.

5 Em vez disso, observa-se que ter granularidade sob a forma de m ltiplos threads de controle por processo facilita muito a constru o de aplica es distribu das e a obten o de melhor desempenho. Figura 1 - Processo vs Thread Cada um dos fluxos de execu o de um processo chamado de thread, ou seja, as threads podem ser vistas como mini-processos, onde cada thread executa sua pr pria por o de c digo. Cada thread compartilha a CPU do mesmo modo que diferentes processos compartilham (timesharing). Threads em SISTEMAS n o-distribu dos As threads que fazem parte de um mesmo processo n o s o independentes como no caso de diferentes processos.

6 Todas as threads em um mesmo processo possuem a mesma regi o de mem ria e compartilhando as mesmas vari veis globais. Sendo assim, uma determinada thread pode ler, escrever ou mudar a pilha de dados de outra thread. Dessa forma, a prote o deve ser implementada na aplica o. As threads podem estar em diferentes estados: - Executando - Bloqueado - Pronto - Finalizado Dadas as caracter sticas observa-se a seguinte diferen a quanto ao conte do das threads e processos: SISTEMAS DISTRIBU DOS Prof. Ricardo Rodrigues Barcelar 3 Quadro 1 Itens da Thread e do Processo Itens por Thread Itens por Processo PC Pilha Registradores Threads Filhas Estado Espa o de endere amento Vari veis Globais Arquivos abertos Processos filhos Sinais Timers Informa es da Conta Sem foros VANTAGENS - Explorar paralelismo ao executar um programa em um sistema multiprocessador.

7 Ex.: Cada thread designado a uma CPU, enquanto dados compartilhados s o armazenados em mem ria compartilhada. - Em grandes aplica es, desenvolvidas como um conjunto de programas cooperativos evita chaveamento entre diferentes processos devido comunica o atrav s de Interprocess Communication (IPC). Figura 2 - Chaveamento de contexto como resultado de IPC Nas threads a comunica o pode ser feita com a utiliza o de dados compartilhados. O chaveamento ocorre entre espa os de usu rio. IMPLEMENTA O DE THREADS EM SISTEMAS N O-DISTRIBU DOS N vel Usu rio - As threads rodam sobre o runtime system cole o de procedimentos que gerenciam as threads.

8 SISTEMAS DISTRIBU DOS Prof. Ricardo Rodrigues Barcelar 4 - Quando uma thread executa uma chamada de sistema, ela entra no estado de espera e opera um sem foro enquanto o runtime system verifica se o thread deve ser suspensa. - Existe um custo de cria o e aloca o da mem ria para a pilha. - Chaveamento de contexto de thread pode ser feito em apenas algumas instru es. N o h necessidade de mudar mapas de mem ria, descarregar o TLB (Translation Lookaside Buffer) - As threads precisam entrar em sincronia. Figura 3 - Implementa o em n vel de usu rio A desvantagem de threads de n vel de usu rio est em como chamadas de SISTEMAS bloqueantes s o implementadas, como por exemplo, ler um pipe vazio, na qual a chamada de sistema acarretar em bloqueio de todas as threads.

9 N vel Kernel - A cria o, encerramento e sincroniza o dever o ser feitos pelo kernel. - Chamadas de sistema dever o ser realizadas. - Chavear contextos de threads t o caro quanto chavear contexto de processos. Figura 4 - Implementa o em n vel do Kernel SISTEMAS DISTRIBU DOS Prof. Ricardo Rodrigues Barcelar 5 Threads em SISTEMAS Distribu dos Na implementa o de threads em SISTEMAS distribu dos uma importante propriedade que eles podem proporcionar um meio conveniente de permitir chamadas bloqueantes de sistema sem bloquear o processo inteiro. As threads s o particularmente atraentes para utiliza o em SISTEMAS distribu dos, pois facilitam a comunica o na forma de manter m ltiplas conex es l gicas ao mesmo tempo.

10 CLIENTES MULTITHREADS Os SISTEMAS distribu dos que operam em redes de longa dist ncia escondem longos tempos de propaga o de mensagens entre processos. A maneira de ocultar lat ncias de comunica o iniciar a comunica o e imediatamente prosseguir com outra atividade. Em um browser web, o documento Web consiste em um texto, imagens, cones, etc. Cada elemento, browser estabelece uma conex o TCP/IP, para ler os dados e passar ao monitor do usu rio. Opera es bloqueadoras fazem o estabelecimento da conex o e leitura de dados. Os browsers come am a exibir dados enquanto, medida que novas informa es chegam.


Related search queries