Sistemas Operacionais Prof. Galvez. PROBLEMA DE SEÇÃO CRITICA.

Post on 21-Apr-2015

112 views 3 download

Transcript of Sistemas Operacionais Prof. Galvez. PROBLEMA DE SEÇÃO CRITICA.

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 )