Os computadores com mais de 1 processadores

Disponível somente no TrabalhosFeitos
  • Páginas : 6 (1347 palavras )
  • Download(s) : 0
  • Publicado : 11 de setembro de 2012
Ler documento completo
Amostra do texto
Os computadores com mais de um processador chegaram para ficar. Existem pesquisas no sentido de substituir o silício usado para construir os processadores por outra substância, mas enquanto isso não se torna economicamente viável a saída para o silício, uma vez que chegamos ao limite de velocidade que podemos atingir, a alternativa é aumentar a quantidade de núcleos executando. Isso significa naprática que agora o sistema operacional pode colocar mais de um programa efetivamente executando ao mesmo tempo. Embora possam executar ao mesmo tempo porque haverá mais de um processador, as aplicações vão concorrer pelos outros recursos, porque de acordo com nossas arquiteturas baseadas no modelo von Neuman, usamos um barramento para fazer as trocas de informações e para acessarcanais de entradae saída.
Essa característica já é estudada nos cursos de sistemas operacionais há tempos, até porque quando só havia um núcleo disponível (e isso ainda acontece em diversas plataformas) as aplicações concorrem também pelo uso do processador. A parte interessante é que este problema, típico da área de sistemas, foi trazido para a área de aplicações inicialmente quando tivemos acesso  à criação denovos processos (via fork por exemplo) e à threads. Neste último caso, as novas linguagens já trazem suporte ao trabalho com threads de forma nativa o que ajudou muito a difundir seu uso, no entanto talvez não tenhamos dado devida atenção ao domínio das técnicas para usar esse tipo de ferramenta.
Existe muito material disponível sobre threads, mas por hora podemos entender como sendo as linhasde execução de um programa, ou seja, mais de uma tarefa do próprio programa acontece (ou tenta acontecer) ao mesmo tempo. Com isso temos que nos preocupar com os problemas de concorrência, originalmente da área de sistemas, dentro da nossa aplicação.
Para isso vale a pena rever os conceitos ensinados em sistemas operacionais referentes a:
* Condições de corrida (race conditions) – dois ou maisparticipantes (aplicações) disputam entre si por um recurso, ou seja, se assemelha a uma corrida por um troféu.
* Regiões críticas (critical regions) – são as regiões ou seções do programa em que fazemos uso do recurso que é compartilhado, identificando essas partes do programa torna-se possível isolá-las de forma que possamos controlar o início e fim do uso de algum recurso compartilhado.Tendo relembrado desses conceitos a primeira coisa que temos a falar é da exclusão mútua, que significa que dois ou mais participantes excluem-se entre si, ou seja, só um pode acessar o recurso compartilhado por vez. O problema então é: como conseguir sinalizar isso? Para responder essa pergunta temos uma série de técnicas que foram propostas também para a área de sistemas operacionais, até porquesão técnicas de mais baixo nível. O ideal é que o mecanismo ou estratégia de exclusão mútua seja fornecido pelo ambiente (ou pela linguagem, ou pela biblioteca) usado.
A primeira forma que pensamos é a espera ocupada (busy wait), onde o processo que está esperando gasta seus ciclos de processador sem fazer nada, basicamente equivale a fazer um laço (while ou for) onde testamos a condição parasaber se já pode ser executado. Como o sistema operacional faz a troca de processos de tempos em tempos, eventualmente o processo que tem controle do recurso vai terminar de usar e liberar, e alguém da fila de espera vai ser colocado para executar. Quando essa nova troca acontece o laço encerra uma vez que a condição de recurso livre foi atingida. Esses turnos vão se alterando, o que percebemos é queessa estratégia desperdiça ciclos de processador sem realizar uma tarefa útil, logo só serve como exemplo. Em alguns casos de máquinas com vários processadores (ou vários núcleos) pode ser necessário usar essa técnica para sincronizar a leitura de registradores compartilhados ou para verificar se um outro núcleo já disponibilizou o conteúdo esperado, encontramos exemplos disso em vários dos...
tracking img