SlideShare uma empresa Scribd logo
1 de 40
Sistemas Operacionais I
Gerência de Processos: Deadlocks
Prof. Alexandre Duarte : http://alexandrend.com
Centro de Informática | Universidade Federal da Paraíba
Estes slides são baseados no material que acompanha o livro Operating
Systems Concepts de Silberschatz, Galvin and Gagne
Objetivos
 Apresentar um descriç ão formal de deadlock,
um problema que impede que conjuntos de
processos colaborativos possam completar
suas tarefas
 Apresentar algumas técnicas e métodos para
prevenir e impedir a ocorrência de deadlocks
em sistemas computacionais
O problema
 Um conjunto de processos bloqueados onde cada um possui
o controle de um recursos e aguarda para obter o controle de
um outro recurso mantido por um outro processo no conjunto
 Exemplo
 O sistema possui dois discos rígidos
 P1 e P2 mantém cada um o controle de um dos discos e deseja
obter o controle do outro disco
 Exemplo
 semáforos A e B, inicializados com 1
P0 P1
wait (A); wait(B)
wait (B); wait(A)
Exemplo do cruzamento da ponte
 Tráfego em apenas um sentido
 Cada seç ão da ponte pode ser vista como um recurso
 Se um deadlock ocorrer ele pode ser resolvido se um dos
carros der ré (preempç ão e reversão)
 Vários carros podem precisar dar ré caso ocorra um
deadlockStarvation is possible
 A maioria dos SOs não previne ou resolve deadlocks
Caracterização de deadlocks
 Exclusão mútua: apenas um processo pode utilizar um recurso
por vez
 Posse e espera: um processo em posse de um recurso pode
esperar para adquirir recursos adicionais em posse de outros
processos
 Não preempç ão: um recurso só pode ser liberado
voluntariamente pelo processo que o estáutilizando
 Espera circular: existe um conjunto de processos bloqueados
{P0, P1, …, P0} onde P0 aguarda por um recurso em posse de P1, P1
aguarda por um recurso em posse de P2, …, Pn–1 aguarda por um
recurso em posse de Pn, e Pn aguarda um recurso em posse de P0.
Modelagem do sistema
 Tipos de recursos R1, R2, . . ., Rm
ciclos de CPU, espaço de memória, dispositivos de E/S
 Cada tipo de recurso Ri possui Wi instâncias.
 Cada processo utiliza um recurso como
segue:
 requisiç ão
 Uso
 liberaç ão
Grafo de alocação de recursos
 O conjunto V possui dois tipos de vértices:
 P = {P1, P2, …, Pn}, representando todos os
processos no sistema
 R = {R1, R2, …, Rm}, representando todos os
recursos no sistema
 Aresta de solicitaç ão: – uma aresta de um
processo para um recurso (Pi → Rj)
 Aresta de atribuiç ão: um vértice de um recurso
para um processo (Rj → Pi)
Grafo de alocação de recursos
 Processo
 Tipo de recurso com 4 instâncias
 Pi requisita uma instância de Rj
 Pi estáem posse de uma instância de Rj
Pi
Pi
Rj
Rj
Exemplo de um grafo de alocação
de recursos
Grafo de alocação de recursos com
deadlock
Grafo com um ciclo mas sem
deadlock
Fatos básicos
 Se o grafo não possui ciclos ⇒ não hádeadlock
 Se o grafo possui ciclos ⇒
 se háapenas uma instância por tipo de recurso
então tem-se um deadlock
 se hámais de uma instância por tipo de recurso
então háa possibilidade de um deadlock
Métodos para lidar com deadlocks
 Garantir que o sistema nunca entraráem um
estado de deadlock
 Permitir que o sistema entre em deadlock e
recuperar o sistema
 Ignorar o problema e fingir que deadlocks
nunca ocorrem (utilizado pela maioria dos
sistemas operacionais, incluindo Unix)
Prevenção de deadlocks
 Exclusão mútua – não é necessária para recursos
compartilháveis; precisa valer para recursos não
compartilháveis
 Posse e espera – precisa garantir que sempre que
um processo requisite novos recursos ele não esteja
em posse de nenhum outro recurso
 Exigir que um processo requisite e receba todos os
recursos antes de iniciar sua execução, ou permitir que um
processo só requisite recursos quando não tiver nenhum
recurso
 Implica em baixa utilização de recurso e possibilidade de
starvation
Prevenção de dadlocks
 Não-preempç ão
 Se um processo que estáde posse de um recurso solicita um
outro recurso que não pode ser alocado imediatamente para ele
todos os recursos em seu poder são imediatamente liberados
 Os recursos liberados são adicionados à lista de recursos
necessários para a execuç ão do processo
 O processo seráreiniciado quando puder obter novamente todos
os recursos que játinha e também os novos recursos de que
necessitava
 Espera circular – impor uma ordenação total nos tipos de
recursos e exigir que todos os processo requisitem os
recursos em ordem crescente de numeração
Impedimento de deadlocks
 A forma mais simples e útil requer que cada
processo declare a quantidade máxima de cada
tipo de recurso disponível que ele pode precisar
 O algoritmo de impedimento de deadlocks
examina dinamicamente o estado da alocaç ão de
recursos para garantir que jamais ocorra uma
condiç ão de espera circular
 O estado da alocaç ão de recursos é definido pela
quantidade de recursos disponíveis e alocados e
pelas demandas máximas dos processos
Estado seguro
 Quando um processo requisita um recurso disponível, o sistema
precisa decidir se a alocaç ão imediata deixa o sistema em um
estado seguro
 O sistema estáem um estado seguro se existe uma sequência <P1,
P2, …, Pn> com todos os processos do sistema na qual para cada
Pi, os recursos que Pi ainda pode precisar podem ser alocados com
os recursos disponíveis no momento + recursos em posse dos
processos Pj, com j < i
 Ou seja:
 Se os recursos que Pi precisa não puderem ser fornecidos
imediatamente, Pi pode esperar até que todos os processos Pj terminem
 Quando Pj terminar, Pi pode obter os recursos necessários, executar,
liberar os recursos e terminar
 Quanto Pi termina, Pi +1 pode obter os recursos de que necessita e assim
por diante
Fatos básicos
 Se o sistema estáem um estado seguro ⇒ não
hádeadlock
 Se o sistema estáem um estado inseguro ⇒ há
possibilidade de deadlock
 Impedimento ⇒ garantir que o sistema jamais
entre em um estado inseguro
Estado seguro, inseguro e de deadlock
Algoritmos para impedimento de
deadlocks
 Instância única para cada recurso
 Utilizar um grafo de alocaç ão de
recursos
 Múltiplas instâncias de algum tipo de
recurso
 Utilizar o algoritmo do banqueiro
Esquema do grafo de alocação de
recursos
 Aresta de requisiç ão: Pi → Rj indica que um processo Pj pode vir a
requisitar o recursos Rj; representada por uma linha pontilhada
 Arestas de requisiç ão são convertidas em arestas de solicitaç ão
quando o processo efetivamente requisita o recurso
 Uma aresta de solicitaç ão é convertida em uma aresta de
atribuiç ão quando o recurso é alocado para o processo
 Quando o recurso é liberado pelo processo a aresta de atribuiç ão é
novamente convertida para uma aresta de requisiç ão
 Os processos precisam anunciar a priori para o sistema quais
recursos podem vir a solicitar, criando inicialmente todas as arestas
de requisiç ão
Grafo de alocação de recursos
Grafo de alocação de recursos inseguro
Algoritmo do grafo de alocação de
recursos
 Suponha que o processo Pi requisite um
recursos Rj
 Essa requisiç ão só pode ser autorizado se
converter a aresta de requisiç ão em uma
aresta de atribuiç ão não resultar na formaç ão
de um ciclo no grafo de alocaç ão de recursos
Algoritmo do banqueiro
 Múltiplas instâncias
 Cada processo deve declarar a priori a utilizaç ão
máxima de recursos
 Quando um processo solicita recursos ele pode
ter que esperar
 Quando um processo obtém todos os recursos de
que necessita ele deve liberá-los em uma
quantidade finita de tempo
Estruturas de dados utilizadas pelo
algoritmo do banqueiro
 Disponível: Vetor de comprimento m. Se disponivel [j] = k,
existem k instâncias do recurso Rj disponíveis
 Max: matriz n x m matrix. Se Max [i,j] = k, então o Pi pode solicitar,
no máximo, k instâncias do recurso Rj
 Alocaç ão: matriz n x m. Se alocaç ão [i,j] = k então o processo Pi
estáatualmente em posse de k instâncias do recursos Rj
 Necessidade: matriz n x m. Se necessidade [i,j] = k, então o
processo Pi pode precisar de mais k instâncias do recurso Rj para
poder completar sua tarefa
Necessidade [i,j] = Max[i,j] – Alocação [i,j]
Algoritmo de segurança
Algoritmo para solicitação de recursos
Exemplo de execução do algoritmo do
banqueiro
Exemplo de execução do algoritmo do
banqueiro
 O estado atual é seguro?
 O que acontece se o sistema receber a
seguinte sequência de solicitações?
 P1 requisita (1,0,2)
 P4 requisita (3,3,0)
 P0 requisita (0,2,0)
Detecção de deadlocks
 Permite que o sistema entre em um estado de
deadlock
 Utiliza um algoritmo de detecç ão para
identificar esta situaç ão
 Utiliza um esquema de recuperaç ão para
eliminar o deadlock
Instância única de cada recurso
 Mantem um grafo de espera
 Os nó s são processos
 Pi → Pj se Pi estáesperando por Pj
 Um algoritmo de detecç ão de ciclos é executado
periodicamente. Se existe um ciclo, existe um
deadlock
 Um algoritmo para detecç ão de ciclos tem
complexidade O(n2
), onde n é o número de nó s no
grafo
Grafo de alocação de recursos e grafo de
espera
Várias instâncias de um recurso
 Disponível: Um vetor de comprimento m indica
a quantidade de instâncias disponíveis para cada
tipo de recurso
 Alocaç ão: Uma matriz n x m define o número de
instâncias de cada tipo de recurso alocadas para
cada processo
 Requisiç ão: Uma matriz n x m indicando as
requisiç ões realizadas por cada processo. Se
requisição [ij] = k, o processo Pi estárequisitando
mais k instâncias do recurso Rj.
Algoritmo de detecção
Exemplo do algoritmo de detecção
Exemplo do algoritmo de detecção
 O sistema está em deadlock?
 O que acontece se P2 requisitar uma instância
a mais do recursos C ?
Uso do algoritmo de detecção
 Quando e com que frequência invocar o algoritmo
depende de:
 O quão frequente é a ocorrência de um deadlock
 Quantos processos precisaram ser revertidos?
 um para cada ciclo disjunto
 Se o algoritmo for executado arbitrariamente ele
pode encontrar vários ciclos no grafo de recursos
e pode não ser possível identificar qual dentre os
processos em deadlock “causou” o problema.
Recuperação: Terminação de processos
 Matar todos os processos em deadlock
 Matar um processo de cada vez até que o ciclo seja desfeito
 Em que ordem matar os processos?
 Prioridade
 Tempo de computaç ão e tempo adicional necessário para
conclusão
 Recursos utilizados pelo processo
 Recursos necessários para que o processo conclua sua
execuç ão
 Quantidade de processos a ser finalizada
 O processo é interativo ou de lote?
Recuperação: Preempção de recursos
 Selecionar uma vítima que minimize os custos
 Retroceder o processo: voltar para algum
estado seguro
 Starvation – o mesmo processo pode ser
sempre escolhido como vítima

Mais conteúdo relacionado

Mais procurados

Penjadwalan CPU_Arya Putra Abshari (210209501101)_PTIK C 2021.pdf
Penjadwalan CPU_Arya Putra Abshari (210209501101)_PTIK C 2021.pdfPenjadwalan CPU_Arya Putra Abshari (210209501101)_PTIK C 2021.pdf
Penjadwalan CPU_Arya Putra Abshari (210209501101)_PTIK C 2021.pdfARYAPUTRAABSHARI
 
Aula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoAula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoDaniel Brandão
 
SO-03 Comunicação e Sincronização de Processos
SO-03 Comunicação e Sincronização de ProcessosSO-03 Comunicação e Sincronização de Processos
SO-03 Comunicação e Sincronização de ProcessosEduardo Nicola F. Zagari
 
Introdução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de ComputadoresIntrodução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de ComputadoresWellington Oliveira
 
2009 1 - sistemas operacionais - aula 7 - deadlocks
2009 1 - sistemas operacionais - aula 7 - deadlocks2009 1 - sistemas operacionais - aula 7 - deadlocks
2009 1 - sistemas operacionais - aula 7 - deadlocksComputação Depressão
 
So gabarito exerciciosescalonamentocpu-2012
So gabarito exerciciosescalonamentocpu-2012So gabarito exerciciosescalonamentocpu-2012
So gabarito exerciciosescalonamentocpu-2012Bill Lima
 
Sistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockSistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockWellington Oliveira
 
Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)Leinylson Fontinele
 
Categorias de Escalonamento e Objetivos do Algorítmo Escalonador
Categorias de Escalonamento e Objetivos do Algorítmo EscalonadorCategorias de Escalonamento e Objetivos do Algorítmo Escalonador
Categorias de Escalonamento e Objetivos do Algorítmo EscalonadorSofia Trindade
 
Yuliana - Manajemen Memori Sistem Operasi
Yuliana  -  Manajemen Memori Sistem OperasiYuliana  -  Manajemen Memori Sistem Operasi
Yuliana - Manajemen Memori Sistem Operasibelajarkomputer
 
Introdução à Informática
Introdução à InformáticaIntrodução à Informática
Introdução à Informáticavanessa.barros
 
Programação Orientada a objetos em Java
Programação Orientada a objetos em JavaProgramação Orientada a objetos em Java
Programação Orientada a objetos em JavaDenis L Presciliano
 

Mais procurados (20)

03 - Placa-Mãe.pdf
03 - Placa-Mãe.pdf03 - Placa-Mãe.pdf
03 - Placa-Mãe.pdf
 
Penjadwalan CPU_Arya Putra Abshari (210209501101)_PTIK C 2021.pdf
Penjadwalan CPU_Arya Putra Abshari (210209501101)_PTIK C 2021.pdfPenjadwalan CPU_Arya Putra Abshari (210209501101)_PTIK C 2021.pdf
Penjadwalan CPU_Arya Putra Abshari (210209501101)_PTIK C 2021.pdf
 
Aula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoAula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de Informação
 
SO-03 Comunicação e Sincronização de Processos
SO-03 Comunicação e Sincronização de ProcessosSO-03 Comunicação e Sincronização de Processos
SO-03 Comunicação e Sincronização de Processos
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Aula 03-deadlock
Aula 03-deadlockAula 03-deadlock
Aula 03-deadlock
 
Introdução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de ComputadoresIntrodução - Arquitetura e Organização de Computadores
Introdução - Arquitetura e Organização de Computadores
 
2009 1 - sistemas operacionais - aula 7 - deadlocks
2009 1 - sistemas operacionais - aula 7 - deadlocks2009 1 - sistemas operacionais - aula 7 - deadlocks
2009 1 - sistemas operacionais - aula 7 - deadlocks
 
So gabarito exerciciosescalonamentocpu-2012
So gabarito exerciciosescalonamentocpu-2012So gabarito exerciciosescalonamentocpu-2012
So gabarito exerciciosescalonamentocpu-2012
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
SO-04 Escalonamento de Processos
SO-04 Escalonamento de ProcessosSO-04 Escalonamento de Processos
SO-04 Escalonamento de Processos
 
Sistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockSistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 Deadlock
 
So-mod-2
So-mod-2So-mod-2
So-mod-2
 
Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)
 
Deadlock
DeadlockDeadlock
Deadlock
 
Categorias de Escalonamento e Objetivos do Algorítmo Escalonador
Categorias de Escalonamento e Objetivos do Algorítmo EscalonadorCategorias de Escalonamento e Objetivos do Algorítmo Escalonador
Categorias de Escalonamento e Objetivos do Algorítmo Escalonador
 
Yuliana - Manajemen Memori Sistem Operasi
Yuliana  -  Manajemen Memori Sistem OperasiYuliana  -  Manajemen Memori Sistem Operasi
Yuliana - Manajemen Memori Sistem Operasi
 
Introdução à Informática
Introdução à InformáticaIntrodução à Informática
Introdução à Informática
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Programação Orientada a objetos em Java
Programação Orientada a objetos em JavaProgramação Orientada a objetos em Java
Programação Orientada a objetos em Java
 

Destaque

Gerência de Armazenamento: Interface do Sistema de Arquivos
Gerência de Armazenamento: Interface do Sistema de ArquivosGerência de Armazenamento: Interface do Sistema de Arquivos
Gerência de Armazenamento: Interface do Sistema de ArquivosAlexandre Duarte
 
Gerência de Armazenamento: Sistemas de Armazenamento em Massa
Gerência de Armazenamento: Sistemas de Armazenamento em MassaGerência de Armazenamento: Sistemas de Armazenamento em Massa
Gerência de Armazenamento: Sistemas de Armazenamento em MassaAlexandre Duarte
 
Gerências de Processos: Sincronização
Gerências de Processos: SincronizaçãoGerências de Processos: Sincronização
Gerências de Processos: SincronizaçãoAlexandre Duarte
 
Gerência de Memória: Memória Virtual
Gerência de Memória: Memória VirtualGerência de Memória: Memória Virtual
Gerência de Memória: Memória VirtualAlexandre Duarte
 
Gerência de Armazenamento: Implementação do Sistema de Arquivos
Gerência de Armazenamento: Implementação do Sistema de ArquivosGerência de Armazenamento: Implementação do Sistema de Arquivos
Gerência de Armazenamento: Implementação do Sistema de ArquivosAlexandre Duarte
 
12/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula312/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula3Universal.org.mx
 
(07) instalaã§ã£o de programas
(07) instalaã§ã£o de programas(07) instalaã§ã£o de programas
(07) instalaã§ã£o de programasAnderson Lago
 
Gerência de Memória
Gerência de MemóriaGerência de Memória
Gerência de Memóriaelliando dias
 
O USO DE APLICATIVOS MÓVEIS NO APOIO AO ENSINO DE COMUNICAÇÃO VIA SATÉLITES E...
O USO DE APLICATIVOS MÓVEIS NO APOIO AO ENSINO DE COMUNICAÇÃO VIA SATÉLITES E...O USO DE APLICATIVOS MÓVEIS NO APOIO AO ENSINO DE COMUNICAÇÃO VIA SATÉLITES E...
O USO DE APLICATIVOS MÓVEIS NO APOIO AO ENSINO DE COMUNICAÇÃO VIA SATÉLITES E...Thiago Rodrigues de Souza
 
AIX - Gerência de Processos
AIX - Gerência de ProcessosAIX - Gerência de Processos
AIX - Gerência de ProcessosJean Pimentel
 
Estruturas de Sistemas Operacionais
Estruturas de Sistemas OperacionaisEstruturas de Sistemas Operacionais
Estruturas de Sistemas OperacionaisCid de Andrade
 
Gerência de Armazenamento: Sistemas de Entrada e Saída
Gerência de Armazenamento: Sistemas de Entrada e SaídaGerência de Armazenamento: Sistemas de Entrada e Saída
Gerência de Armazenamento: Sistemas de Entrada e SaídaAlexandre Duarte
 
(08)inicializacao e gerencia_de_processos
(08)inicializacao e gerencia_de_processos(08)inicializacao e gerencia_de_processos
(08)inicializacao e gerencia_de_processosAnderson Lago
 
Gerência de redes com Zabbix: conhecendo a ferramenta
Gerência de redes com Zabbix: conhecendo a ferramentaGerência de redes com Zabbix: conhecendo a ferramenta
Gerência de redes com Zabbix: conhecendo a ferramentaAécio Pires
 
Sistemas Operativos - Semáforos
Sistemas Operativos - SemáforosSistemas Operativos - Semáforos
Sistemas Operativos - SemáforosJuan Rojas
 
Window scheduling algorithm
Window scheduling algorithmWindow scheduling algorithm
Window scheduling algorithmBinal Parekh
 
Estrutura de Processos em Sistemas Operacionais
Estrutura de Processos em Sistemas OperacionaisEstrutura de Processos em Sistemas Operacionais
Estrutura de Processos em Sistemas OperacionaisSuliane Carneiro
 

Destaque (20)

Deadlocks (Resumo)
Deadlocks (Resumo)Deadlocks (Resumo)
Deadlocks (Resumo)
 
Gerência de Armazenamento: Interface do Sistema de Arquivos
Gerência de Armazenamento: Interface do Sistema de ArquivosGerência de Armazenamento: Interface do Sistema de Arquivos
Gerência de Armazenamento: Interface do Sistema de Arquivos
 
Gerência de Armazenamento: Sistemas de Armazenamento em Massa
Gerência de Armazenamento: Sistemas de Armazenamento em MassaGerência de Armazenamento: Sistemas de Armazenamento em Massa
Gerência de Armazenamento: Sistemas de Armazenamento em Massa
 
Gerências de Processos: Sincronização
Gerências de Processos: SincronizaçãoGerências de Processos: Sincronização
Gerências de Processos: Sincronização
 
Gerência de Memória: Memória Virtual
Gerência de Memória: Memória VirtualGerência de Memória: Memória Virtual
Gerência de Memória: Memória Virtual
 
Gerência de Armazenamento: Implementação do Sistema de Arquivos
Gerência de Armazenamento: Implementação do Sistema de ArquivosGerência de Armazenamento: Implementação do Sistema de Arquivos
Gerência de Armazenamento: Implementação do Sistema de Arquivos
 
12/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula312/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula3
 
Loss Monitor
Loss MonitorLoss Monitor
Loss Monitor
 
(07) instalaã§ã£o de programas
(07) instalaã§ã£o de programas(07) instalaã§ã£o de programas
(07) instalaã§ã£o de programas
 
Gerência de Memória
Gerência de MemóriaGerência de Memória
Gerência de Memória
 
O USO DE APLICATIVOS MÓVEIS NO APOIO AO ENSINO DE COMUNICAÇÃO VIA SATÉLITES E...
O USO DE APLICATIVOS MÓVEIS NO APOIO AO ENSINO DE COMUNICAÇÃO VIA SATÉLITES E...O USO DE APLICATIVOS MÓVEIS NO APOIO AO ENSINO DE COMUNICAÇÃO VIA SATÉLITES E...
O USO DE APLICATIVOS MÓVEIS NO APOIO AO ENSINO DE COMUNICAÇÃO VIA SATÉLITES E...
 
AIX - Gerência de Processos
AIX - Gerência de ProcessosAIX - Gerência de Processos
AIX - Gerência de Processos
 
Matrizes - CONCEITOS INICIAIS
Matrizes - CONCEITOS INICIAISMatrizes - CONCEITOS INICIAIS
Matrizes - CONCEITOS INICIAIS
 
Estruturas de Sistemas Operacionais
Estruturas de Sistemas OperacionaisEstruturas de Sistemas Operacionais
Estruturas de Sistemas Operacionais
 
Gerência de Armazenamento: Sistemas de Entrada e Saída
Gerência de Armazenamento: Sistemas de Entrada e SaídaGerência de Armazenamento: Sistemas de Entrada e Saída
Gerência de Armazenamento: Sistemas de Entrada e Saída
 
(08)inicializacao e gerencia_de_processos
(08)inicializacao e gerencia_de_processos(08)inicializacao e gerencia_de_processos
(08)inicializacao e gerencia_de_processos
 
Gerência de redes com Zabbix: conhecendo a ferramenta
Gerência de redes com Zabbix: conhecendo a ferramentaGerência de redes com Zabbix: conhecendo a ferramenta
Gerência de redes com Zabbix: conhecendo a ferramenta
 
Sistemas Operativos - Semáforos
Sistemas Operativos - SemáforosSistemas Operativos - Semáforos
Sistemas Operativos - Semáforos
 
Window scheduling algorithm
Window scheduling algorithmWindow scheduling algorithm
Window scheduling algorithm
 
Estrutura de Processos em Sistemas Operacionais
Estrutura de Processos em Sistemas OperacionaisEstrutura de Processos em Sistemas Operacionais
Estrutura de Processos em Sistemas Operacionais
 

Semelhante a Gerência de Processos e Deadlocks em Sistemas Operacionais

Sistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsSistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsPedro De Almeida
 
ProcessosEscalonamento.pdf
ProcessosEscalonamento.pdfProcessosEscalonamento.pdf
ProcessosEscalonamento.pdfssuser1d8ddd
 
(ACH2044) Sistemas Operacionais - Aula 07
(ACH2044) Sistemas Operacionais - Aula 07(ACH2044) Sistemas Operacionais - Aula 07
(ACH2044) Sistemas Operacionais - Aula 07Norton Trevisan Roman
 
Alta Disponibilidade no PostgreSQL
Alta Disponibilidade no PostgreSQLAlta Disponibilidade no PostgreSQL
Alta Disponibilidade no PostgreSQLelliando dias
 
Introdução ao processamento paralelo com o Grand Central Dispatch
Introdução ao processamento paralelo com o Grand Central DispatchIntrodução ao processamento paralelo com o Grand Central Dispatch
Introdução ao processamento paralelo com o Grand Central Dispatchflisolmaringa
 
Gerências de Processos: Escalonamento de CPU
Gerências de Processos: Escalonamento de CPUGerências de Processos: Escalonamento de CPU
Gerências de Processos: Escalonamento de CPUAlexandre Duarte
 
SO02 - Sistemas-Operacionais - Gerencia de Processos.pdf
SO02 - Sistemas-Operacionais - Gerencia de Processos.pdfSO02 - Sistemas-Operacionais - Gerencia de Processos.pdf
SO02 - Sistemas-Operacionais - Gerencia de Processos.pdfSilvano Oliveira
 
Coroutine e concorrência python
Coroutine e concorrência   python Coroutine e concorrência   python
Coroutine e concorrência python Kaueh Moreno
 
(ACH2044) Sistemas Operacionais - Aula 05
(ACH2044) Sistemas Operacionais - Aula 05(ACH2044) Sistemas Operacionais - Aula 05
(ACH2044) Sistemas Operacionais - Aula 05Norton Trevisan Roman
 
lista de Estrutura de Dados II
lista de Estrutura de Dados IIlista de Estrutura de Dados II
lista de Estrutura de Dados IIViviane Araujo
 
Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)Leinylson Fontinele
 

Semelhante a Gerência de Processos e Deadlocks em Sistemas Operacionais (20)

Parte1f
Parte1fParte1f
Parte1f
 
Impasses S.O
Impasses S.OImpasses S.O
Impasses S.O
 
Ad d lock
Ad d lockAd d lock
Ad d lock
 
Processos
ProcessosProcessos
Processos
 
Sistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e ThreadsSistemas Operativos - Processos e Threads
Sistemas Operativos - Processos e Threads
 
ProcessosEscalonamento.pdf
ProcessosEscalonamento.pdfProcessosEscalonamento.pdf
ProcessosEscalonamento.pdf
 
S.o aula 121314
S.o aula 121314S.o aula 121314
S.o aula 121314
 
Processos e threads cap 02 (i unidade)
Processos e threads   cap 02 (i unidade)Processos e threads   cap 02 (i unidade)
Processos e threads cap 02 (i unidade)
 
Exercicios 01 02 tms i
Exercicios 01 02 tms iExercicios 01 02 tms i
Exercicios 01 02 tms i
 
(ACH2044) Sistemas Operacionais - Aula 07
(ACH2044) Sistemas Operacionais - Aula 07(ACH2044) Sistemas Operacionais - Aula 07
(ACH2044) Sistemas Operacionais - Aula 07
 
Alta Disponibilidade no PostgreSQL
Alta Disponibilidade no PostgreSQLAlta Disponibilidade no PostgreSQL
Alta Disponibilidade no PostgreSQL
 
Introdução ao processamento paralelo com o Grand Central Dispatch
Introdução ao processamento paralelo com o Grand Central DispatchIntrodução ao processamento paralelo com o Grand Central Dispatch
Introdução ao processamento paralelo com o Grand Central Dispatch
 
gabarito.pdf
gabarito.pdfgabarito.pdf
gabarito.pdf
 
Gerências de Processos: Escalonamento de CPU
Gerências de Processos: Escalonamento de CPUGerências de Processos: Escalonamento de CPU
Gerências de Processos: Escalonamento de CPU
 
SO02 - Sistemas-Operacionais - Gerencia de Processos.pdf
SO02 - Sistemas-Operacionais - Gerencia de Processos.pdfSO02 - Sistemas-Operacionais - Gerencia de Processos.pdf
SO02 - Sistemas-Operacionais - Gerencia de Processos.pdf
 
Coroutine e concorrência python
Coroutine e concorrência   python Coroutine e concorrência   python
Coroutine e concorrência python
 
Conceito de processos
Conceito de processosConceito de processos
Conceito de processos
 
(ACH2044) Sistemas Operacionais - Aula 05
(ACH2044) Sistemas Operacionais - Aula 05(ACH2044) Sistemas Operacionais - Aula 05
(ACH2044) Sistemas Operacionais - Aula 05
 
lista de Estrutura de Dados II
lista de Estrutura de Dados IIlista de Estrutura de Dados II
lista de Estrutura de Dados II
 
Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)
 

Mais de Alexandre Duarte

Táticas para Projeto de Experimentos
Táticas para Projeto de ExperimentosTáticas para Projeto de Experimentos
Táticas para Projeto de ExperimentosAlexandre Duarte
 
Fazer Ciência é Difícil!
Fazer Ciência é Difícil!Fazer Ciência é Difícil!
Fazer Ciência é Difícil!Alexandre Duarte
 
Escolhendo um Projeto de Pesquisa
Escolhendo um Projeto de PesquisaEscolhendo um Projeto de Pesquisa
Escolhendo um Projeto de PesquisaAlexandre Duarte
 
Ciência da Computação como Ciência
Ciência da Computação como CiênciaCiência da Computação como Ciência
Ciência da Computação como CiênciaAlexandre Duarte
 
Metodologia da Pesquisa Científica: Introdução
Metodologia da Pesquisa Científica:  IntroduçãoMetodologia da Pesquisa Científica:  Introdução
Metodologia da Pesquisa Científica: IntroduçãoAlexandre Duarte
 
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazer
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazerGráficos: 10 dicas sobre o que fazer e sobre o que não fazer
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazerAlexandre Duarte
 
Panorama de Pesquisas em Análise de Dados na UFPB
Panorama de Pesquisas em Análise de Dados na UFPBPanorama de Pesquisas em Análise de Dados na UFPB
Panorama de Pesquisas em Análise de Dados na UFPBAlexandre Duarte
 
Sumarização Estatística 2D: Variáveis Nominais
Sumarização Estatística 2D: Variáveis NominaisSumarização Estatística 2D: Variáveis Nominais
Sumarização Estatística 2D: Variáveis NominaisAlexandre Duarte
 
Correlação e Classificação
Correlação e ClassificaçãoCorrelação e Classificação
Correlação e ClassificaçãoAlexandre Duarte
 
Sumarização Estatística 2D
Sumarização Estatística 2DSumarização Estatística 2D
Sumarização Estatística 2DAlexandre Duarte
 
Sumarização Estatística 1D
Sumarização Estatística 1DSumarização Estatística 1D
Sumarização Estatística 1DAlexandre Duarte
 
Preparação e Limpeza de Dados
Preparação e Limpeza de DadosPreparação e Limpeza de Dados
Preparação e Limpeza de DadosAlexandre Duarte
 
Introdução ao Projeto de Experimentos
Introdução ao Projeto de ExperimentosIntrodução ao Projeto de Experimentos
Introdução ao Projeto de ExperimentosAlexandre Duarte
 
Introdução ao Projeto de Surveys
Introdução ao Projeto de SurveysIntrodução ao Projeto de Surveys
Introdução ao Projeto de SurveysAlexandre Duarte
 
Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01Alexandre Duarte
 

Mais de Alexandre Duarte (20)

Projeto de Experimentos
Projeto de ExperimentosProjeto de Experimentos
Projeto de Experimentos
 
Táticas para Projeto de Experimentos
Táticas para Projeto de ExperimentosTáticas para Projeto de Experimentos
Táticas para Projeto de Experimentos
 
Causalidade e Abdução
Causalidade e AbduçãoCausalidade e Abdução
Causalidade e Abdução
 
Fazer Ciência é Difícil!
Fazer Ciência é Difícil!Fazer Ciência é Difícil!
Fazer Ciência é Difícil!
 
Atividades Científica
Atividades CientíficaAtividades Científica
Atividades Científica
 
Escolhendo um Projeto de Pesquisa
Escolhendo um Projeto de PesquisaEscolhendo um Projeto de Pesquisa
Escolhendo um Projeto de Pesquisa
 
Ciência da Computação como Ciência
Ciência da Computação como CiênciaCiência da Computação como Ciência
Ciência da Computação como Ciência
 
Metodologia da Pesquisa Científica: Introdução
Metodologia da Pesquisa Científica:  IntroduçãoMetodologia da Pesquisa Científica:  Introdução
Metodologia da Pesquisa Científica: Introdução
 
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazer
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazerGráficos: 10 dicas sobre o que fazer e sobre o que não fazer
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazer
 
Panorama de Pesquisas em Análise de Dados na UFPB
Panorama de Pesquisas em Análise de Dados na UFPBPanorama de Pesquisas em Análise de Dados na UFPB
Panorama de Pesquisas em Análise de Dados na UFPB
 
Agrupamento com K-Means
Agrupamento com K-MeansAgrupamento com K-Means
Agrupamento com K-Means
 
Sumarização Estatística 2D: Variáveis Nominais
Sumarização Estatística 2D: Variáveis NominaisSumarização Estatística 2D: Variáveis Nominais
Sumarização Estatística 2D: Variáveis Nominais
 
Correlação e Classificação
Correlação e ClassificaçãoCorrelação e Classificação
Correlação e Classificação
 
Sumarização Estatística 2D
Sumarização Estatística 2DSumarização Estatística 2D
Sumarização Estatística 2D
 
Sumarização Estatística 1D
Sumarização Estatística 1DSumarização Estatística 1D
Sumarização Estatística 1D
 
Transformação de Dados
Transformação de DadosTransformação de Dados
Transformação de Dados
 
Preparação e Limpeza de Dados
Preparação e Limpeza de DadosPreparação e Limpeza de Dados
Preparação e Limpeza de Dados
 
Introdução ao Projeto de Experimentos
Introdução ao Projeto de ExperimentosIntrodução ao Projeto de Experimentos
Introdução ao Projeto de Experimentos
 
Introdução ao Projeto de Surveys
Introdução ao Projeto de SurveysIntrodução ao Projeto de Surveys
Introdução ao Projeto de Surveys
 
Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01
 

Último

cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfcartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfIedaGoethe
 
O guia definitivo para conquistar a aprovação em concurso público.pdf
O guia definitivo para conquistar a aprovação em concurso público.pdfO guia definitivo para conquistar a aprovação em concurso público.pdf
O guia definitivo para conquistar a aprovação em concurso público.pdfErasmo Portavoz
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024Jeanoliveira597523
 
A galinha ruiva sequencia didatica 3 ano
A  galinha ruiva sequencia didatica 3 anoA  galinha ruiva sequencia didatica 3 ano
A galinha ruiva sequencia didatica 3 anoandrealeitetorres
 
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptxSlides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptxLuizHenriquedeAlmeid6
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfAdrianaCunha84
 
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxSlide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxconcelhovdragons
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfaulasgege
 
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdfO Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdfPastor Robson Colaço
 
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptxÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptxDeyvidBriel
 
FCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimirFCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimirIedaGoethe
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveaulasgege
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOColégio Santa Teresinha
 
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
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOMarcosViniciusLemesL
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfHenrique Pontes
 
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
 
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024Sandra Pratas
 

Último (20)

cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfcartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
 
O guia definitivo para conquistar a aprovação em concurso público.pdf
O guia definitivo para conquistar a aprovação em concurso público.pdfO guia definitivo para conquistar a aprovação em concurso público.pdf
O guia definitivo para conquistar a aprovação em concurso público.pdf
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024
 
A galinha ruiva sequencia didatica 3 ano
A  galinha ruiva sequencia didatica 3 anoA  galinha ruiva sequencia didatica 3 ano
A galinha ruiva sequencia didatica 3 ano
 
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptxSlides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
Slides Lição 2, Central Gospel, A Volta Do Senhor Jesus , 1Tr24.pptx
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdf
 
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptxSlide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
Slide de exemplo sobre o Sítio do Pica Pau Amarelo.pptx
 
Cultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdfCultura e Sociedade - Texto de Apoio.pdf
Cultura e Sociedade - Texto de Apoio.pdf
 
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdfO Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
O Universo Cuckold - Compartilhando a Esposas Com Amigo.pdf
 
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptxÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
ÁREA DE FIGURAS PLANAS - DESCRITOR DE MATEMATICA D12 ENSINO MEDIO.pptx
 
FCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimirFCEE - Diretrizes - Autismo.pdf para imprimir
FCEE - Diretrizes - Autismo.pdf para imprimir
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
 
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
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
 
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdfBRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
BRASIL - DOMÍNIOS MORFOCLIMÁTICOS - Fund 2.pdf
 
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
 
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
HORA DO CONTO5_BECRE D. CARLOS I_2023_2024
 

Gerência de Processos e Deadlocks em Sistemas Operacionais

  • 1. Sistemas Operacionais I Gerência de Processos: Deadlocks Prof. Alexandre Duarte : http://alexandrend.com Centro de Informática | Universidade Federal da Paraíba Estes slides são baseados no material que acompanha o livro Operating Systems Concepts de Silberschatz, Galvin and Gagne
  • 2. Objetivos  Apresentar um descriç ão formal de deadlock, um problema que impede que conjuntos de processos colaborativos possam completar suas tarefas  Apresentar algumas técnicas e métodos para prevenir e impedir a ocorrência de deadlocks em sistemas computacionais
  • 3. O problema  Um conjunto de processos bloqueados onde cada um possui o controle de um recursos e aguarda para obter o controle de um outro recurso mantido por um outro processo no conjunto  Exemplo  O sistema possui dois discos rígidos  P1 e P2 mantém cada um o controle de um dos discos e deseja obter o controle do outro disco  Exemplo  semáforos A e B, inicializados com 1 P0 P1 wait (A); wait(B) wait (B); wait(A)
  • 4. Exemplo do cruzamento da ponte  Tráfego em apenas um sentido  Cada seç ão da ponte pode ser vista como um recurso  Se um deadlock ocorrer ele pode ser resolvido se um dos carros der ré (preempç ão e reversão)  Vários carros podem precisar dar ré caso ocorra um deadlockStarvation is possible  A maioria dos SOs não previne ou resolve deadlocks
  • 5. Caracterização de deadlocks  Exclusão mútua: apenas um processo pode utilizar um recurso por vez  Posse e espera: um processo em posse de um recurso pode esperar para adquirir recursos adicionais em posse de outros processos  Não preempç ão: um recurso só pode ser liberado voluntariamente pelo processo que o estáutilizando  Espera circular: existe um conjunto de processos bloqueados {P0, P1, …, P0} onde P0 aguarda por um recurso em posse de P1, P1 aguarda por um recurso em posse de P2, …, Pn–1 aguarda por um recurso em posse de Pn, e Pn aguarda um recurso em posse de P0.
  • 6. Modelagem do sistema  Tipos de recursos R1, R2, . . ., Rm ciclos de CPU, espaço de memória, dispositivos de E/S  Cada tipo de recurso Ri possui Wi instâncias.  Cada processo utiliza um recurso como segue:  requisiç ão  Uso  liberaç ão
  • 7. Grafo de alocação de recursos  O conjunto V possui dois tipos de vértices:  P = {P1, P2, …, Pn}, representando todos os processos no sistema  R = {R1, R2, …, Rm}, representando todos os recursos no sistema  Aresta de solicitaç ão: – uma aresta de um processo para um recurso (Pi → Rj)  Aresta de atribuiç ão: um vértice de um recurso para um processo (Rj → Pi)
  • 8. Grafo de alocação de recursos  Processo  Tipo de recurso com 4 instâncias  Pi requisita uma instância de Rj  Pi estáem posse de uma instância de Rj Pi Pi Rj Rj
  • 9. Exemplo de um grafo de alocação de recursos
  • 10. Grafo de alocação de recursos com deadlock
  • 11. Grafo com um ciclo mas sem deadlock
  • 12. Fatos básicos  Se o grafo não possui ciclos ⇒ não hádeadlock  Se o grafo possui ciclos ⇒  se háapenas uma instância por tipo de recurso então tem-se um deadlock  se hámais de uma instância por tipo de recurso então háa possibilidade de um deadlock
  • 13. Métodos para lidar com deadlocks  Garantir que o sistema nunca entraráem um estado de deadlock  Permitir que o sistema entre em deadlock e recuperar o sistema  Ignorar o problema e fingir que deadlocks nunca ocorrem (utilizado pela maioria dos sistemas operacionais, incluindo Unix)
  • 14. Prevenção de deadlocks  Exclusão mútua – não é necessária para recursos compartilháveis; precisa valer para recursos não compartilháveis  Posse e espera – precisa garantir que sempre que um processo requisite novos recursos ele não esteja em posse de nenhum outro recurso  Exigir que um processo requisite e receba todos os recursos antes de iniciar sua execução, ou permitir que um processo só requisite recursos quando não tiver nenhum recurso  Implica em baixa utilização de recurso e possibilidade de starvation
  • 15. Prevenção de dadlocks  Não-preempç ão  Se um processo que estáde posse de um recurso solicita um outro recurso que não pode ser alocado imediatamente para ele todos os recursos em seu poder são imediatamente liberados  Os recursos liberados são adicionados à lista de recursos necessários para a execuç ão do processo  O processo seráreiniciado quando puder obter novamente todos os recursos que játinha e também os novos recursos de que necessitava  Espera circular – impor uma ordenação total nos tipos de recursos e exigir que todos os processo requisitem os recursos em ordem crescente de numeração
  • 16. Impedimento de deadlocks  A forma mais simples e útil requer que cada processo declare a quantidade máxima de cada tipo de recurso disponível que ele pode precisar  O algoritmo de impedimento de deadlocks examina dinamicamente o estado da alocaç ão de recursos para garantir que jamais ocorra uma condiç ão de espera circular  O estado da alocaç ão de recursos é definido pela quantidade de recursos disponíveis e alocados e pelas demandas máximas dos processos
  • 17. Estado seguro  Quando um processo requisita um recurso disponível, o sistema precisa decidir se a alocaç ão imediata deixa o sistema em um estado seguro  O sistema estáem um estado seguro se existe uma sequência <P1, P2, …, Pn> com todos os processos do sistema na qual para cada Pi, os recursos que Pi ainda pode precisar podem ser alocados com os recursos disponíveis no momento + recursos em posse dos processos Pj, com j < i  Ou seja:  Se os recursos que Pi precisa não puderem ser fornecidos imediatamente, Pi pode esperar até que todos os processos Pj terminem  Quando Pj terminar, Pi pode obter os recursos necessários, executar, liberar os recursos e terminar  Quanto Pi termina, Pi +1 pode obter os recursos de que necessita e assim por diante
  • 18. Fatos básicos  Se o sistema estáem um estado seguro ⇒ não hádeadlock  Se o sistema estáem um estado inseguro ⇒ há possibilidade de deadlock  Impedimento ⇒ garantir que o sistema jamais entre em um estado inseguro
  • 19. Estado seguro, inseguro e de deadlock
  • 20. Algoritmos para impedimento de deadlocks  Instância única para cada recurso  Utilizar um grafo de alocaç ão de recursos  Múltiplas instâncias de algum tipo de recurso  Utilizar o algoritmo do banqueiro
  • 21. Esquema do grafo de alocação de recursos  Aresta de requisiç ão: Pi → Rj indica que um processo Pj pode vir a requisitar o recursos Rj; representada por uma linha pontilhada  Arestas de requisiç ão são convertidas em arestas de solicitaç ão quando o processo efetivamente requisita o recurso  Uma aresta de solicitaç ão é convertida em uma aresta de atribuiç ão quando o recurso é alocado para o processo  Quando o recurso é liberado pelo processo a aresta de atribuiç ão é novamente convertida para uma aresta de requisiç ão  Os processos precisam anunciar a priori para o sistema quais recursos podem vir a solicitar, criando inicialmente todas as arestas de requisiç ão
  • 22. Grafo de alocação de recursos
  • 23. Grafo de alocação de recursos inseguro
  • 24. Algoritmo do grafo de alocação de recursos  Suponha que o processo Pi requisite um recursos Rj  Essa requisiç ão só pode ser autorizado se converter a aresta de requisiç ão em uma aresta de atribuiç ão não resultar na formaç ão de um ciclo no grafo de alocaç ão de recursos
  • 25. Algoritmo do banqueiro  Múltiplas instâncias  Cada processo deve declarar a priori a utilizaç ão máxima de recursos  Quando um processo solicita recursos ele pode ter que esperar  Quando um processo obtém todos os recursos de que necessita ele deve liberá-los em uma quantidade finita de tempo
  • 26. Estruturas de dados utilizadas pelo algoritmo do banqueiro  Disponível: Vetor de comprimento m. Se disponivel [j] = k, existem k instâncias do recurso Rj disponíveis  Max: matriz n x m matrix. Se Max [i,j] = k, então o Pi pode solicitar, no máximo, k instâncias do recurso Rj  Alocaç ão: matriz n x m. Se alocaç ão [i,j] = k então o processo Pi estáatualmente em posse de k instâncias do recursos Rj  Necessidade: matriz n x m. Se necessidade [i,j] = k, então o processo Pi pode precisar de mais k instâncias do recurso Rj para poder completar sua tarefa Necessidade [i,j] = Max[i,j] – Alocação [i,j]
  • 29. Exemplo de execução do algoritmo do banqueiro
  • 30. Exemplo de execução do algoritmo do banqueiro  O estado atual é seguro?  O que acontece se o sistema receber a seguinte sequência de solicitações?  P1 requisita (1,0,2)  P4 requisita (3,3,0)  P0 requisita (0,2,0)
  • 31. Detecção de deadlocks  Permite que o sistema entre em um estado de deadlock  Utiliza um algoritmo de detecç ão para identificar esta situaç ão  Utiliza um esquema de recuperaç ão para eliminar o deadlock
  • 32. Instância única de cada recurso  Mantem um grafo de espera  Os nó s são processos  Pi → Pj se Pi estáesperando por Pj  Um algoritmo de detecç ão de ciclos é executado periodicamente. Se existe um ciclo, existe um deadlock  Um algoritmo para detecç ão de ciclos tem complexidade O(n2 ), onde n é o número de nó s no grafo
  • 33. Grafo de alocação de recursos e grafo de espera
  • 34. Várias instâncias de um recurso  Disponível: Um vetor de comprimento m indica a quantidade de instâncias disponíveis para cada tipo de recurso  Alocaç ão: Uma matriz n x m define o número de instâncias de cada tipo de recurso alocadas para cada processo  Requisiç ão: Uma matriz n x m indicando as requisiç ões realizadas por cada processo. Se requisição [ij] = k, o processo Pi estárequisitando mais k instâncias do recurso Rj.
  • 36. Exemplo do algoritmo de detecção
  • 37. Exemplo do algoritmo de detecção  O sistema está em deadlock?  O que acontece se P2 requisitar uma instância a mais do recursos C ?
  • 38. Uso do algoritmo de detecção  Quando e com que frequência invocar o algoritmo depende de:  O quão frequente é a ocorrência de um deadlock  Quantos processos precisaram ser revertidos?  um para cada ciclo disjunto  Se o algoritmo for executado arbitrariamente ele pode encontrar vários ciclos no grafo de recursos e pode não ser possível identificar qual dentre os processos em deadlock “causou” o problema.
  • 39. Recuperação: Terminação de processos  Matar todos os processos em deadlock  Matar um processo de cada vez até que o ciclo seja desfeito  Em que ordem matar os processos?  Prioridade  Tempo de computaç ão e tempo adicional necessário para conclusão  Recursos utilizados pelo processo  Recursos necessários para que o processo conclua sua execuç ão  Quantidade de processos a ser finalizada  O processo é interativo ou de lote?
  • 40. Recuperação: Preempção de recursos  Selecionar uma vítima que minimize os custos  Retroceder o processo: voltar para algum estado seguro  Starvation – o mesmo processo pode ser sempre escolhido como vítima

Notas do Editor

  1. n = número de processo m = número de recursos