SO-Recursos (1)

SO-Recursos (1)


DisciplinaSistemas Operacionais I9.195 materiais182.393 seguidores
Pré-visualização1 página
*
*
*
Recursos
Recurso: objeto físico ou abstrato necessário para que uma tarefa seja executada
exemplos: tempo de CPU, memória principal, dispositivos de E/S, arquivos, caixas postais
Tipos de recursos
compartilháveis, preemptivos, serialmente reusáveis, consumíveis
Propriedades de recursos
discretos, limitados
Classes de recursos
conjuntos de recursos idênticos
instâncias idênticas de um recurso podem estar disponíveis
*
*
*
Gerenciamento de Recursos
Gerenciador de Recursos
módulo do sistema operacional responsável pelas solicitações para utilização de recursos de uso exclusivo
eventos necessários para utlizar recursos:
requisitar recurso
utilizar recurso
liberar recurso
se um recurso requisitado, ou instância dele, não está disponível então o processo solicitante é obrigado a esperar que ele se torne disponível (bloqueado a espera da condição recurso disponível) 
*
*
*
Impasse (deadlock)
Definição
um conjunto de processos se encontra num estado de impasse (deadlock) quando cada processo deste conjunto está esperando (bloqueado) por um evento que só poderá ser realizado por um outro processo deste mesmo conjunto
os principais eventos relacionados são: requisição e liberação de recursos
*
*
*
Caracterização de Impasse
Condições necessárias
Exclusão Mútua
recurso utilizado de modo não compartilhado
em cada instante o recurso pode estar disponível ou atribuído a um processo
Mantém e Espera
processo que mantém recurso que lhe foi concedido pode requisitar um outro recurso
processo espera pela concessão desse outro recurso que está sendo mantido por um outro processo
*
*
*
Caracterização de Impasse
Não preempção
recursos não podem ser preemptados
recursos só podem ser liberados voluntariamente pelo processo que mantém a sua concessão
Espera circular
deve existir uma cadeia circular de dois ou mais processos, cada um dos quais está esperando por um recurso mantido pelo próximo elemento da cadeia
os recursos solicitados e que causam o bloqueio de processos não podem ser liberados porque os processos estão bloqueados
*
*
*
Caracterização de Impasse
D1
P2
P1
D2
detém
requisita
requisita
detém
grafo de alocação / requisição de recursos
*
*
*
Impasses
Áreas de Estudo
como prevenir o impasse
como evitar o impasse
como detectar o impasse
como recuperar de um impasse
Métodos de Manipulação
o problema de impasse não ocorrerá
prevenir
evitar
o estado de impasse poderá ocorrer
detectar
recuperar
a recuperação de um estado de impasse pode ser difícil e será caro
*
*
*
Postergação Indefinida
(starvation)
um processo pode ficar esperando indefinidamente por recursos mesmo quando recursos podem se tornar disponíveis
processos que competem por recursos podem levar a uma situação de postergação indefinida
fazer um processo esperar indefinidamente por recursos que são fornecidos, quando disponíveis, sempre para outros processos
causada por influência das políticas de escalonamento de recursos de sistema
*
*
*
Prevenindo de Impasse
para que ocorra um impasse é necessário que as quatro condições necessárias possam verificadas
garantindo que no mínimo uma dessas condições necessárias não acontece, se está prevenindo a ocorrência do impasse
*
*
*
Políticas de Prevenção
Alocação num único disparo
todos os recursos necessários para a execução de um dado processo devem ser solicitados de uma só vez
todos os recursos solicitados , se disponíveis, serão entregue ou nenhum recurso será concedido
nega mantém e espera
má utilização de recursos
divisão em subprocessos com necessidades independentes de recursos
postergação indefinida pode ocorrer
*
*
*
Políticas de Prevenção
Libera para não esperar mantendo
quando a concessão para utilizar recursos não é dada então os recursos mantidos devem ser liberados
recursos liberados podem ser solicitados novamente
nega a não preempção
pode acarretar perda de processamento
o custo pode ser substancial
a postergação indefinida pode ocorrer
*
*
*
Políticas de Prevenção
Alocação Hierárquica
numeração dos recursos com números únicos
processos devem solicitar recursos na ordem ascendente das suas numerações
um processo só poderá solicitar recursos de numeração mais alta do que os que ele mantém
nega a espera circular
pode acarretar numa má utilização de recursos
*
*
*
Evitando o Impasse
o impasse pode ser evitado pelo cuidado que se deve ter na alocação de recursos
requisitar informações adicionais sobre como os recursos deverão ser utilizados
Política para evitar o impasse
declaração de número máximo de recursos a serem utilizados
fornecer informações a priori sobre o número máximo de cada tipo de recurso que pode ser requisitado
algoritmo da previsão de requisições - algoritmo do banqueiro (advance-claim algorithm)
*
*
*
Evitando o Impasse
Algoritmo do Banqueiro
cada processo fornece informações sobre o número máximo de requisições para cada recurso que serão realizadas
o algoritmo do banqueiro garante que o estado de impasse nunca vai ocorrer
as requisições de recursos fazem que o estado de alocação de recursos seja analizado para garantir a não ocorrência de impasse
o estado de alocação de recursos é definido pelo número de recursos disponíveis e alocados e o máximo das requisições dos processos
*
*
*
Evitando o Impasse
Algoritmo do Banqueiro
estado seguro: um estado é seguro (safe) se o sistema pode alocar recursos a cada processo, até o seu máximo, em qualquer ordem e ainda evitar o impasse
se o sistema aloca recursos a um dado processo e o estado de impasse pode ocorrer então o estado é inseguro (unsafe)
um estado seguro não é um estado de impasse
um estado inseguro pode ser um estado de impasse
*
*
*
Detectando o Impasse
Detecção de impasse
processo que determina se existe um estado de impasse corrente
processos e recursos implicados no impasse devem ser identificados
algoritmos para detecção de impasse geram uma sobrecarga (overhead) do sistema
compromisso entre detectar o impasse e poder recuperar o sistema desse estado
*
*
*
Política de Detecção de Impasse
Modelo do Grafo de Alocação de Recursos
notação utilizada para permitir que grafos dirigidos indiquem situação de requisição e aquisição de recursos
*
*
*
Política de Detecção de Impasse
redução de um grafo de alocação de recursos, onde processos que podem ser completados e processos em impasse podem ser determinados
se um processo pode obter concessões então o grafo pode ser reduzido para aquele processo
se um grafo pode ser reduzido para todos os seus processos então não existe impasse
se um grafo não pode ser reduzido para todos os seus processos então existe o impasse (grafo irredutível)
*
*
*
Recuperando o Impasse
quando se verifica que o sistema se encontra em estado de impasse, o impasse deve ser quebrado
a quebra de um estado de impasse é realizada pela remoção de uma das condições necesárias para a ocorrência de impasse
*
*
*
Política de Recuperação de Impasse
tomar recursos de processos que permitam que outros processos que também estejam em impasse possam continuar
nega a não preempção
recuperação pode parecer não apropriada
processos são anulados (killed) para que recursos possam ser liberados
necessidade de muito trabalho para poder selecionar um processo a ser anulado (considerar prioridades)
processos selecionados perdem trabalho realizado
uma alternativa é a criação de pontos de checagem (check pointers) para que ele possa ser continuado destes pontos