Buscar

Lista 04 - Sincronização de Processos

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

Universidade Federal do Ceará - Campus Crateús 
Lista Sincronização de Processos - EAD 
Disciplina: Sistemas Operacionais 
Professor: Adeilson S. Aragão 
 
Lista Módulo II Parte II 
MATEUS VIEIRA MOURÃO - 421736 
 
1. A parte do programa onde um recurso compartilhado é acessado é chamada 
seção crítica. Para evitarmos "race-conditions" (condições de corrida) deve-se 
garantir a exclusão mútua. Considerando que o ambiente é multiprogramado, 
descreva as quatro condições para uma boa solução. 
Exclusão mútua: se o processo Pi está executando código de sua seção crítica 
então nenhum outro processo pode estar executando código de suas seções 
críticas; 
Progresso: se nenhum processo estiver executando sua seção crítica e alguns 
processos quiserem entrar em suas seções críticas, só os processos que não 
estiverem executando suas seções remanescentes poderão participar da decisão 
sobre qual processo será o próximo a entrar em sua seção crítica, e essa seleção 
não poderá ser adiada indefinidamente; 
Espera limitada: há um limite para o número de vezes que outros processos podem 
entrar em suas seções críticas após um processo ter feito uma solicitação para 
entrar na sua seção crítica e ter essa solicitação atendida. 
 
2. Qual é o significado do termo espera ocupada? Que outros tipos de espera 
existem em um sistema operacional? A espera ocupada pode ser 
completamente evitada? Explique sua resposta. 
A espera ocupada ocorre quando um processo está realizando um loop enquanto 
espera a ocorrência de um evento externo. Ela é chamada espera ocupada porque o 
processo normalmente está em um loop tipo while(true);. Existem outros exemplos 
de espera ocupada em um sistema operacional operacional: esperar até que a E/S 
esteja disponível, esperar a E/S esteja disponível, esperar até que até que um 
semáforo seja liberado etc. Sim, a espera ocupada pode ser evitada por meio de 
uma primitiva de sincronismo, como um mutex, semáforo ou variável de condição. 
 
3. Dado que nós podemos criar código em nível de usuário para controlar o 
acesso às seções críticas (por exemplo, o algoritmo de Peterson), por que é 
importante para um sistema operacional fornecer mecanismos de 
sincronização, como os semáforos no kernel? 
O mecanismo que coloca os processos aguardando o recurso para prosseguir sua 
execução chama-se sincronização. Em sistemas operacionais multiprogramados 
este mecanismo é importante para garantir a integridade e a confiabilidade na 
execução de aplicações concorrentes. 
Há ocasiões onde é extremamente necessário que dois ou mais processos/threads 
acessem um único recurso comum. Caso esse tipo de paralelismo não ocorra de 
forma controlada, podemos fazer com que um processo "sequestre/atropele.' a 
operação de outro. É neste momento que entram em ação os sinalizadores, ou 
semáforos. Com eles, é possível acesso controlado a processos, de forma que só 
haverá disponibilidade quando a operação em andamento for finalizada. 
 
4. Explique o conceito de atomicidade de transação. 
É uma operação, ou conjunto de operações, que deve ser executada completamente 
em caso de sucesso, ou ser abortada completamente em caso de erro. 
5. Explique que, se as operações de semáforo wait() e signal() não forem 
executadas atomicamente, a exclusão mútua pode ser violada. 
Uma operação wait decrementa atomicamente o valor associado a um semáforo. Se 
duas operações wait forem executadas em um semáforo quando seu valor for 1, se 
as duas operações não forem executadas atomicamente, é possível que ambas 
decrementam o valor do semáforo, violando assim a exclusão mútua.

Continue navegando