A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Gerenciamento de Processos

Apresentações semelhantes


Apresentação em tema: "Gerenciamento de Processos"— Transcrição da apresentação:

1 Gerenciamento de Processos
Sincronização de Processos Gerenciamento de Impasses (deadlock) Gerenciamento de Abandonos

2 Gerenciamento de Processos Estados de Programas e Processos
Na medida que o programa se movimenta pelo sistema, ele se encontra em um dos cinco estados possíveis: NOVO, PRONTO, EM EXECUÇÃO, EM ESPERA e TERMINADO. NOVO PRONTO TERM EXEC ESPERA Escalonador de Programas (equilibrando a utilização dos recursos: MEM, E/S...) Escalonador de Processos (algoritmo) Escalonador de Programas Escalonador de Processos (liberam recursos) Escalonador de Processos (requisição de E/S ...) Escalonador de Processos (sinal do gerenciador de dispositivos ou de interrupção de páginas) Interrupção de Tempo

3 Gerenciamento de Processos
Problema típico na falta da Sincronização de Processos: * IMPASSE (Deadlock) * ABANDONO IMPASSE É uma situação de congestionamento de processos por requisições de recursos. É uma situação onde dois ou mais processos travam seus recursos e buscam por outros que também estão travados por outros processos, gerando uma situação de congestionamento. ABANDONO Quando uma situação por espera indefinida por recursos do sistema por alguns processos, há uma situação de abandono pelo sistema para os processos envolvidos nesta situação.

4 Gerenciamento de Processos IMPASSE
O Impasse é uma situação mais grave que o Abandono, ele trava o sistema e pode inviabilizar a execução de toda a máquina. Nos sistemas mais antigos, os processos eram mais “previsíveis” em termos de necessidades de recursos, com isto os Impasses não eram freqüentes. Já nos sistemas recentes, os Impasses são administrados e otimizados de acordo com vários critérios que iremos ver na seqüência. ? ? ? ?

5 Gerenciamento de Processos Sete Casos de Impasse
Caso 1: Requisições de Arquivos Uma vez que um processo requisita e bloqueia um arquivo, um Impasse poderá ocorrer. Requisitada Alocado a F1 P1 P2 Alocado a F2 Requisitada

6 Gerenciamento de Processos Sete Casos de Impasse
Caso 2: Impasses nas Bases de Dados Um impasse pode ocorrer quando dois processos acessam e bloqueiam um registro em uma base de dados. Bloqueio: é uma técnica que visa garantir a integridade dos dados. Se não houver Bloqueio, não ocorre Impasse, porém há uma corrida entre processos para atualização dos dados, o que torna a base de dados não confiável. Ou seja, os processos vão atualizando o registro e o último processo é que prevalece em sua atualização.

7 Gerenciamento de Processos Sete Casos de Impasse
Caso 3: Impasses na Alocação de Dispositivos Dedicados Semelhante ao caso anterior, há dispositivos no sistema que são de uso dedicado a um único processo em tempo de execução. Neste caso, o Impasse poderá ocorrer por necessidade de recurso. Exemplo: Dois processos independentes que utilizam unidade de fita, porém eles bloqueiam a sua unidade de fita e solicitam a outra para continuar sua atualização, porém esta unidade esta bloqueada por outro processo. É uma situação de Impasse.

8 Gerenciamento de Processos Sete Casos de Impasse
Caso 4: Impasses na Alocação de Múltiplos Dispositivos Há situação de Impasse que pode ocorrer na alocação de diversos dispositivos. Alocado a P1 Requisitado Unidade de Fita Impressora Requisitado Alocado a P2 P3 Plotadora Alocado a Requisitado

9 Gerenciamento de Processos Sete Casos de Impasse
Caso 5: Impasses no Spooling O Spooling é um recurso compartilhado no disco para aceitar operações de saída para melhorar performance de impressão. Há uma situação crítica quando vários processos imprimem no spooling porém não completam sua impressão devido a DISK FULL, isto gera um Impasse e nada mais acontece na impressão: não se imprime por não ter completo os processos no spooling e não se termina os processos por não haver espaço em disco. Este tipo de Impasse também pode ocorrer em outras situações como: transferência de arquivos em rede, entre outros.

10 Gerenciamento de Processos Sete Casos de Impasse
Caso 6: Impasses no Compartilhamento de Disco Semelhante a casos anteriores, porém referenciando o disco, este tipo de Impasse pode ocorrer quando dois processos necessitam de informações que estão em determinadas regiões do disco (trilhas e setores), porém um processo necessita gravar uma informação em um cilindro e outro ler em determinada posição. Para gravar, o cilindro de destino esta ocupado por outro processo, neste tempo, o outro processo desloca o braço para outra região, neste tempo, o cilindro de gravação é liberado, o processo de gravação desloca o braço para este cilindro que é travado novamente por outro processo. Este é um tipo de Impasse.

11 Gerenciamento de Processos Sete Casos de Impasse
Caso 7: Impasses em uma Rede O Impasse típico que pode ocorrer em uma rede é quando os buffers de E/S estiverem ocupados (normalmente congestionamento). Isto pode levar a processos que desejam enviar pacotes a outro nó da rede, porém sem possibilidade por situação de congestionamento de buffers. É uma situação de Impasse.

12 Gerenciamento de Processos Condições para Ocorrência de Impasse
Para a ocorrência de Impasse, há algumas condições que podem ser previamente conhecidas pela SO: Exclusão Mútua: um recurso pode ser alocado apenas a um processo. Monopolização de Recursos: quando um processo necessita de um recurso e é determinante para continuidade de sua execução. Inexistência de Preempção: quando um recurso é alocado a um processo e fica pelo tempo que for preciso, até seu término, não havendo compartilhamento temporário para outro processo. Espera Circular: quando um processo espera que o outro libere voluntariamente o recurso alocado para que ele continue sua execução.

13 Gerenciamento de Processos Modelando Impasses
Os Sistemas Operacionais utilizam-se da técnica de Grafos Direcionados para modelar os possíveis casos de Impasses. De uma maneira mais simples, o Grafo Direcionado possibilita ao SO identificar casos de Impasses para tentar evitá-los, onde das condições possíveis de ocorrer Impasse, a ESPERA CIRCULAR é a situação insolúvel de Impasse. P1 R1 R1 Recurso P1 Monopoliza R1 P1 Processo P1 R1 P1 Espera por R1

14 Gerenciamento de Processos Modelando Impasses
Não há Impasse Não há Espera Circular Há Impasse Espera Circular R1 P1 R2 P2 R3 P3

15 Gerenciamento de Processos Estratégias no Gerenciamento Impasses
PREVINIR-SE Na prevenção de Impasse, o SO deverá eliminar uma ou mais das quatro condições necessárias para que eles ocorram. Evidentemente, não seria possível eliminar todas elas porque os sistemas de computação necessitam de algumas delas, porém uma vez identificado, pelo menos uma poderá ser eliminada. EVITAR O Impasse poderá ser evitado se o SO souber a seqüência das requisições que os processos irão fazer ao longo de sua execução. Evidentemente, nos sistemas em lotes isto torna-se mais fácil, mas nos sistemas interativos isto é mais complicado, porém há algumas regras que poderão ser implementadas para tentar evitar o Impasse.

16 Gerenciamento de Processos Estratégias no Gerenciamento Impasses
DETECTAR Com o uso dos Grafos Direcionados, é possível ao SO identificar a ESPERA CIRCULAR e tomar alguma atitude antecipada para evitar o Impasse. Por exemplo: um processo que requisita um recurso poderá sofrer um atraso em sua execução até que o recurso seja liberado em tempo certo para sua continuidade. RECUPERAR Uma vez identificado um Impasse, o SO deverá tomar uma atitude para voltar o ambiente a normalidade o mais rapidamente possível. Há vários algoritmos de recuperação, porém todos eles necessitam de uma VÍTIMA, ou seja, há necessidade de se penalizar pelo menos um processo para resolver o problema.

17 Gerenciamento de Processos Estratégias no Gerenciamento Impasses
RECUPERAR Primeiro Método: terminar todos os programas ativos e reiniciá-los. Este método é o mais radical. Segundo Método: terminar apenas os programas que estão envolvidos no Impasse e avisar aos usuários para recomeçá-los. Terceiro Método: identificar os programas envolvidos no Impasse e terminá-los um a um verificando se o Impasse é resolvido. Quarto Método: os processos deverão ter um histórico de execução de maneira que o SO possa interromper um dos processos que se encontra na situação de Impassar e voltá-lo um passo em sua execução verificando se o Impasse se resolve (rollback).

18 Gerenciamento de Processos ABANDONO
O Abandono é uma situação conflitante de alocação de recursos mais conservadora, ou seja, um programa em particular não consegue terminar porque fica a espera de recursos que jamais serão liberados. O caso dos Filósofos a Mesa de Refeições ilustra o cenário de Abandono.

19 Gerenciamento de Processos ABANDONO
F1 G5 Há 5 Filósofos para comer Há 5 Garfos disponíveis Cada Filósofo deve comer usando 2 Garfos F2 F5 G4 F4 G2 F3 G3

20 Gerenciamento de Processos ABANDONO
F1 G5 F2 F5 F1 começa a comer. Aloca G1 e G5. G4 F4 G2 F3 G3

21 Gerenciamento de Processos ABANDONO
F1 G5 F2 F5 F1 começa a comer. Aloca G1 e G5. F3 começa a comer também. Aloca G2 e G3. G4 F4 G2 F3 G3

22 Gerenciamento de Processos ABANDONO
F1 G5 F2 F5 Se F1 parar de comer, F5 poderá comer, porém F2 e F4 não. Depois que F5 comer e parar, F1 poderá voltar a comer, F4 e F2 não comem ... G4 F4 G2 F3 G3

23 Gerenciamento de Processos Conclusão
Os Sistemas Operacionais devem alocar dinamicamente um número limitado de recursos e ao mesmo tempo evitar o Impasse e Abandono, considerando, contudo, o caso extremo de eleger uma vítima para dar continuidade a execução dos processos e programas do ambiente computacional.


Carregar ppt "Gerenciamento de Processos"

Apresentações semelhantes


Anúncios Google