SlideShare ist ein Scribd-Unternehmen logo
1 von 20
MATÉRIA: SISTEMA OPERACIONAL (S.O)
PROFESSOR: ARMANDO RIVAROLA, LICENCIADO EM
COMPUTAÇÃO
DEADLOCKS
 Em sistema multiprogramado, o termo deadlock, ou
seja, bloqueio perpétuo ou impasse, significa um
evento que jamais irá ocorrer [DEI92, TAN92,
SGG01]. Dizemos que um processo está em
deadlock quando espera por um evento particular
que jamais acontecerá. Igualmente dizemos que
um sistema está em deadlock quando um ou mais
processos estão nesta situação.
 Segundo Tanenbaum:
 Um conjunto de processos está num bloqueio
perpétuo quando cada processo do conjunto está
esperando por um evento que apenas outro
processo do conjunto pode causar. [TAN92, p.
242].
 Observemos a Figura 2.11, onde temos ilustrado
um deadlock que pode ocorrer em duas linhas de
trens cujas interseções não são compartilháveis.
Problemas semelhantes podem ocorrer no trânsito
de uma metrópole.
 Um bloqueio perpétuo pode ocorrer de diferentes
maneiras:
 • Quando um processo é colocado em espera por
algo e o sistema operacional não inclui qualquer
previsão para o atendimento desta espera dizemos
que ocorreu o bloqueio perpétuo de um processo
único (oneprocess deadlock).
 • Quando se forma uma cadeia sucessiva de
solicitações de recursos que culminam num arranjo
circular, onde um processo A, que detêm um
recurso R1, solicita um recurso R2 alocado para
um processo B, que por sua vez está solicitando o
recurso R1, em uso por A (veja a Figura 2.15).
Como nenhum processo de dispõe a,
voluntariamente, liberar o recurso que aloca,
configura-se uma situação de bloqueio perpétuo.
Figura 2.11: Representa¸c˜ao de um deadlock
 Independentemente do tipo, os deadlocks causam
prejuízos sérios ao sistema, pois mesmo num one-
process deadlock, recursos ficam alocados
desnecessariamente, o que significa que restarão
menos recursos para os demais processos. Nos
deadlocks circulares, além da alocação
desnecessária de recursos, podem ser formadas
filas de esperas pelos recursos envolvidos,
deteriorando o tempo de resposta do sistema,
podendo até causar situações de instabilidade ou
crash do sistema operacional.
 A maioria dos problemas que culminam com os
deadlocks estão relacionados com recursos
dedicados, isto é, com recursos que devem ser
utilizados serialmente, ou seja, por um processo de
cada vez [DEI92, p. 156].
DIAGRAMAS DE PROCESSOS E RECURSOS
 O estudo dos bloqueios perpétuos pode ser
bastante facilitado através da utilização de
diagramas especiais denominados diagramas de
alocação de recursos ou diagramas de processo
versus recursos ou ainda grafos de alocação de
recursos [SGG01, p. 162].
 Nestes diagramas existem apenas duas entidades,
processos e recursos, interligadas por arcos
direcionados. Os processos são representados
através de quadrados ou retângulos. Os recursos
são representados através de circunferências. Os
arcos direcionados unindo processos e recursos
são usados com dois significados distintos:
requisição de recursos e alocação de recursos.
 Na Figura 2.12 temos os elementos construtivos
possíveis deste tipo de diagrama.
Figura 2.12: Elementos do Diagrama de Processos x Recursos
 Recursos capazes de ser compartilhados podem
ser representados por pequenas circunferências,
dispostas dentro do recurso compartilhável, uma
para cada unidade de sua capacidade de
compartilhamento. Assim, através destes três
elementos (retângulos, circunferências e arcos)
podemos representar uma infinidade de diferentes
situações envolvendo processos, seus pedidos de
recursos (requests) e a alocação de recursos
determinada pelo sistema operacional (grants).
 Ao mesmo tempo, temos que são proibidas as
construções ilustradas na Figura 2.13, isto é,
processos requisitando ou alocando outros
processos e, da mesma forma, recursos
requisitando ou alocando outros recursos.
Figura 2.13: Situações proibidas no diagrama de processos e recursos
 Usualmente não se ilustram o uso de memória e
processador por parte dos processos, de modo que
passam a não existir processos isolados, isto é,
processos que não estejam utilizando algum outro
tipo de recurso. Na Tabela 2.3 estão relacionados
os recursos do sistema, os processos alocados os
processos requisitantes destes recursos.
 Através da Tabela 2.3 podemos construir o
diagrama de processos e recursos ilustrado na
Figura 2.14. Neste exemplo, embora exista disputa
por recursos (processos B e E requisitam o uso do
recurso W), não existe nenhum caminho fechado,
ou seja, não existe qualquer deadlock, sendo assim
este diagrama pode ser reduzido:
 1. D finaliza o uso de Z.
 2. Com Z livre, C libera W para alocar Z.
 3. Com W livre, ou B ou E poderão alocá-lo. Se B
for favorecido nesta disputa, alocando W, embora E
permaneça em espera, Y será liberado.
 4. Com Y livre, A libera X para alocar Y.
 5. Não surgindo novos processos, B libera W.
 6. Com W livre, E pode prosseguir sua execução.
 A redução, independentemente do tempo que os
processos utilizarão os recursos alocados, mostra
que tais processos serão atendidos dentro de um
intervalo de tempo menor ou maior. A despeito de
questões relacionadas com desempenho, esta a
situação desejável em um sistema.
 Diferentemente, a alocação e requisição de
recursos em um sistema pode configurar um
deadlock. Utilizando o diagrama de alocação de
recursos, poderíamos representar um deadlock
envolvendo dois processos e dois recursos, como
ilustra a Figura 2.15.
 Através destes diagramas, fica clara a situação da
formação de uma cadeia circular (um caminho
fechado) ligando uma sequência de requisições e
alocações de recursos do sistema por parte de um
grupo de processos.
Figura 2.15: Representação de deadlock envolvendo 2 processos
CONDIÇÕES PARA OCORRÊNCIA DE
DEADLOCKS
 Coffman, Elphick e Shoshani (1971) afirmam que
existem quatro condições para a ocorrência de um
deadlock:
 1. Os processos exigem controle exclusivo dos recursos
que solicitam (condição de exclusão mútua).
 2. Os processos mantêm alocados recursos enquanto
solicitam novos recursos (condição de espera por
recurso)
 3. Os recursos não podem ser retirados dos processos
que os mantêm alocados enquanto estes processos
não finalizam seu uso (condição de ausência de
preemptividade).
 4. Forma-se uma cadeia circular de processos, onde
cada processo solicita um recurso alocado pelo próximo
processo na cadeia (condição de
 espera circular).
 Segundo Tanenbaum [TAN92, p. 245] existem
basicamente quatro alternativas para o tratamento
dos bloqueios perpétuos, ou seja, quatro
estratégias básicas para resolvermos os problemas
dos deadlocks:
 1. Ignorar o problema (algoritmo da avestruz)
Apesar de não parecer uma solução para o
problema, devem ser consideradas a possibilidade
de ocorrência dos deadlocks e os custos
computacionais associados ao seu tratamento. A
alternativa mais simples realmente é ignorar o
problema e conviver com a possibilidade de sua
ocorrência. Os sistemas UNIX utilizam esta
aproximação favorecendo aspectos de
performance em situações mais comuns.
 2. Detecção e recuperação dos deadlocks
 Outra alternativa é permitir que os bloqueios
ocorram, procurando se detectá-los e recuperá-los.
Deve-se utilizar algum algoritmo que produza um
diagrama de alocação de recursos, analisando em
busca de caminhos fechados (deadlocks) utilizando
alguma técnica de recuperação. Estes algoritmos
especiais, que apesar da sobrecarga que
provocam, podem evitar maiores transtornos no
sistema possibilitando que na ocorrência dos
deadlocks estes sejam descobertos e eliminados.
 3. Prevenção dinâmica
 Os deadlocks podem ser prevenido através de
procedimentos cuidadosos de alocação que
analisam constantemente a possibilidade de
formação de cadeias circulares. Tais algoritmos
também são complexos e acabam por onerar o
sistema computacional.
 4. Prevenção estrutural
 Os deadlocks podem ser estruturalmente
eliminados de um sistema através da negação de
uma ou mais das quatro condições de ocorrência.
Para isto devem ser tratadas as condições de
Coffman et al., o que é resumidamente
apresentado na Tabela 2.4 abaixo.
Sistemas operacionais: condições e estratégias para evitar deadlocks

Weitere ähnliche Inhalte

Was ist angesagt?

Regiões críticas dos Sistemas Operacionais
Regiões críticas dos Sistemas OperacionaisRegiões críticas dos Sistemas Operacionais
Regiões críticas dos Sistemas OperacionaisAbadia Cardoso
 
High Avaiability Architeture with Oracle Data Guard Broker
High Avaiability Architeture with Oracle Data Guard BrokerHigh Avaiability Architeture with Oracle Data Guard Broker
High Avaiability Architeture with Oracle Data Guard BrokerJonatan Ritter
 
Apresentação Semáforos, monitores, troca de mensagens, Deadlock
Apresentação Semáforos, monitores, troca de mensagens, DeadlockApresentação Semáforos, monitores, troca de mensagens, Deadlock
Apresentação Semáforos, monitores, troca de mensagens, DeadlockWilliams Gomes da Silva
 
Programação Paralela - Threads
Programação Paralela - ThreadsProgramação Paralela - Threads
Programação Paralela - ThreadsGlaucio Scheibel
 
Mutexes, Monitores e Semáforos
Mutexes, Monitores e SemáforosMutexes, Monitores e Semáforos
Mutexes, Monitores e SemáforosThiago Poiani
 

Was ist angesagt? (10)

Regiões críticas dos Sistemas Operacionais
Regiões críticas dos Sistemas OperacionaisRegiões críticas dos Sistemas Operacionais
Regiões críticas dos Sistemas Operacionais
 
High Avaiability Architeture with Oracle Data Guard Broker
High Avaiability Architeture with Oracle Data Guard BrokerHigh Avaiability Architeture with Oracle Data Guard Broker
High Avaiability Architeture with Oracle Data Guard Broker
 
Apresentação Semáforos, monitores, troca de mensagens, Deadlock
Apresentação Semáforos, monitores, troca de mensagens, DeadlockApresentação Semáforos, monitores, troca de mensagens, Deadlock
Apresentação Semáforos, monitores, troca de mensagens, Deadlock
 
S.o aula 121314
S.o aula 121314S.o aula 121314
S.o aula 121314
 
Sd04 (si) comunicação em sd
Sd04 (si)   comunicação em sdSd04 (si)   comunicação em sd
Sd04 (si) comunicação em sd
 
Integração com Banco de Dados
Integração com Banco de DadosIntegração com Banco de Dados
Integração com Banco de Dados
 
Sessões
SessõesSessões
Sessões
 
Programação Paralela - Threads
Programação Paralela - ThreadsProgramação Paralela - Threads
Programação Paralela - Threads
 
Arquitetura SINFO 1.1
Arquitetura SINFO 1.1Arquitetura SINFO 1.1
Arquitetura SINFO 1.1
 
Mutexes, Monitores e Semáforos
Mutexes, Monitores e SemáforosMutexes, Monitores e Semáforos
Mutexes, Monitores e Semáforos
 

Andere mochten auch

Evaluacción
EvaluacciónEvaluacción
Evaluaccióncgelvis
 
Sec 1 geog starter lesson 2016
Sec 1 geog starter lesson 2016Sec 1 geog starter lesson 2016
Sec 1 geog starter lesson 2016critter33
 
El tiempo y el espacio no importan
El tiempo y el espacio no importanEl tiempo y el espacio no importan
El tiempo y el espacio no importanfoco44
 
Interesting facts behind RS elections
Interesting facts behind RS electionsInteresting facts behind RS elections
Interesting facts behind RS electionstelugustop.com
 
Les 7 principaux reseau-sociaux
Les 7 principaux reseau-sociauxLes 7 principaux reseau-sociaux
Les 7 principaux reseau-sociauxcaroline nolin
 
CURRICULAM VITAE - PRAVEEN
CURRICULAM VITAE - PRAVEENCURRICULAM VITAE - PRAVEEN
CURRICULAM VITAE - PRAVEENPraveen Csi
 
Juan manuel santos presentacion
Juan manuel santos presentacionJuan manuel santos presentacion
Juan manuel santos presentacionJhones1987
 
Juan manuel santos presentacion
Juan manuel santos presentacionJuan manuel santos presentacion
Juan manuel santos presentacionJhones1987
 
Compu cholos
Compu cholosCompu cholos
Compu cholosnoveblog
 
El willys mb.pptx. antonio horacio stiuso
El willys mb.pptx. antonio horacio stiusoEl willys mb.pptx. antonio horacio stiuso
El willys mb.pptx. antonio horacio stiusoAntonioCabrala
 
Programación vacaciones creativas jóvenes
Programación vacaciones creativas jóvenesProgramación vacaciones creativas jóvenes
Programación vacaciones creativas jóvenesConsejoJuventud
 
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...bmeme
 
Sobre Social Business Design
Sobre Social Business DesignSobre Social Business Design
Sobre Social Business DesignAna Barroso
 

Andere mochten auch (20)

S.o aula 2526
S.o aula 2526S.o aula 2526
S.o aula 2526
 
Circuit
CircuitCircuit
Circuit
 
Evaluacción
EvaluacciónEvaluacción
Evaluacción
 
¿Para qué?
¿Para qué?¿Para qué?
¿Para qué?
 
Ajay Soni_CoverLetter
Ajay Soni_CoverLetterAjay Soni_CoverLetter
Ajay Soni_CoverLetter
 
Sec 1 geog starter lesson 2016
Sec 1 geog starter lesson 2016Sec 1 geog starter lesson 2016
Sec 1 geog starter lesson 2016
 
El tiempo y el espacio no importan
El tiempo y el espacio no importanEl tiempo y el espacio no importan
El tiempo y el espacio no importan
 
Valores
ValoresValores
Valores
 
Interesting facts behind RS elections
Interesting facts behind RS electionsInteresting facts behind RS elections
Interesting facts behind RS elections
 
Les 7 principaux reseau-sociaux
Les 7 principaux reseau-sociauxLes 7 principaux reseau-sociaux
Les 7 principaux reseau-sociaux
 
CURRICULAM VITAE - PRAVEEN
CURRICULAM VITAE - PRAVEENCURRICULAM VITAE - PRAVEEN
CURRICULAM VITAE - PRAVEEN
 
Juan manuel santos presentacion
Juan manuel santos presentacionJuan manuel santos presentacion
Juan manuel santos presentacion
 
Lo imposible
Lo imposibleLo imposible
Lo imposible
 
Juan manuel santos presentacion
Juan manuel santos presentacionJuan manuel santos presentacion
Juan manuel santos presentacion
 
Compu cholos
Compu cholosCompu cholos
Compu cholos
 
El willys mb.pptx. antonio horacio stiuso
El willys mb.pptx. antonio horacio stiusoEl willys mb.pptx. antonio horacio stiuso
El willys mb.pptx. antonio horacio stiuso
 
Programación vacaciones creativas jóvenes
Programación vacaciones creativas jóvenesProgramación vacaciones creativas jóvenes
Programación vacaciones creativas jóvenes
 
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...
La piattaforma web di CNA: Istanze Drupal replicabili integrate con Alfresco ...
 
Sobre Social Business Design
Sobre Social Business DesignSobre Social Business Design
Sobre Social Business Design
 
Blue biotechnology
Blue biotechnologyBlue biotechnology
Blue biotechnology
 

Ähnlich wie Sistemas operacionais: condições e estratégias para evitar deadlocks

Ähnlich wie Sistemas operacionais: condições e estratégias para evitar deadlocks (20)

S.o aula 9101112
S.o aula 9101112S.o aula 9101112
S.o aula 9101112
 
S.o aula 1920
S.o aula 1920S.o aula 1920
S.o aula 1920
 
S.o aula 1516
S.o aula 1516S.o aula 1516
S.o aula 1516
 
Impasses S.O
Impasses S.OImpasses S.O
Impasses S.O
 
Conceitos básicos de sistemas operacionais
Conceitos básicos de sistemas operacionaisConceitos básicos de sistemas operacionais
Conceitos básicos de sistemas operacionais
 
Gerências de Processos: Sincronização
Gerências de Processos: SincronizaçãoGerências de Processos: Sincronização
Gerências de Processos: Sincronização
 
Exercicios 01 02 tms i
Exercicios 01 02 tms iExercicios 01 02 tms i
Exercicios 01 02 tms i
 
Uma_interface_em_linguagem_natural_para
Uma_interface_em_linguagem_natural_paraUma_interface_em_linguagem_natural_para
Uma_interface_em_linguagem_natural_para
 
Aula 02-processos-e-threads-tanenbaum-parte-1
Aula 02-processos-e-threads-tanenbaum-parte-1Aula 02-processos-e-threads-tanenbaum-parte-1
Aula 02-processos-e-threads-tanenbaum-parte-1
 
Atps sistemas operacionais
Atps sistemas operacionaisAtps sistemas operacionais
Atps sistemas operacionais
 
Cluster ha com banco de dados
Cluster ha com banco de dadosCluster ha com banco de dados
Cluster ha com banco de dados
 
Parte1f
Parte1fParte1f
Parte1f
 
Apostila Oracle 10g
Apostila Oracle 10gApostila Oracle 10g
Apostila Oracle 10g
 
Criando Aplicações Resilientes
Criando Aplicações ResilientesCriando Aplicações Resilientes
Criando Aplicações Resilientes
 
Java13
Java13Java13
Java13
 
Bancos de dados distribuídos
Bancos de dados distribuídosBancos de dados distribuídos
Bancos de dados distribuídos
 
Net - Threads
Net - ThreadsNet - Threads
Net - Threads
 
Threads - .Net Framework 4.0
Threads - .Net Framework 4.0Threads - .Net Framework 4.0
Threads - .Net Framework 4.0
 
AVALIAÇÃO DO ESCOAMENTO DE FLUIDOS INCOMPRESSÍVEIS EM TUBULAÇÕES USANDO CFD
AVALIAÇÃO DO ESCOAMENTO DE FLUIDOS INCOMPRESSÍVEIS EM TUBULAÇÕES USANDO CFDAVALIAÇÃO DO ESCOAMENTO DE FLUIDOS INCOMPRESSÍVEIS EM TUBULAÇÕES USANDO CFD
AVALIAÇÃO DO ESCOAMENTO DE FLUIDOS INCOMPRESSÍVEIS EM TUBULAÇÕES USANDO CFD
 
Clusters, o que é?
Clusters, o que é?Clusters, o que é?
Clusters, o que é?
 

Mehr von Armando Rivarola (20)

I.h aula 6 7 8 9 10 11 12
I.h aula 6 7 8 9 10 11 12I.h aula 6 7 8 9 10 11 12
I.h aula 6 7 8 9 10 11 12
 
I.h aula 1 2 3 4 5
I.h aula 1 2 3 4 5I.h aula 1 2 3 4 5
I.h aula 1 2 3 4 5
 
S.o aula 3334
S.o aula 3334S.o aula 3334
S.o aula 3334
 
S.o aula 3132
S.o aula 3132S.o aula 3132
S.o aula 3132
 
S.o aula 2930
S.o aula 2930S.o aula 2930
S.o aula 2930
 
Aula so 1a
Aula so 1aAula so 1a
Aula so 1a
 
S.o aula 2728
S.o aula 2728S.o aula 2728
S.o aula 2728
 
S.o aula 2324
S.o aula 2324S.o aula 2324
S.o aula 2324
 
S.o aula 2122
S.o aula 2122S.o aula 2122
S.o aula 2122
 
Calc
CalcCalc
Calc
 
Apostila de broffice writer
Apostila de broffice writerApostila de broffice writer
Apostila de broffice writer
 
S.o aula 5678
S.o aula 5678S.o aula 5678
S.o aula 5678
 
Comunicação de dados!
Comunicação de dados!Comunicação de dados!
Comunicação de dados!
 
S.o aula 1234
S.o aula 1234S.o aula 1234
S.o aula 1234
 
Apostila excel básico
Apostila excel básicoApostila excel básico
Apostila excel básico
 
Exercicios WEB D.
Exercicios WEB D.Exercicios WEB D.
Exercicios WEB D.
 
Conceitos de sistema de informação
Conceitos de sistema de informaçãoConceitos de sistema de informação
Conceitos de sistema de informação
 
Formulario entrevista desligamento
Formulario entrevista desligamentoFormulario entrevista desligamento
Formulario entrevista desligamento
 
Avaliação de desempenho
Avaliação de desempenhoAvaliação de desempenho
Avaliação de desempenho
 
Recursos humanos procedimentos basicos para o servidor
Recursos humanos procedimentos basicos para o servidorRecursos humanos procedimentos basicos para o servidor
Recursos humanos procedimentos basicos para o servidor
 

Kürzlich hochgeladen

Slides criatividade 01042024 finalpdf Portugues.pdf
Slides criatividade 01042024 finalpdf Portugues.pdfSlides criatividade 01042024 finalpdf Portugues.pdf
Slides criatividade 01042024 finalpdf Portugues.pdfpaulafernandes540558
 
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxAula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxBiancaNogueira42
 
Educação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPEducação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPanandatss1
 
FCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimirFCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimirIedaGoethe
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOMarcosViniciusLemesL
 
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbv19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbyasminlarissa371
 
Dança Contemporânea na arte da dança primeira parte
Dança Contemporânea na arte da dança primeira parteDança Contemporânea na arte da dança primeira parte
Dança Contemporânea na arte da dança primeira partecoletivoddois
 
Bingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosBingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosAntnyoAllysson
 
Noções de Orçamento Público AFO - CNU - Aula 1 - Alunos.pdf
Noções de Orçamento Público AFO - CNU - Aula 1 - Alunos.pdfNoções de Orçamento Público AFO - CNU - Aula 1 - Alunos.pdf
Noções de Orçamento Público AFO - CNU - Aula 1 - Alunos.pdfdottoor
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxIsabelaRafael2
 
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxIsabellaGomes58
 
PLANEJAMENTO anual do 3ANO fundamental 1 MG.pdf
PLANEJAMENTO anual do  3ANO fundamental 1 MG.pdfPLANEJAMENTO anual do  3ANO fundamental 1 MG.pdf
PLANEJAMENTO anual do 3ANO fundamental 1 MG.pdfProfGleide
 
VALORES HUMANOS NA DISCIPLINA DE ENSINO RELIGIOSO
VALORES HUMANOS NA DISCIPLINA DE ENSINO RELIGIOSOVALORES HUMANOS NA DISCIPLINA DE ENSINO RELIGIOSO
VALORES HUMANOS NA DISCIPLINA DE ENSINO RELIGIOSOBiatrizGomes1
 
Geometria 5to Educacion Primaria EDU Ccesa007.pdf
Geometria  5to Educacion Primaria EDU  Ccesa007.pdfGeometria  5to Educacion Primaria EDU  Ccesa007.pdf
Geometria 5to Educacion Primaria EDU Ccesa007.pdfDemetrio Ccesa Rayme
 
PRIMEIRO---RCP - DEA - BLS estudos - basico
PRIMEIRO---RCP - DEA - BLS estudos - basicoPRIMEIRO---RCP - DEA - BLS estudos - basico
PRIMEIRO---RCP - DEA - BLS estudos - basicoSilvaDias3
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISVitor Vieira Vasconcelos
 
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...LuizHenriquedeAlmeid6
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresaulasgege
 

Kürzlich hochgeladen (20)

Slides criatividade 01042024 finalpdf Portugues.pdf
Slides criatividade 01042024 finalpdf Portugues.pdfSlides criatividade 01042024 finalpdf Portugues.pdf
Slides criatividade 01042024 finalpdf Portugues.pdf
 
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxAula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
 
Educação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SPEducação São Paulo centro de mídias da SP
Educação São Paulo centro de mídias da SP
 
treinamento brigada incendio 2024 no.ppt
treinamento brigada incendio 2024 no.ppttreinamento brigada incendio 2024 no.ppt
treinamento brigada incendio 2024 no.ppt
 
FCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimirFCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimir
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
 
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbv19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
v19n2s3a25.pdfgcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
 
Dança Contemporânea na arte da dança primeira parte
Dança Contemporânea na arte da dança primeira parteDança Contemporânea na arte da dança primeira parte
Dança Contemporânea na arte da dança primeira parte
 
Bingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteirosBingo da potenciação e radiciação de números inteiros
Bingo da potenciação e radiciação de números inteiros
 
Noções de Orçamento Público AFO - CNU - Aula 1 - Alunos.pdf
Noções de Orçamento Público AFO - CNU - Aula 1 - Alunos.pdfNoções de Orçamento Público AFO - CNU - Aula 1 - Alunos.pdf
Noções de Orçamento Público AFO - CNU - Aula 1 - Alunos.pdf
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
 
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
 
PLANEJAMENTO anual do 3ANO fundamental 1 MG.pdf
PLANEJAMENTO anual do  3ANO fundamental 1 MG.pdfPLANEJAMENTO anual do  3ANO fundamental 1 MG.pdf
PLANEJAMENTO anual do 3ANO fundamental 1 MG.pdf
 
VALORES HUMANOS NA DISCIPLINA DE ENSINO RELIGIOSO
VALORES HUMANOS NA DISCIPLINA DE ENSINO RELIGIOSOVALORES HUMANOS NA DISCIPLINA DE ENSINO RELIGIOSO
VALORES HUMANOS NA DISCIPLINA DE ENSINO RELIGIOSO
 
Geometria 5to Educacion Primaria EDU Ccesa007.pdf
Geometria  5to Educacion Primaria EDU  Ccesa007.pdfGeometria  5to Educacion Primaria EDU  Ccesa007.pdf
Geometria 5to Educacion Primaria EDU Ccesa007.pdf
 
PRIMEIRO---RCP - DEA - BLS estudos - basico
PRIMEIRO---RCP - DEA - BLS estudos - basicoPRIMEIRO---RCP - DEA - BLS estudos - basico
PRIMEIRO---RCP - DEA - BLS estudos - basico
 
Prática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGISPrática de interpretação de imagens de satélite no QGIS
Prática de interpretação de imagens de satélite no QGIS
 
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
Slides Lição 3, Betel, Ordenança para congregar e prestar culto racional, 2Tr...
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autores
 

Sistemas operacionais: condições e estratégias para evitar deadlocks

  • 1. MATÉRIA: SISTEMA OPERACIONAL (S.O) PROFESSOR: ARMANDO RIVAROLA, LICENCIADO EM COMPUTAÇÃO
  • 2. DEADLOCKS  Em sistema multiprogramado, o termo deadlock, ou seja, bloqueio perpétuo ou impasse, significa um evento que jamais irá ocorrer [DEI92, TAN92, SGG01]. Dizemos que um processo está em deadlock quando espera por um evento particular que jamais acontecerá. Igualmente dizemos que um sistema está em deadlock quando um ou mais processos estão nesta situação.
  • 3.  Segundo Tanenbaum:  Um conjunto de processos está num bloqueio perpétuo quando cada processo do conjunto está esperando por um evento que apenas outro processo do conjunto pode causar. [TAN92, p. 242].  Observemos a Figura 2.11, onde temos ilustrado um deadlock que pode ocorrer em duas linhas de trens cujas interseções não são compartilháveis. Problemas semelhantes podem ocorrer no trânsito de uma metrópole.
  • 4.  Um bloqueio perpétuo pode ocorrer de diferentes maneiras:  • Quando um processo é colocado em espera por algo e o sistema operacional não inclui qualquer previsão para o atendimento desta espera dizemos que ocorreu o bloqueio perpétuo de um processo único (oneprocess deadlock).  • Quando se forma uma cadeia sucessiva de solicitações de recursos que culminam num arranjo circular, onde um processo A, que detêm um recurso R1, solicita um recurso R2 alocado para um processo B, que por sua vez está solicitando o recurso R1, em uso por A (veja a Figura 2.15). Como nenhum processo de dispõe a, voluntariamente, liberar o recurso que aloca, configura-se uma situação de bloqueio perpétuo.
  • 6.  Independentemente do tipo, os deadlocks causam prejuízos sérios ao sistema, pois mesmo num one- process deadlock, recursos ficam alocados desnecessariamente, o que significa que restarão menos recursos para os demais processos. Nos deadlocks circulares, além da alocação desnecessária de recursos, podem ser formadas filas de esperas pelos recursos envolvidos, deteriorando o tempo de resposta do sistema, podendo até causar situações de instabilidade ou crash do sistema operacional.  A maioria dos problemas que culminam com os deadlocks estão relacionados com recursos dedicados, isto é, com recursos que devem ser utilizados serialmente, ou seja, por um processo de cada vez [DEI92, p. 156].
  • 7. DIAGRAMAS DE PROCESSOS E RECURSOS  O estudo dos bloqueios perpétuos pode ser bastante facilitado através da utilização de diagramas especiais denominados diagramas de alocação de recursos ou diagramas de processo versus recursos ou ainda grafos de alocação de recursos [SGG01, p. 162].  Nestes diagramas existem apenas duas entidades, processos e recursos, interligadas por arcos direcionados. Os processos são representados através de quadrados ou retângulos. Os recursos são representados através de circunferências. Os arcos direcionados unindo processos e recursos são usados com dois significados distintos: requisição de recursos e alocação de recursos.
  • 8.  Na Figura 2.12 temos os elementos construtivos possíveis deste tipo de diagrama. Figura 2.12: Elementos do Diagrama de Processos x Recursos
  • 9.  Recursos capazes de ser compartilhados podem ser representados por pequenas circunferências, dispostas dentro do recurso compartilhável, uma para cada unidade de sua capacidade de compartilhamento. Assim, através destes três elementos (retângulos, circunferências e arcos) podemos representar uma infinidade de diferentes situações envolvendo processos, seus pedidos de recursos (requests) e a alocação de recursos determinada pelo sistema operacional (grants).  Ao mesmo tempo, temos que são proibidas as construções ilustradas na Figura 2.13, isto é, processos requisitando ou alocando outros processos e, da mesma forma, recursos requisitando ou alocando outros recursos.
  • 10. Figura 2.13: Situações proibidas no diagrama de processos e recursos
  • 11.  Usualmente não se ilustram o uso de memória e processador por parte dos processos, de modo que passam a não existir processos isolados, isto é, processos que não estejam utilizando algum outro tipo de recurso. Na Tabela 2.3 estão relacionados os recursos do sistema, os processos alocados os processos requisitantes destes recursos.  Através da Tabela 2.3 podemos construir o diagrama de processos e recursos ilustrado na Figura 2.14. Neste exemplo, embora exista disputa por recursos (processos B e E requisitam o uso do recurso W), não existe nenhum caminho fechado, ou seja, não existe qualquer deadlock, sendo assim este diagrama pode ser reduzido:
  • 12.  1. D finaliza o uso de Z.  2. Com Z livre, C libera W para alocar Z.
  • 13.  3. Com W livre, ou B ou E poderão alocá-lo. Se B for favorecido nesta disputa, alocando W, embora E permaneça em espera, Y será liberado.  4. Com Y livre, A libera X para alocar Y.  5. Não surgindo novos processos, B libera W.  6. Com W livre, E pode prosseguir sua execução.  A redução, independentemente do tempo que os processos utilizarão os recursos alocados, mostra que tais processos serão atendidos dentro de um intervalo de tempo menor ou maior. A despeito de questões relacionadas com desempenho, esta a situação desejável em um sistema.
  • 14.  Diferentemente, a alocação e requisição de recursos em um sistema pode configurar um deadlock. Utilizando o diagrama de alocação de recursos, poderíamos representar um deadlock envolvendo dois processos e dois recursos, como ilustra a Figura 2.15.  Através destes diagramas, fica clara a situação da formação de uma cadeia circular (um caminho fechado) ligando uma sequência de requisições e alocações de recursos do sistema por parte de um grupo de processos.
  • 15. Figura 2.15: Representação de deadlock envolvendo 2 processos
  • 16. CONDIÇÕES PARA OCORRÊNCIA DE DEADLOCKS  Coffman, Elphick e Shoshani (1971) afirmam que existem quatro condições para a ocorrência de um deadlock:  1. Os processos exigem controle exclusivo dos recursos que solicitam (condição de exclusão mútua).  2. Os processos mantêm alocados recursos enquanto solicitam novos recursos (condição de espera por recurso)  3. Os recursos não podem ser retirados dos processos que os mantêm alocados enquanto estes processos não finalizam seu uso (condição de ausência de preemptividade).  4. Forma-se uma cadeia circular de processos, onde cada processo solicita um recurso alocado pelo próximo processo na cadeia (condição de  espera circular).
  • 17.  Segundo Tanenbaum [TAN92, p. 245] existem basicamente quatro alternativas para o tratamento dos bloqueios perpétuos, ou seja, quatro estratégias básicas para resolvermos os problemas dos deadlocks:  1. Ignorar o problema (algoritmo da avestruz) Apesar de não parecer uma solução para o problema, devem ser consideradas a possibilidade de ocorrência dos deadlocks e os custos computacionais associados ao seu tratamento. A alternativa mais simples realmente é ignorar o problema e conviver com a possibilidade de sua ocorrência. Os sistemas UNIX utilizam esta aproximação favorecendo aspectos de performance em situações mais comuns.
  • 18.  2. Detecção e recuperação dos deadlocks  Outra alternativa é permitir que os bloqueios ocorram, procurando se detectá-los e recuperá-los. Deve-se utilizar algum algoritmo que produza um diagrama de alocação de recursos, analisando em busca de caminhos fechados (deadlocks) utilizando alguma técnica de recuperação. Estes algoritmos especiais, que apesar da sobrecarga que provocam, podem evitar maiores transtornos no sistema possibilitando que na ocorrência dos deadlocks estes sejam descobertos e eliminados.
  • 19.  3. Prevenção dinâmica  Os deadlocks podem ser prevenido através de procedimentos cuidadosos de alocação que analisam constantemente a possibilidade de formação de cadeias circulares. Tais algoritmos também são complexos e acabam por onerar o sistema computacional.  4. Prevenção estrutural  Os deadlocks podem ser estruturalmente eliminados de um sistema através da negação de uma ou mais das quatro condições de ocorrência. Para isto devem ser tratadas as condições de Coffman et al., o que é resumidamente apresentado na Tabela 2.4 abaixo.