Threads
Fl´avio Velloso Laper
6 de fevereiro de 2009
Sum´ ario 1 Conceitos Fundamentais
1
2 Caracter´ısticas e Objetivos
4
3 Especifica¸ c˜ ao de Threads
6
4 Atividade
11
5 Referˆ encias 11
1
Conceitos Fundamentais
A discuss˜ ao a seguir repete e detalha as defini¸c˜oes mais importantes da aula anterior.
Sistema Paralelo
Sistema Paralelo [gar04, p. 1]
Sistema com m´ ultiplos processadores que se comunicam usando mem´oria compartilhada.
Coment´ arios Em um sistema paralelo, a comunica¸c˜ ao ´e feita atrav´es de mem´oria compartilhada, mas cada processador pode ter tamb´em mem´ oria local, n˜ ao acess´ıvel aos demais.
´ poss´ıvel tamb´em estender esta defini¸c˜
E
ao para englobar os sistemas com apenas um processador cujo tempo ´e compartilhado pelos diversos processos. Neste caso, o paralelismo ´e apenas l´ogico (podemos imaginar cada processo com o seu “processador virtual”), mas toda discuss˜ao a seguir permanecer´a v´alida (exclus˜ ao m´ utua, primitivas de sincroniza¸c˜ ao, etc).
Sistema Distribu´ıdo
Sistema Distribu´ıdo [gar04, p. 1]
Sistema com m´ ultiplos processadores conectados atrav´es de uma rede de comunica¸c˜ao, que se comunicam atrav´es de mensagens enviadas pela rede.
1
Coment´ arios A rede de comunica¸c˜ ao pode ser local ou de longa distˆancia (geograficamente distribu´ıda).
Chamaremos de nodo cada sistema conectado `a rede; um nodo pode ser multiprocessado, ou seja, ter a estrutura mostrada na figura anterior.
Sistemas Distribu´ıdos vs. Sistemas Paralelos
Por que n˜ ao utilizar apenas sistemas paralelos?
Vantagens dos sistemas distribu´ıdos:
• Escalabilidade.
• Modularidade e heterogeneidade.
• Compartilhamento de dados e recursos.
• Estrutura geogr´ afica. • Confiabilidade.
• Baixo custo.
Coment´
arios
As seguintes vantagens indicam a raz˜ ao de n˜ ao utilizarmos sistemas puramente paralelos:
• Escalabilidade: indica a