Buscar

Lista Sincronização de Processos - EAD

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 
 
Lista Módulo II Parte II 
…………………………………………………………………………………………………………... 
 
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. 
R: As quatro condições para garantir uma boa solução são: 
1- Dois ou mais processos não podem estar simultaneamente dentro de uma região 
crítica; 
2- Não se podem fazer afirmações em relação à velocidade e ao número de CPUs; 
3- Um processo fora da região crítica não deve causar bloqueio a outro processo; 
4- Um processo não pode esperar infinitamente para entrar na região crítica; 
 
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. 
R: A espera ocupada ocorre quando um processo está realizando um loop enquanto 
espera a ocorrência de um evento externo. Enquanto um processo estiver em sua seção 
crítica, qualquer outro processo que tentar entrar em sua seção crítica deve percorrer um 
loop de entrada. Ela é chamada de espera ocupada porque o processo normalmente está 
em um loop tipo while(true). 
Existem outros exemplos e espera ocupada em um sistema operacional: Esperar até 
que E/S esteja disponível, esperar até que um semáforo seja liberado etc. 
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? 
R: 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. 
É nesse 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. 
R: A atomicidade é uma propriedade que garante que cada transação seja tratada como 
uma entidade única, a qual deve ser executada por completo ou falhar completamente. Desta 
forma, todas as operações da transação devem ser executadas com sucesso para que a 
transação tenha sucesso. 
Se uma única operação que seja do bloco da transação falhar, toda a transação deverá ser 
cancelada, as transações são aplicadas de uma forma “tudo ou nada”. Caso haja falha em 
qualquer operação da transação, o banco de dados será retornado ao estado anterior ao início 
da transação. 
 
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. 
R: 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 decrementem o 
valor do semáforo, violando assim a execução mútua.

Continue navegando