Capítulo 7: Deadlocks. Operating System Concepts 8th Edition
|
|
|
- Ruth Francisca Beltrão Vilanova
- 7 Há anos
- Visualizações:
Transcrição
1 Capítulo 7: Deadlocks
2 Sobre a apresentação (About the slides) Os slides e figuras dessa apresentação foram criados por Silberschatz, Galvin e Gagne em Esse apresentação foi modificada por Cristiano Costa ([email protected]). Basicamente, os slides originais foram traduzidos para o Português do Brasil. É possível acessar os slides originais em Essa versão pode ser obtida em The slides and figures in this presentation are copyright Silberschatz, Galvin and Gagne, This presentation has been modified by Cristiano Costa ([email protected]). Basically it was translated to Brazilian Portuguese. You can access the original slides at This version could be downloaded at 7.2
3 Capítulo 7: Deadlock (Deadlocks) O Problema do Deadlock Modelo de Sistema Caracterização de Deadlock Métodos para Manipular Impasses Prevenção de Deadlock Evitar Ocorrência de Deadlock Detecção de Deadlock Recuperação de Situação de Deadlock 7.3
4 Objetivos do Capítulo Desenvolver a descrição de um Deadlock, o qual impede um conjunto de processos concorrentes de completar suas tarefas Apresentar alguns métodos diferentes para prevenir ou evitar impasses em um sistema computacional. 7.4
5 O Problema do Deadlock Um conjunto de processos bloqueados cada um detendo um recurso e esperando para adquirir um recurso detido por outro processo no conjunto. Exemplo Sistema tem 2 unidades de disco. P1 e P2 detêm uma unidade de disco e necessitam de outra. Exemplo semáforos A e B, iniciados em 1 P0 P1 wait (A); wait(b) wait (B); wait(a) 7.5
6 Exemplo do Cruzamento da Ponte Tráfego somente em uma direção. Cada seção da ponte pode ser vista como um recurso. Se ocorre um Deadlock, ele pode ser resolvido se um carro retorna de ré (preempta recurso e desfaz operação - rollback). Vários carros podem ter que retornar (dar ré) na ocorrência de Deadlock. Starvation (abandono) é possível. Nota maioria dos SOs não previne ou trata Deadlocks 7.6
7 Modelo de Sistemas Tipos de Recursos R1, R2,..., Rm ciclos de CPU, espaços de memória, dispositivos de E/S Cada tipo de recurso Ri tem Wi instâncias. Cada processo utiliza um recurso da seguinte forma: requisição uso liberação 7.7
8 Caracterização de Deadlock Deadlock pode ocorrer se quatro condições persistirem simultaneamente: Exclusão Mútua: somente um processo de cada vez pode usar um recurso. Posse e Espera: um processo que está usando pelo menos um recurso e esperando que outros recursos, que estão nesse instante sendo usados por outros processos, sejam alocados para seu uso. Inexistência de preempção: um recurso só pode ser liberado voluntariamente pelo processo ao qual está alocado depois que o processo terminar de usá-lo. Espera circular: deve existir um conjunto {P0, P1,, P0} de processos em espera, tal que P0 esteja esperando por um recurso alocado a P1, P1 que esteja esperando por um recurso alocado a P2,, Pn 1 que esteja esperando por um recurso alocada a Pn, e P0 esteja esperando por um recurso alocado a P0. 7.8
9 Grafo de Alocação de Recursos Um conjunto de vértices V e de arcos (edges) E. V está particionado em dois tipos: P = {P1, P2,, Pn}, conjunto que consiste de todos os processos no sistema. R = {R1, R2,, Rm}, conjunto que consiste de todos os tipos de recursos do sistema. Arco de requisição arco dirigido P1 Rj Arco de alocação arco dirigido Rj Pi 7.9
10 Grafo de Alocação de Recursos (Cont.) Processos Tipo de Recurso com 4 instâncias Pi solicita uma instância de Rj Pi Rj Pi tem alocado uma instância de Rj Pi Rj 7.10
11 Exemplo de Grafo de Alocação de Recursos 7.11
12 Grafo de Alocação de Recursos com Deadlock 7.12
13 Grafo de Alocação de Recursos com um Ciclo, Mas sem Deadlock 7.13
14 Fatos Básicos Se um grafo não contém ciclos não há Deadlock. Se um grafo contém um ciclo Se existe somente uma instância por tipo de recurso, então há Deadlock. Se existem várias instâncias por tipo de recurso, ocorre a possibilidade de Deadlock. 7.14
15 Métodos de Tratar Impasses Garantir que o sistema nunca entrará em estado de Deadlock: Prevenção do Deadlock; Revogação do Deadlock. Permitir que ao sistema entrar em estado de Deadlock e então recuperar. Ignorar o problema e fingir que Deadlock nunca ocorrem no sistema; usado pela maior parte dos sistemas operacionais, incluindo o UNIX. 7.15
16 Prevenção de Deadlock Restringir as formas em que as requisições podem ser feitas. Exclusão mútua não é necessária para recursos compartilháveis; deve ocorrer para recursos não compartilháveis. Posse e Espera deve garantir que sempre que um processo requerer um recurso, ele não esteja de posse de nenhum outro recurso. Exigir que um processo faça a requisição de recursos e tenha todos os recursos alocados antes do início da execução, ou permitir que processos façam requisição de recursos somente quando não possuírem nenhum. Baixa utilização de recursos; possibilidade de abandono (starvation). 7.16
17 Prevenção de Deadlock (Cont.) Inexistência de Preempção: Se um processo que está detendo algum recurso requerer outro recurso que não pode ser imediatamente alocado a ele, então todos os recursos correntemente alocados a este processo são liberados. Recursos preemptados são adicionados à lista de recursos pelos quais o processo está esperando. Processo irá ser reiniciado apenas quando ele puder usar todos os recursos de que precisa, tanto os que estavam alocados a esse processo anteriormente quanto os novos que ele esteja requisitando. Espera Circular impor um ordenação total de todas as classes de recursos e requerer que a requisição de recursos por cada processo sempre ocorra em uma ordem crescente. 7.17
18 Exemplo de Deadlock /* thread um executa nessa função */ void *fazer_trabalho_um(void *param) { pthread_mutex_lock(&first_mutex); pthread_mutex_lock(&second_mutex); /** * Fazer algum trabalho */ pthread_mutex_unlock(&second_mutex); pthread_mutex_unlock(&first_mutex); pthread_exit(0); } /* thread dois executa nessa função */ void *fazer_trabalho_dois(void *param) { pthread_mutex_lock(&second_mutex); pthread_mutex_lock(&first_mutex); /** * Fazer algum trabalho */ pthread_mutex_unlock(&first_mutex); pthread_mutex_unlock(&second_mutex); pthread_exit(0); } 7.18
19 Evitar Ocorrência de Deadlock Requer que o sistema tenha alguma informação adicional disponível antecipadamente. O modelo mais simples e mais útil necessita que cada processo declare o número máximo de recursos de cada classe que podem ser necessários. O algoritmo para evitar Deadlock examina dinamicamente o estado da alocação de recursos para garantir que nunca haverá uma condição de espera circular. O estado da alocação de recursos é definido pelo número de recursos disponíveis e alocados, e a demanda máxima de recursos por processos. 7.19
20 Estado Seguro Quando um processo solicita um recurso disponível para alocação, o sistema deve decidir se a alocação imediata leva o sistema para um estado seguro. Um sistema está em estado seguro se existe uma sequência <P1, P2,, Pn> para TODOS os processos no sistema de forma que para cada processo Pi, os recursos que Pi pode ainda vir a solicitar serão satisfeitos pelos recursos atualmente disponíveis + recursos alocados por todos os processos Pj, sendo j<i. Isto é: Se os recursos que Pi necessitar não estiverem imediatamente disponíveis, Pi pode esperar até que todos os processos Pj tenham terminado. Quando Pj estiver terminado, Pi pode obter os recursos necessários, executar, liberar recursos alocados e terminar. Quando Pi termina, Pi+1 pode obter os recursos que necessita e assim por diante. 7.20
21 Fatos Básicos Se o sistema está em um estado seguro sem Deadlock. Se o sistema está em um estado inseguro possibilidade de Deadlock. Evitar Deadlock garantir que o sistema nunca vai entrar em um estado inseguro. Estados Seguros, Não-Seguros e de Deadlock 7.21
22 Algoritmos para Evitar Ocorrência Uma única instância de cada tipo de recurso. Usa um grafo de alocação de recursos Múltiplas instâncias de um tipo de recurso. Usa o algoritmo do banqueiro 7.22
23 Esquema do Grafo de Alocação de Recursos Um arco de reivindicação Pi Rj indica que o processo Pj pode requisitar o recurso Rj; e é representado por uma linha tracejada. Arcos de reivindicação são convertidos para arcos de requisição quando um processo efetivamente solicita um recurso. Arcos de requisição são convertidos para arcos de alocação quando o recurso é alocado ao processo. Quando um recurso é liberado por um processo, arcos de alocação são re-convertidos para arcos de reivindicação. Recursos devem ser reivindicados a priori em um sistema. 7.23
24 Gráfico de Alocação de Recursos 7.24
25 Um estado não-seguro no Grafo 7.25
26 Algoritmo do Grafo de Alocação de Recursos Suponha que o processo Pi solicita o recurso Rj A requisição pode ser concedida somente se ao converter o arco de requisição em arco de alocação não resultar na formação de um ciclo no grafo de alocação de recursos 7.26
27 Algoritmo do Banqueiro Classes de recursos com mais de um recurso. Cada processo deve inicialmente declarar o número máximo de recursos que irá usar. Quando um processo requer um recurso ele pode ter de esperar. Quando um processo obtém todos os recursos que necessita, ele deve liberá-los em uma quantidade de tempo finita. 7.27
28 Estrutura de Dados do Algoritmo do Banqueiro Seja n = número de processos, e m = número de classes de recursos. Disponível (Disp): Vetor de tamanho m. Se Disp [j] = k, existem k recursos da classe Rj disponíveis. Max: uma matriz n x m. Se Max [i,j] = k, então o processo Pi pode requerer no máximo k instâncias da classe de recursos Rj. Alocação (Aloc): uma matriz n x m. Se Aloc [i,j] = k então Pi está no momento alocado k instâncias de Rj. Necessidade (Ne): uma matriz n x m. Se Ne [i,j] = k, então Pi pode necessitar mais k instâncias de Rj para completar sua tarefa. Ne [i,j] = Max[i,j] Aloc [i,j]. 7.28
29 Algoritmo de Segurança 1. Sejam trab e fim vetores de tamanho m e n, respectivamente. Inicie com: trab:= Disp fim [i] = false para i = 1,2,, n. 2. Encontre i tal que ambos: (a) fim [i] = false (b) Nei trab Se não existir tal i, vá para o item trab := trab + Aloc; fim[i] := true vá para o passo Se fim [i] = true para todo i, o sistema está em um estado seguro. 7.29
30 Algoritmo de Requisição de Recursos para o Processo Pi reqi = vetor de requisição para o processo Pi. Se reqi [j] = k então Pi requer k recursos da classe Rj. 1. Se Reqi Nei vá para o passo 2. Se não, indique a ocorrência de um erro, uma vez que o processo excedeu seu número máximo de requisição. 2. Se Reqi Disp, vá para o passo 3. Se não Pi deve esperar, uma vez que os recursos não estão disponíveis. 3. Finja alocar recursos requisitados para Pi modificando o estado como segue: Disp := Disp - Reqi; Aloci := Aloci + Reqi; Nei := Nei Reqi;; Se seguro os recursos são alocados para Pi. Se inseguro Pi deve esperar e o estado anterior, antes das atribuições feitas no passo 3, é recuperado 7.30
31 Exemplo do Algoritmo do Banqueiro 5 processos P0 a P4; 3 classes de recursos: A (10 instâncias), B (5 instâncias), e C (7 instâncias). Situação no instante T0: Aloc Max Disp Ne (Max - Aloc) ABC ABC ABC ABC P P P P P O sistema está nesse instante em um estado seguro. De fato, a sequência < P1, P3, P4, P2, P0> satisfaz o critério de segurança. 7.31
32 Exemplo (Cont.): P1 solicita (1,0,2) Verifique se Req Disp (isto é, (1,0,2) (3,3,2) true. Aloc Ne Disp ABC ABC ABC P P P P P Executando o algoritmo de segurança mostra que a seqüência <P1, P3, P4, P0, P2> satisfaz necessidade de segurança. Pode uma requisição de (3,3,0) por P4 ser atendida? Pode uma requisição de (0,2,0) por P0 ser atendida? 7.32
33 Detecção de Deadlock Permite que o sistema entre em estado de Deadlock Algoritmo de detecção Esquema de recuperação 7.33
34 Única Instância de cada Tipo de Recurso Manter um grafo de espera Nodos são processados. Pi Pj se Pi está esperando por Pj. Periodicamente usar um algoritmo para verificar se há ciclos no grafo. Se existem ciclos, existe Deadlock. Um algoritmo para detectar ciclos em um grafo requer algo na ordem de n2 operações, onde n é o número de vértices no grafo. 7.34
35 Grafo de alocação de recursos e Grafo de espera correspondente Grafo de alocação de recursos 7.35 Grafo de espera correspondente
36 Várias Instâncias de um Tipo de Recurso Disp: Um vetor de tamanho m indica o número de recursos disponíveis de cada tipo. Aloc: Uma matriz n x m define o número de recursos de cada classe alocados a cada processo no instante atual. Req: Uma matriz n x m indica a requisição atual de cada processo. Se Req [ij] = k, então o processo Pi está requisitando mais k instâncias da classe Rj. 7.36
37 Algoritmo de Detecção 1. Sejam Trab e Fim vetores de tamanho m e n, respectivamente iniciados com: (a) Trab := Disp Para i = 1,2,, n, se Aloci 0, então Fim[i] := false;se não, Fim[i] := true. 2. Ache um índice i tal que ambos: (a) Fim[i] = false Reqi Trab Se não existe tal i, vá para o passo
38 Algoritmo de Detecção (Cont.) 3. Trab := Trab + Aloci Fim[i] := true vá para o passo Se Fim[i] = false, para algum i, 1 i n, então o sistema está em estado de Deadlock. Além disso, se Fim[i] = false, então Pi está em Deadlock. Esse algoritmo requer na ordem de O(m x n2) operações para detectar se o sistema está em um estado de Deadlock. 7.38
39 Exemplo de Algoritmo de Detecção Cinco processos P0 a P4; Três classes de recursos A (7 instâncias), B (2 instâncias), e C (6 instâncias). Situação no momento T0: Aloc Req Disp ABC ABC ABC P P P P P A seqüência <P0, P2, P3, P1, P4> irá resultar em Fim[i] = true para todo i. 7.39
40 Exemplo (Cont.) P2 solicita uma instância adicional de tipo C. Req ABC P0 000 P1 201 P2 001 P3 100 P4 002 Estado do sistema? É possível liberar os recursos alocados ao processo P0, mas os recursos disponíveis não são suficientes para atender às requisições dos outros processos. Existe Deadlock entre os processos P1, P2, P3 e P
41 Uso do Algoritmo de Detecção Quando, e quão frequentemente, usar o algoritmo depende de: Com que frequência ocorre um Deadlock? Quantos processo serão afetados quando ocorre um Deadlock? Um para cada ciclo disjunto Se algoritmo de detecção for usado arbitrariamente, podem ocorrer muitos ciclos no grafo de recursos e então não seria possível saber qual processo envolvido causou o Deadlock. 7.41
42 Recuperação de Deadlock: Terminação de Processo Abortar todos os processos em Deadlock. Abortar um processo de cada vez até que o ciclo de Deadlock seja eliminado. Em que ordem deve-se abortar os processos? Prioridade dos processos. Há quanto tempo a execução do processo foi iniciada e quanto tempo mais será necessário para que o processo termine. Recursos que o processo usou. Recursos necessários para o processo terminar. Términos de execução de processos que serão necessários. Se o processo é interativo ou não. 7.42
43 Recuperação de Deadlock: Preempção de Recurso Selecionar uma vítima minimiza o custo. Retornar (Rollback) retornar para um estado seguro, reiniciar o processo deste ponto. Abandono (Starvation) o mesmo processo pode ser sempre escolhido como vítima, incluir o número de rollbacks no fator de custo. 7.43
44 Fim do Capítulo 7
Capítulo 7: Impasse (Deadlocks( Deadlocks)
Capítulo 7: Impasse (Deadlocks( Deadlocks) Capítulo 7: Impasse (Deadlocks( Deadlocks) O Problema do Impasse Modelo de Sistema Caracterização de Impasse Métodos para Manipular Impasses Prevenção de Impasse
Sistemas Operacionais: Deadlocks
Sistemas Operacionais: Deadlocks Definição Deadlocks (impasse) Um conjunto de processos bloqueados cada um de posse de um recurso, esperando por um outro recurso que já está alocado por outro processo
SSC0640 Sistemas Operacionais I
SSC64 Sistemas Operacionais I 2ª Aula Deadlocks Profa. Sarita Mazzini Bruschi [email protected] Slides adaptados de Marcos José Santana / Regina H. C. Santana / Luciana A. F. Martimiano baseados no livro
Deadlocks (impasses)
Deadlocks (impasses) Exemplos de recursos impressoras, drives, tabelas, memória, tempo de processador Sequência de eventos necessária para usar um recurso Solicitar recurso Usar recurso Liberar recurso
SISTEMAS OPERACIONAIS
SISTEMAS OPERACIONAIS Deadlock Andreza Leite [email protected] Plano da Aula 2 Introdução Modelo de um Sistema Computacional Característica de um Deadlock Modelagem de um Deadlock (Grafos de
Capítulo 3 Deadlocks - Impasses
Capítulo 3 Deadlocks - Impasses 3.1. Recurso 3.2. Introdução aos deadlocks 3.3. Algoritmo do avestruz 3.4. Detecção e recuperação de deadlocks 3.5. Evitando deadlocks 3.6. Prevenção de deadlocks 3.7. Outras
DEADLOCKS IMPASSES. Vinícius Pádua
DEADLOCKS IMPASSES O que é um Deadlock? 2 O que é um Deadlock? Cenário Dois processos : Gravar CD com dados do scanner Processo A solicita o CD é autorizado Processo B solicita o scanner é autorizado Processo
Capítulo 13: Sistemas de E/S. Operating System Concepts 8 th Edition
Capítulo 13: Sistemas de E/S Silberschatz, Galvin and Gagne 2009 Sobre a apresentação (About the slides) Os slides e figuras dessa apresentação foram criados por Silberschatz, Galvin e Gagne em 2009. Esse
Sistemas Operacionais
Sistemas Operacionais Programação Concorrente Impasses Edson Moreno [email protected] http://www.inf.pucrs.br/~emoreno Sumário Princípios de Deadlock Técnicas de solução do problema Prevenir a ocorrência
Capítulo 3 Deadlocks - Impasses
Capítulo 3 Deadlocks - Impasses 3.1. Recurso 3.2. Introdução aos deadlocks 3.3. Algoritmo do avestruz 3.4. Detecção e recuperação de deadlocks 3.5. Evitando deadlocks 3.6. Prevenção de deadlocks Pearson
Programação Concorrente. 2º Semestre 2010
Programação Concorrente 2º Semestre 2 Tópicos de Hoje Assunto: Deadlocks Livro Texto Capítulo 4; Conceitos Iniciais; Tipos de Recursos; Condições necessárias para ocorrência de deadlock; Um sistemas livre
Aula 9. Deadlocks. Caracterização Grafo de dependência Métodos de tratamento Detecção Recuperação. Universidade Federal de Minas Gerais
Aula 9 Deadlocks 1.1 1.2 1.3 1.4 1.5 1.6 O que é Caracterização Grafo de dependência Métodos de tratamento Detecção Recuperação O quê é Deadlock (1) Propriedade indesejável de um conjunto de processos
Sistemas Distribuídos
Sistemas Distribuídos Deadlocks Referência Sistemas operacionais modernos Andrew S. TANENBAUM Prentice-Hall, 1995 Seção 11.5 pág. 340-344 2 Conteúdo Detecção de deadlock distribuído Detecção centralizada
ALGORITMOS DISTRIBUÍDOS Deadlock
ALGORITMOS DISTRIBUÍDOS Deadlock Sistemas Distribuídos 231 Um deadlock é causado pela situação onde um conjunto de processos está bloqueado permanentemente, i.e., não conseguem prosseguir a execução, esperando
Capítulo 3. Deadlocks. Recursos
Capítulo 3 Deadlocks 3.1. Recursos 3.2. Introdução a deadlocks 3.3. O algoritmo a avestruz 3.4. Detecção e recuperação de deadlock 3.5. Evitando Deadlock 3.6. Prevenindo Deadlock 3.7. Outros assuntos 1
Algoritmos Distribuídos (deadlock) ALGORITMOS DISTRIBUÍDOS Deadlock. Algoritmos Distribuídos (deadlock) Algoritmos Distribuídos (deadlock)
Um deadlock é causado pela situação onde um conjunto de processos está bloqueado permanentemente, i.e., não conseguem prosseguir a execução, esperando um evento que somente outro processo do conjunto pode
Chapter 4: Threads. Operating System Concepts 8th Edition
Chapter 4: Threads Sobre a apresentação (About the slides) Os slides e figuras dessa apresentação foram criados por Silberschatz, Galvin e Gagne em 2009. Esse apresentação foi modificada por Cristiano
Sincronização e Comunicação entre Processos. Adão de Melo Neto
Sincronização e Comunicação entre Processos Adão de Melo Neto 1 INTRODUÇÃO Em um sistema multitarefa os processos alternam sua execução segundo critérios de escalonamento estabelecidos pelo sistema operacional.
Fundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 6: Monitores, Troca de Mensagens e Deadlock Diego Passos Última Aulas Mecanismos de Exclusão Mútua Operações atômicas. Protocolos de controle de acesso. Spin-locks.
Algoritmos Distribuídos (exclusão mútua) ALGORITMOS DISTRIBUÍDOS Exclusão mútua. Algoritmos Distribuídos (exclusão mútua)
ALGORITMOS DISTRIBUÍDOS Exclusão mútua Problema: alguns recursos não podem ser usados simultaneamente por diversos processos (ex.: arquivos) Exclusividade de acesso deve ser garantida pelo sistema esta
Resumo: Sistemas Operacionais Abertos
Resumo: Sistemas Operacionais Abertos Prof. Michael A. Pontes Processos Um processo é um programa em execução. Enquanto um processo é executado, ele muda de estado. O estado de um processo é definido pela
Sistemas de Informação. Sistemas Operacionais
Sistemas de Informação Sistemas Operacionais PROCESSOS E THREADS PARTE III SUMÁRIO 4. GERÊNCIA DO PROCESSADOR: 4.1 Introdução; 4.2 Funções Básicas; 4.3 Critérios de Escalonamento; 4.4 Escalonamentos Não-Preemptivos
BC1518-Sistemas Operacionais. Prof. Marcelo Z. do Nascimento
BC58-Sistemas Operacionais Deadlock (Impasse) Aula 7 Prof. Marcelo Z. do Nascimento [email protected] Roteiro Conceito de Deadlock; Recursos; Condições de ocorrência; Estratégias para tratar
Sistemas Operacionais Bloqueios Perpétuos
Sistemas Operacionais loqueios Perpétuos Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFM http://www.lsd.ufma.br 9 de agosto de Francisco Silva
DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I SEM/12 PROVA I. Tempo de Prova: 100 minutos / Escore Máximo: 300 pontos
DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I - 1 0 SEM/12 PROVA I Tempo de Prova: 100 minutos / Escore Máximo: 300 pontos Aluno: G A B A R I T O Escore: Responda às perguntas de forma
Deadlocks. Sistemas Operacionais - Professor Machado
Deadlocks Sistemas Operacionais - Professor Machado 1 Deadlock - Definição Um conjunto de processos está em situação de deadlock se todo processo pertencente ao conjunto estiver esperando por um evento
INTRODUÇÃO AOS SISTEMAS OPERACIONAIS. SEMANAS 11 e 12
INTRODUÇÃO AOS SISTEMAS OPERACIONAIS outubro/2013 SEMANAS 11 e 12 Estudo das deadlocks. Caracterização e condições necessárias para a ocorrência. Soluções, prevenção, impedimento, detecção e recuperação.
Sincronização e Comunicação entre Processos
Sincronização e Comunicação entre Processos Monitores/Semáforos Semáforos Mecanismos de sincronização nãoestruturados; Exige do desenvolvedor bastante cuidado, pois qualquer engano pode levar a problemas.
Capítulo 9: Memória Virtual. Operating System Concepts 8th Edition
Capítulo 9: Memória Virtual Sobre a apresentação (About the slides) Os slides e figuras dessa apresentação foram criados por Silberschatz, Galvin e Gagne em 2009. Esse apresentação foi modificada por Cristiano
Capítulo 6 Deadlocks. Não encontre defeitos, encontre soluções. Qualquer um sabe queixar-se. Henry Ford
Universidade Federal de Itajubá UNIFEI Instituto de Engenharia de Sistemas e Tecnologias da Informação IESTI CCO 004 Sistemas Operacionais Prof. Edmilson Marmo Moreira 1 Introdução Capítulo 6 Deadlocks
Faculdade de Informática - PUCRS. Sistemas Distribuídos 2. Faculdade de Informática - PUCRS. Sistemas Distribuídos 4. Faculdade de Informática - PUCRS
Algoritmos Distribuídos Processos em um sistema distribuído geralmente buscam atingir cooperação e para tanto utilizam mecanismos de sincronização para que esta cooperação seja realizada de maneira correta.
Deadlocks. Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO
Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO Dispositivos e recursos são compartilhados a todo momento: impressora, disco, arquivos,
Sobre a apresentação (About(
Capítulo 4: Threads Sobre a apresentação (About( the slides) Os slides e figuras dessa apresentação foram criados por Silberschatz, Galvin e Gagne em 2005. Esse apresentação foi modificada por Cristiaino
Escalonamento de Processos
Escalonamento de Processos - Critérios. justiça : cada processo tem sua parte justa de tempo de cpu;. eficiência : cpu ocupada 100% do tempo;. tempo de resposta : minimizar tempo de resposta para processos
Questões de Provas de Períodos Anteriores
Sistemas Operacionais 2010/1 Questões de Provas de Períodos Anteriores 1) Dois importantes conceitos encontrados no sistema operacional Unix são: (i) modo de execução ( execution mode ); e (ii) contexto
Capítulo 9: Memória Virtual. Operating System Concepts 8 th Edition
Capítulo 9: Memória Virtual Silberschatz, Galvin and Gagne 2009 Objetivos Descrever os benefícios de um sistema de memória virtual Explicar os conceitos de paginação sob demanda, algoritmo de substituição
Inversão de prioridades
Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Maio, 2017 1 / 46 Sumário 1 Dependência 2 Dependência Deadlocks 3 Classicação dos recursos 2 / 46 1 Dependência
Algoritmos de escalonamento
Algoritmos de escalonamento Escalonamento de Processos Sistemas Interativos Algoritmos para Sistemas Interativos: First-Come-First-Served (FIFO) Round-Robin; Prioridade; Múltiplas Filas; Utilizam escalonamento
Impasses. Pedro Cruz. EEL770 Sistemas Operacionais
Impasses Pedro Cruz EEL770 Sistemas Operacionais Lembretes Proposta de trabalho Enviar para [email protected] Prazo: dia 21 de agosto 2 Recordar é viver Recursos preemptíveis e não-preemptíveis Impasse
Sistemas Operacionais. Escalonamento de processos
Sistemas Operacionais Escalonamento de processos 1 Escalonamento de Processos Sistemas Interativos Algoritmos para Sistemas Interativos: First-Come-First-Served (FIFO) Round-Robin; Prioridade; Múltiplas
Notas da Aula 8 - Fundamentos de Sistemas Operacionais
1. Escalonamento Notas da Aula 8 - Fundamentos de Sistemas Operacionais Uma das funções de um SO é gerenciar o acesso aos recursos da máquina, por parte dos vários processos do sistema. Isto significa
Sobre a apresentação (About( the slides)
Capítulo 1: Introdução Sobre a apresentação (About( the slides) Os slides e figuras dessa apresentação foram criados por Silberschatz, Galvin e Gagne em 2005. Esse apresentação foi modificada por Cristiaino
Sincronização e Comunicação entre Processos. Adão de Melo Neto
Sincronização e Comunicação entre Processos Adão de Melo Neto 1 MOTIVAÇÃO 2 INTRODUÇÃO Em um sistema multiprogramado (concorrente) os processos alternam sua execução (ou seja, são executados alternadamente
Capítulo 9: Memória Virtual. Operating System Concepts 8th Edition
Capítulo 9: Memória Virtual Sobre a apresentação (About the slides) Os slides e figuras dessa apresentação foram criados por Silberschatz, Galvin e Gagne em 2009. Esse apresentação foi modificada por Cristiano
Capítulo 2 Processos e Threads
Capítulo 2 Processos e Threads 2.1 Processos 2.2 Threads 2.3 Comunicação interprocesso 2.4 Problemas clássicos de IPC 2.5 Escalonamento 1 Processos O Modelo de Processo Multiprogramação de quatro programas
Redes de Computadores. INF201 - Fundamentos de Sistemas Operacionais - 2º Período
Redes de Computadores INF201 - Fundamentos de Sistemas Operacionais - 2º Período PARTE II: PROCESSOS E THREADS SUMÁRIO 7. SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS: 7.1 Introdução; 7.2 Aplicações Concorrentes;
Sistemas Operacionais
Sistemas Operacionais Slides adaptados de Prof. Dr. Marcos José Santana, Prof. Dra. Regina Helena Carlucci Santana e Sarita Mazzini Bruschi baseados no livro Sistemas Operacionais Modernos de A. Tanenbaum
Processos. Processo (1) Processo (2) Processo (3) Conceitos Básicos
Processos Conceitos Básicos Processo (1) Abstração usada pelo S.O. para designar a execução de um programa. É caracterizado por uma thread de execução, um estado corrente e um conjunto associado de recursos
Processos. Conceitos Básicos
Processos Conceitos Básicos Processo (1) Abstração usada pelo S.O. para designar a execução de um programa. É caracterizado por uma thread de execução, um estado corrente e um conjunto associado de recursos
14/05/2017. Conceitos de Processos. Conceitos de Processos. Conceito de processo
Conceito de processo Os computadores executam várias operações ao mesmo tempo. - Compilar um programa; - Enviar um arquivo para a impressora; - Exibir uma página web; - Reproduzir músicas; - Receber mensagens
Carlos Eduardo Batista Centro de Informática - UFPB [email protected]
Carlos Eduardo Batista Centro de Informática - UFPB [email protected] Principais problemas programação concorrente Deadlocks (impasses) Starvation (inanição) Condições de corrida Erros de consistência na
Sistemas Operacionais Aula 7
Sistemas Operacionais Aula 7 Anderson L. S. Moreira [email protected] http://dase.ifpe.edu.br/~alsm Curso de Análise e Desenvolvimento de Sistemas de Informação Recife - PE O que fazer
Sistemas Operacionais. Gerência de Processador
Sistemas Operacionais Gerência de Processador Sumário 1. Introdução 2. Funções Básicas do Escalonamento 3. Critérios de Escalonamento 4. Escalonamento 1. Não-Preemptivo 2. Preemptivo 5. Políticas de Escalonamento
Sistemas Operacionais: Sincronização entre processos
Sistemas Operacionais: Sincronização entre processos Sincronização Programa concorrente Executado por diversos processos Acesso concorrente a dados Paralelismo real x Paralelismo aparente Multiprocessadores:
SOP - TADS Escalonamento de Processos
SOP - TADS Escalonamento de Processos Prof. Ricardo José Pfitscher [email protected] Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Cronograma Conceito de Escalonamento
Capítulo 11: Implementação de Sistemas de Arquivos. Operating System Concepts 8 th Edition
Capítulo 11: Implementação de Sistemas de Arquivos Silberschatz, Galvin and Gagne 2009 Sobre a apresentação (About the slides) Os slides e figuras dessa apresentação foram criados por Silberschatz, Galvin
Programação Concorrente Locks
Programação Concorrente Prof. Eduardo Alchieri Variáveis do tipo trava (lock) Lock: É um mecanismo de sincronização de processos/threads, em que processos/threads devem ser programados de modo que seus
Sistemas Operativos: Deadlocks
Sistemas Operativos: Deadlocks Pedro F. Souto ([email protected]) March 30, 2012 Deadlocks Um deadlock é uma situação em que 2 ou mais processos ficam bloqueados indefinidamente pode ser uma race condition
Sistemas de Computação. Processos e escalonamento
Processos e escalonamento Sistema operacional Programa que age como intermediário entre o usuário de um computador e o hardware Objetivos: Executar programas do usuário e facilitar a resolução de problemas
Capítulo 13: Sistemas de E/S. Operating System Concepts with Java 7th Edition, Nov 15, 2006
Capítulo 13: Sistemas de E/S Capítulo 13: Sistemas de E/S Hardware de E/S Interface de E/S da aplicação Subsistema de E/S do kernel Transformando requisições de E/S em operações de hardware Fluxos Desempenho
Capítulo 5: Escalonamento da CPU
Capítulo 5: Escalonamento da CPU Sobre a apresentação (About( the slides) Os slides e figuras dessa apresentação foram criados por Silberschatz, Galvin e Gagne em 2005. Esse apresentação foi modificada
Infra-Estrutura de Software. Escalonamento
Infra-Estrutura de Software Escalonamento Processos Concorrentes O Modelo de Multiprogramação Multiprogramação de quatro programas Modelo conceitual de 4 processos sequenciais, independentes Somente um
Capítulo 2. Multiprogramação. Conteúdo. Objetivo. Recordando. Recordando. DCA-108 Sistemas Operacionais
DCA-108 Sistemas Operacionais Capítulo 2 Luiz Affonso Guedes www.dca.ufrn.br/~affonso [email protected] Multiprogramação Luiz Affonso Guedes 1 Luiz Affonso Guedes 2 Conteúdo Caracterização de um SO Moderno
6. Mostre os principais modelos de organização interna de um sistema operacional.
Trabalho 1 Sistemas Operacionais Embarcados Engenharia Elétrica Prof. Carlos Marcelo Pedroso 1 Problemas 1. O IBM 360 modelo 75 é cerca de 50 vezes mais rápida do que o IBM 360 modelo 30. Todavia, o tempo
O texto desta seção foi publicado em http://msdn.microsoft.com/ptbr/library/ms177433.aspx. o http://msdn.microsoft.com/pt-br/library/ms178104.
AULA 12 - Deadlocks Em alguns casos pode ocorrer a seguinte situação: um processo solicita um determinado recurso e este não está disponível no momento. Quando isso ocontece o processo entra para o estado
Sistemas Operacionais
ANHANGUERA Sistemas Operacionais Prof. Esp. Rafael Gross Processos Sumário Introdução Conceito de processo Estrutura do processo Estados do processo Mudanças de estado do processo Criação e eliminação
Avisos. Processamento de Transações Controle de Concorrência. Roteiro da aula. Tipos de bloqueio: Binários. Protocolos baseados em bloqueio
Ciência da Computação GBC043 Sistemas de Banco de Dados Processamento de Transações Controle de Concorrência Avisos Lista de exercícios adicionais na página da disciplina Profa. Maria Camila Nardini Barioni
Sistemas Operacionais
Sistemas Operacionais 04 Processos Introdução Um sistema de computação quase sempre tem mais atividades a executar que o número de processadores disponíveis. Diferentes tarefas têm necessidades distintas
Prof. Kleber R. Rovai
Msn: [email protected] E-mail: Skype: klrovai 2 1 Programa: sequência de instruções com diferentes fluxos de execução comandos condicionais e interativos (entidade passiva); Processo: um programa em
SCC Capítulo 2 Recursão
SCC-501 - Capítulo 2 João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis
