Buscar

Unidade 7 - Componentes de um sistema operacional

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Sistemas Operacionais
Unidade 8 - Introdução à programação paralela e distribuída
Exercícios - Unidade 8
1. A programação paralela e distribuída permite tirar proveito do paralelismo oferecido pelas arquiteturas onde elas se executam. A diferença da programação paralela e da distribuída está na arquitetura onde é executada.
Sobre essa afirmação, é correto afirmar que:
E. a programação distribuída se baseia em processos.
Por ser distribuída, ou seja, consistir de máquinas com memória distribuída, a programação distribuída se dá unicamente por meio de processos. Já a programação paralela, que ocorre em memória compartilhada, pode ser feita com processos e com threads.
2. A programação paralela e distribuída tem como parte fundamental para alcançar o paralelismo a forma como os processos ou threads vão se comunicar. Portanto, a comunicação é parte fundamental da programação paralela e distribuída.
Com relação à comunicação, é correto afirmar que:
E. a comunicação de programas distribuídos ocorre pela troca de mensagens.
A comunicação de programas distribuídos ocorre apenas pela troca de mensagens, pois são máquinas distribuídas, cada uma com sua própria memória local. 
Já programas paralelos, por estarem numa única máquina com memória compartilhada, podem se comunicar pela troca de mensagens ou por memória compartilhada.
3. A programação paralela tem uma série de plataformas para sua implementação em diversas linguagens. Qual das alternativas a seguir se refere a uma plataforma exclusiva de programação paralela?
C. OpenMP.
OpenMP é uma plataforma construída especificamente para programação paralela em arquiteturas de memória compartilhada.
PVM é uma biblioteca utilizada para trocar mensagens entre processos num ambiente distribuído, assim como o MPI, um padrão definido pela academia e indústria para uma interface de programação.
Já Spark e Hadoop são plataformas distribuídas para o processamento paralelo de grandes volumes de dados.
4. A programação paralela e distribuída é feita principalmente por dois conceitos básicos: processos e threads.
Sabe-se que processos são mais pesados que threads. Por que isso acontece?
E. Threads vivem dentro de um processo já existente e têm acesso à sua memória.
Threads são mais leves do que processos, pois pertencem a um processo já inicializado e já têm um endereçamento de memória alocado para ele.
Essas threads têm acesso ao endereçamento de memória de forma compartilhada, por isso são mais leves, pois inicializam muito mais rápido. Threads não são mais rápidas por alocar menos memória; na verdade não alocam memória, e sim processos.
Processos não se comunicam apenas pela troca de mensagens. Threads se comunicam pela memória compartilhada, mas não é esse o motivo que as deixa mais leves.
Processos não necessariamente realizam mais comunicações do que threads.
5. Em programação paralela, o principal meio de comunicação entre threads/processos é a memória compartilhada.
Qual das técnicas a seguir pode ser utilizada para controlar a concorrência em memória compartilhada?
D. Locks.
Na programação paralela com memória compartilhada, a técnica utilizada para controlar a concorrência são os locks, que controlam o acesso a recursos, evitando que dois processos/threads acessem um recurso ao mesmo tempo.
A troca de mensagens se relaciona a outra técnica de comunicação entre processos. Heartbeats são uma técnica de comunicação em sistemas distribuídos.
Particionamento de dados e tarefas diz respeito à forma como o paralelismo vai ocorrer.

Continue navegando