sistemas operacionais prof. galvez. problema de seÇÃo critica
TRANSCRIPT
Sistemas Operacionais
Prof. Galvez
PROBLEMA DE SEÇÃO CRITICA
PROBLEMA DE SEÇÃO CRITICA
PROBLEMA DE SEÇÃO CRITICA
PROBLEMA DE SEÇÃO CRITICA
PROBLEMA DE SEÇÃO CRITICA
PROBLEMA DE SEÇÃO CRITICA
SEÇÃO CRÍTICA: parte do código de um processo que acessa uma estrutura de dados compartilhada
O código do Escritor que insere nomes de arquivos na fila e o código do Leitor que retira esses nomes são SEÇÕES CRÍTICAS.
O problema da Seção Critica está em garantir que, quando um processo está executando sua seção crítica, nenhum outro processo entre na sua respectiva Seção crítica.
No exemplo, enquanto o processo Escritor estiver inserindo um nome na fila, o processo Leitor não poderá retirar nomes da fila, e vice-versa.
PROBLEMA DE SEÇÃO CRITICA
POSTERGAÇÃO x DEADLOCK
DEADLOCK
Os computadores possuem diversos recursos que só podem ser usados por
um processo de cada vez.
O fato de haver dois processos usando a impressora simultaneamente leva a
resultados indesejáveis.
Em sistemas multiprogramados, a questão do acesso aos recursos torna-se
um pouco mais complicada.
O processo A solicita e consegue permissão para usar a impressora. O
processo B requer e também consegue permissão para usar a unidade de fita. A
seguir, o processo A pede acesso à unidade de fita, mas a solicitação não vai
poder ser atendida até que o processo B libere esta unidade.
Infelizmente, em vez de liberar a unidade de fita, B solicita permissão para usar
a impressora.
Neste ponto, ambos os processos estão bloqueados, e assim permanecerão
para sempre.
Esta situação é conhecida como DEADLOCK.
OUTRAS SOLUÇÕES
SPIN-LOCK
SEMÁFOROS
MENSAGENS.
Send ( msg a ser enviada, destinatário da msg )
Receive ( endereço da variável do processo onde deverá ser colocada a msg lida )