BC1518-Sistemas Operacionais. Prof. Marcelo Z. do Nascimento

Tamanho: px
Começar a partir da página:

Download "BC1518-Sistemas Operacionais. Prof. Marcelo Z. do Nascimento"

Transcrição

1 BC58-Sistemas Operacionais Deadlock (Impasse) Aula 7 Prof. Marcelo Z. do Nascimento marcelo.nascimento@ufabc.edu.br

2 Roteiro Conceito de Deadlock; Recursos; Condições de ocorrência; Estratégias para tratar Deadlocks; Prevenção de deadlocks; Leituras Sugeridas Exercícios

3 Na ausência de uma sincronização pode ocorrer um deadlock; Definição: É o congestionamento de requisições de recursos no âmbito de todo o sistema que começa quando 2 ou mais programas são colocados em espera até que o recurso vital se torne disponível. Normalmente não pode ser resolvido pelo S.O. e requer intervenção externa por parte do operador ou dos usuários, forçando a tomar atitudes drásticas, como provocar manualmente o término do programa. 3

4 Analogia: escada muito estreita em um prédio. A escada foi construída como uma rota de fuga na eventualidade de um incêndio, As pessoas que trabalham no prédio muitas vezes preferem usá-las ao invés de esperar pelos elevadores. O tráfego vai bem até que duas pessoas movendo em direção opostas se cruzam - há espaço para apenas uma pessoa em cada degrau. 4

5 Analogia: Congestionamento de trânsito Situação de deadlock 5

6 - Recursos Existem 2 tipos de recursos: Preemptivos: podem ser retirados do processo sem prejuízos; Exemplo: Memória 2 processos solicitam a impressão (sistema time-sharing) Processo A obtém a impressora; CPU retira processo A e processo B tenta obter a impressora; Situação de deadlock; Envia processo B para disco e carrega o processo A na memória elimina o deadlock; 6

7 Não-preemptivos: não podem ser retirados do processo => causam prejuízos; CD-ROM; Processo A começou a gravar um CD-ROM, Retirar repentinamente do processo A o gravador de CD e passar a um outro processo, Resultará em um CD com erros. Deadlocks ocorrem com esse tipo de recurso; 7

8 Como é a seqüência de eventos para utilização de um recurso compartilhado? Requisição do recurso; Utilização do recurso; Liberação do recurso; Se não estiver disponível, o que pode ocorrer? Processo que requisitou o recurso fica bloqueado até que o recurso seja liberado; Processo que requisitou o recurso falha e depois de um certo tempo tenta novamente requisitar o recurso; 8

9 - Aquisição typedef int semaphore; semaphore recurso_; semaphore recurso_2; void processoa(void){ down(&recurso_); down(&recurso_2); Usar_ambos_itens( ); up(&recurso_2); up(&recurso_); } void processob(void){ down(&recurso_); down(&recurso_2); Usar_ambos_itens( ); up(&recurso_2); up(&recurso_); } Possibilidade de Impasse typedef int semaphore; semaphore recurso_; semaphore recurso_2; void processoa(void){ down(&recurso_); down(&recurso_2); Usar_ambos_itens( ); up(&recurso_2); up(&recurso_); } void processob(void){ down(&recurso_2); down(&recurso_); Usar_ambos_itens( ); up(&recurso_); up(&recurso_2); } 9

10 Condições de ocorrência

11 Condições para ocorrer um deadlock: Analogia com a escada: Exclusão mútua: um recurso está sendo utilizado por algum processo ou está disponível (escada); Uso e espera (hold and wait): processos que já possuem algum recurso podem requer outros recursos para finalizar(duas pessoas se encontram no lance da escada);

12 Condições para ocorrer um deadlock: Analogia com a escada: Não-preempção: recursos já alocados não podem ser retirados do processo que os alocou; somente o processo que alocou o recurso pode liberá-lo (escada); Espera Circular: Deve existir um encadeamento circular de dois ou mais processos; cada um deles encontra-se à espera de um recursos que está sendo usado pelo mebro seguinte dessa cadeia (monopoliza o recurso ocupa um degrau e se recusa a retroceder). 2

13 Modelagem de deadlocks

14 Modelagem de Deadlocks Holt (972) as condições podem ser visualizadas através de grafos direcionados; Processo Recurso Aresta de alocação a) Recurso R alocado ao Processo A b) Processo B requisita Recurso S c) Deadlock ciclo C-T-D-U-C 4

15 Modelagem de Deadlocks Cenário Grafos de Recursos Tempo Ação P requisita e obtém R P libera R P2 requisita e obtém R2 P2 libera R2 P3 requisita e obtém R3 P3 libera R3 R R2 R3 P P2 P2 Processo 5

16 Modelagem de Deadlocks Cenário 2: Processos fazem E/S quanto CPU e utiliza algoritmo de alternância circular Tempo Ação P requisita e obtém R P2 requisita e obtém R2 P3 requisita e obtém R3 P requisita R2 P2 requisita R3 P3 requisita R R R2 R3 P P2 P3 Bloqueado 6

17 Modelagem de Deadlocks Cenário 2: Algoritmo de alternância circular Tempo Ação P requisita e obtém R P2 requisita e obtém R2 P3 requisita e obtém R3 P requisita R2 P2 requisita R3 P3 requisita R R R2 R3 P P2 P3 Impasse Como o SO poderia resolver esse problema? A ordem de execução seria uma solução? => P2? 7

18 Estratégias para tratar deadlocks

19 Quatro estratégias para tratar deadlocks: Ignorar o problema; Detectar e recuperar o problema; Evitar dinamicamente o problema alocação cuidadosa de recursos; Prevenir o problema por meio da não satisfação de uma das quatro condições citadas anteriormente; 9

20 Ignorar o problema: Enterre sua cabeça na areia e finja que nada está acontecendo (ALGORITMO DO AVESTRUZ). Profissionais reagem diferentemente a essa estratégia? Matemáticos consideram inaceitável e devem ser evitados / Engenheiros não aceitam perder desempenho para eliminar deadlock A maioria dos S.O. sofre potencialmente de deadlocks que normalmente não são detectados e muito menos anulados. 2

21 Exemplo: Sistema UNIX tem entradas na tabela de processos; programas estão sendo executados; cada um precisa criar 2 (sub)processos; Após cada processo ter criado 9 outros processos, os originais e os 9 novos esgotaram a capacidade da tabela. Cada processo entra em um laço infinito de execução de fork e falha, ou seja, ocorre uma situação de deadlock. 2

22 Maioria do S.O. (Windows e Unix) ignora o problema, supondo que a maior parte dos usuários preferiria um deadlock ocasional a uma regra que restrinja cada usuário somente a um processo. Problema: Custo é alto implica restrições não convencionais de processos (criar conjunto de regras). 22

23 Detectar e Recuperar o problema: Permite que os deadlocks ocorram, tenta detectar as causas e solucionar a situação; Utilizados em computadores de grande porte (Mainframe); Algoritmos: Detecção com um recurso de cada tipo; Detecção com vários recursos de cada tipo; Recuperação por meio de preempção; Recuperação por meio de rollback (volta ao passado); Recuperação por meio de eliminação de processos. 23

24 Detecção com um recurso de cada tipo: Tem um recurso de cada tipo: ploter, impressora, CD Se houverem ciclos, existem potenciais deadlocks; Situação: com 7 processos PA usa R e precisa de S; PB precisa de T; PC precisa de S; PD usa U e precisa de S e T; PE usa T e precisa de V; PF usa W e precisa de S; PG usa V e precisa de U; Modelagem: Grafo de recursos 24

25 Detecção com um recurso de cada tipo: Resposta através da construção de um grafo; Se houverem ciclos, existem potenciais deadlocks; Processos: A-G Recursos: R-W R C alocado Arresta A S F W precisa D U G B T Sistema => 7 processos Nós E V Ciclo Situação: PA usa R e precisa de S; PB precisa de T; PC precisa de S; PD usa U e precisa de S e T; PE usa T e precisa de V; PF usa W e precisa de S; PG usa V e precisa de U; Pergunta: Há possibilidade de deadlock? P L O T E r 25

26 Algoritmo (aplicação): começa utilizando uma lista L Execução a partir de R->A,B,C,S,D,T,E,F (ciclo para); ) Início R => L=[R, A ], L=[R, A, S] =>S não tem arco de saída (retorna); 2) Início A => L=[A,S] S não tem arco de saída (retorna); 3) Início B => L=[B,T,E,V,G,U,D] = escolher S vamos para um nó sem saída e retornamos em D 4) Caso contrário: L=[B,T,E,V,G,U,D,T] =>ciclo INÍCIO R A C S F Arcos W precisa D U G B T E V 26

27 Detecção com vários recursos de cada tipo (baseado em matrizes): Classes diferentes de recursos vetor de recursos existentes (E): Classe= unidade de fita e E =2 => existem duas unidades de fita; Vetor de recursos disponíveis (A): Se ambas as unidades de fita estiverem alocadas, A =; Duas matrizes: C: matriz de alocação corrente; C ij : número de instâncias do recurso j entregues ao processo i; R: matriz de requisições; R ij : número de instâncias do recurso j que o processo i precisa; 27

28 4 unidades de fita; 2 plotter; 3 impressoras; unidade de CD-ROM Recursos existentes E = (4 2 3 ) UF P I UCD Matriz de alocação C = UF P I UCD 2 2 Recursos P P 2 P 3 Recursos disponíveis A = (2 ) UF P I UCD Matriz de requisições R = UF P I UCD 2 2 Três processos: P usa uma impressora; P 2 usa duas unidades de fita e uma de CD-ROM; P 3 usa um plotter e duas impressoras; Cada processo precisa de outros recursos (R); P P 2 P 3 28

29 4 unidades de fita; 2 plotter; 3 impressoras; unidade de CD-ROM Recursos existentes E = (4 2 3 ) C = UF P I UCD Matriz de alocação P Requisições (satisfazer a condição): P requisita 2 unidades de fita e um CD-ROM (não pode atender); P 2 requisita unidade de fita e impressora (não pode atender); P 3 requisita duas unidades de fita e um plotter; P 2 R = P 3 Recursos disponíveis A = (2 ) P 3 pode rodar Após rodar P3 =>A = (2 2 2 ) Matriz de requisições 2 P P 2 P 3 29

30 4 unidades de fita; 2 plotter; 3 impressoras; unidade de CD-ROM Recursos existentes E = (4 2 3 ) Matriz de alocação C = 3 Requisições: P requisita duas unidades de fita e um CD-ROM; P 2 requisita uma unidade de fita e uma impressora; P P 2 P 3 R = Recursos disponíveis A = (2 ) A = (2 2 2 ) P 2 pode rodar A = (4 2 2 ) Matriz de requisições 2 P P 2 P 3 3

31 4 unidades de fita; 2 plotter; 3 impressoras; unidade de CD-ROM Requisições: P requisita duas unidades de fita e um CD-ROM; Recursos existentes E = (4 2 3 ) Matriz de alocação C = 2 Recursos disponíveis A = (2 ) A = (2 2 2 ) A = (4 2 2 ) P pode rodar P Matriz de requisições P P 2 P 3 R = P 2 P 3 3

32 Ao final da execução, temos: Recursos existentes E = (4 2 3 ) 4 unidades de fita; 2 plotters; 3 impressoras; unidade de CD-ROM Recursos disponíveis A = (4 2 3 ) Matriz de alocação C = P P 2 P 3 R = Matriz de requisições P P 2 P 3 32

33 4 unidades de fita; 2 plotters; 3 impressoras; unidade de CD-ROM Recursos existentes E = (4 2 3 ) Matriz de alocação C = UF P I UCD 2 2 P P 2 P 3 Requisições: DEADLOCK: P 3 requisita duas unidade de fita, uma impressora e uma unidade de CD-ROM; Recursos disponíveis A = (2 ) Matriz de requisições R = UF P I UCD 2 2 P P 2 P 3 CARO TEMPO DE CPU 33

34 Se localizado o Impasse. O que deve ser feito? Recuperação de Deadlocks: Por meio de preempção: possibilidade de retirar temporariamente um recurso de seu atual dono (processo) e entregá-lo a outro processo; Por meio de revisão de estado: recursos alocados a um processo são armazenados em arquivos de verificação; quando ocorre um deadlock, os processos voltam ao estado no qual estavam antes do deadlock. 34

35 Recuperação de Deadlocks: Por meio de eliminação de processos: processos que estão no ciclo com deadlock são retirados do ciclo; processos que não causam algum efeito negativo ao sistema; Ex.: compilação sem problemas; Ex2.: atualização de um base de dados problemas nos registros adiciona (morto) adicionará 2; 35

36 É possível evitar impasse fazendo uma escolha correta? Evitar dinamicamente o problema: Alocação individual de recursos; Utiliza matrizes descritas anteriormente; Escalonamento cuidadoso; Trabalhar com Estados Seguros e Inseguros; 36

37 É possível evitar impasse fazendo uma escolha correta? Algoritmos: Extensão do algoritmo de detecção de deadlocks; Banqueiro para um único tipo de recurso; Banqueiro para vários tipos de recursos; 37

38 Estados seguros: não provocam deadlocks e há uma maneira de atender a todas as requisições pendentes finalizando normalmente todos os processos; Existe alguma ordem de escalonamento na qual todo o processo possa ser executado até a sua conclusão; Estado inseguros: podem provocar deadlocks, mas não necessariamente provocam; 38

39 Seguro: ilizado tal licitado Começa escalonando o processo B C 4 2 B 9 3 A 7 2 C 4 4 B 9 3 A 7 2 C - B 9 3 A 7 7 C - B 9 3 A - C - B 9 3 A Disponível: 3 Disponível: Disponível: 5 Disponível: Disponível: 7 uti Tot sol

40 Inseguro (não é deadlock): Solicitará e obterá outro recurso Não há garantia que todos irão terminar C 4 2 B 9 3 A 7 2 C 4 2 B 9 4 A 7 2 C 4 4 B 9 4 A 7 2 C - - B 9 4 A Disponível: 3 Disponível: 2 Disponível: Disponível: 4 Começa escalonando o processo A recurso

41 Algoritmos do Banqueiro: Idealizado por Dijkstra (965); Segue os seguintes princípios (analogia): Nenhum cliente receberá um empréstimo maior do que o capital total do banco. Todos os clientes receberão um limite de crédito ao abrir suas contas. Nenhum cliente poderá ultrapassar esse limite. A soma de todos os empréstimos não poderá ultrapassar o capital total do banco. 4

42 Algoritmos do Banqueiro: Considera cada requisição no momento em que ela ocorre verificando se essa requisição leva a um estado seguro; Se sim, a requisição é atendida, Senão, o atendimento é adiado para um outro momento; 42

43 Algoritmos do Banqueiro: Premissas adotadas por um banqueiro (SO) para garantir ou não crédito (recursos) para seus clientes (processos); Nem todos os clientes (processos) precisam de toda a linha de crédito (recursos) disponível para eles; 43

44 Algoritmo do Banqueiro para um único tipo de recurso: Possui A B C D Máximo de linha de crédito = 22 A B C* D 2 4 Livre: Livre: 2 Livre: Seguro Seguro Inseguro A B C D Solicitações de crédito são realizadas de tempo em tempo; * C é atendido e libera 4 créditos, que podem ser usados por B ou D; 44

45 Algoritmo do Banqueiro para um único tipo de recurso: Possui A B C D Máximo de linha de crédito = 22 A B C D A B* C D Livre: Livre: 2 Livre: Seguro Seguro Inseguro Solicitações de crédito são realizadas de tempo em tempo; * B é atendido. Em seguida os outros fazem solicitação, ninguém poderia ser atend

46 Algoritmo do Banqueiro para vários tipos de recursos: Mesma idéia, mas duas matrizes são utilizadas; Recursos E = ( ); Alocados P = ( ); Disponíveis A = ( 2 ); A B 3 C D E C = Recursos Alocados A B 2 C D 3 E 2 R = Recursos ainda necessários 46

47 Algoritmo do Banqueiro para vários tipos de recursos: Alocados P = ( ); Disponíveis A = ( ); A B 3 C D E C = Recursos Alocados Atender a solicitação de B => seguro A B 2 C D 3 E 2 R = Recursos ainda necessários 47

48 Algoritmo do Banqueiro para vários tipos de recursos: Alocados P = ( ); Disponíveis A = ( ); A B 3 C D E C = Recursos Alocados A B 2 C D 3 E 2 R = Recursos ainda necessários Inseguro: negar Deadlock Solução: Adiar a requisição de E por alguns instantes; 48

49 Algoritmo do Banqueiro: Desvantagens Pouco utilizado, pois é difícil saber quais recursos serão necessários; O número de processos é dinâmico e pode variar constantemente tornando o algoritmo custoso (difícil de implementar); Vantagem Teoricamente => o algoritmo é ótimo; 49

50 Prevenir Deadlocks: Atacar uma das quatro condições: Condição Exclusão Mútua Uso e Espera Abordagem Alocar todos os recursos usando um spool Requisitar todos os recursos inicialmente Não-preempção Retirar recursos dos processos Espera Circular Ordenar numericamente os recursos; Mais atrativa de ser praticada; 5

51 Aula 7 - Sumário Recursos: Preemptivo e não preemptivo Impasses: modelagem Algoritmo do avestrutz Detecção e recuperação de impasses Evitando impasses Prevenção de impasses

52 Leituras Sugeridas Silberschatz, A., Galvin, P. B. Gagne, G. Sistemas Operacionais com Java. 7º edição. Editora Campus, 28. TANENBAUM, A. Sistemas Operacionais Modernos. Rio de Janeiro: Pearson, 3 ed. 2

53 Nota de Aula Acesse o link abaixo: Obrigado!!!

54 Exercícios - Deadlocks. Considere o deadlock de tráfego indicado na figura abaixo: a) Mostre que as quatros condições para o deadlock de fato estão presentes nesse exemplo. b) Apresente uma regra simples que evite deadlock nesse sistema. 54

55 Exercícios - Deadlocks 2. Dados que os dispositivos são todos do mesmo tipo e utilizando as definições apresentada sobre o algoritmo do Banqueiro responda às seguintes perguntas: a)determine as requisições restantes para cada programa no sistema. b) Determine se cada sistema é seguro ou inseguro. c) Se o sistema tiver em estado seguro, relacione a seqüência de requisições e liberações que possibilitará a execução completa de todos os processos. d) Se o sistema estiver em estado inseguro, mostre como é possível ocorrer um impasse. 55

56 Exercícios i)sistema A tem 2 dispositivos; apenas está disponível. Número do programa Dispositivos alocados Máximo de requisições Requisições restantes

57 Exercícios ii)sistema B tem 4 dispositivos; apenas 2 está disponível. Número do programa Dispositivos alocados Máximo de requisições Requisições restantes

Programação Concorrente. 2º Semestre 2010

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

Leia mais

SSC0640 Sistemas Operacionais I

SSC0640 Sistemas Operacionais I SSC64 Sistemas Operacionais I 2ª Aula Deadlocks Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Slides adaptados de Marcos José Santana / Regina H. C. Santana / Luciana A. F. Martimiano baseados no livro

Leia mais

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar - Aula 3-1. DEADLOCK Os sistemas computacionais estão repletos de recursos que podem ser usados por um processo por vez. Exemplo: CD-ROM, Driver de Fita Dat, etc. Ter dois processos simultaneamente gravando

Leia mais

DEADLOCKS IMPASSES. Vinícius Pádua

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

Leia mais

Deadlocks. Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

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,

Leia mais

SOP - TADS Impasses - Deadlock

SOP - TADS Impasses - Deadlock SOP - TADS Impasses - Deadlock Prof. Ricardo José Pfitscher dcc2rjp@joinville.udesc.br Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Cronograma Noções de deadlock Modelagem

Leia mais

Capítulo 3 Deadlocks - Impasses

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

Leia mais

Capítulo 3 Deadlocks - Impasses

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

Leia mais

Capítulo 7: Impasse (Deadlocks( Deadlocks)

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

Leia mais

Deadlocks (impasses)

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

Leia mais

SISTEMAS OPERACIONAIS

SISTEMAS OPERACIONAIS SISTEMAS OPERACIONAIS Deadlock Andreza Leite andreza.leite@univasf.edu.br Plano da Aula 2 Introdução Modelo de um Sistema Computacional Característica de um Deadlock Modelagem de um Deadlock (Grafos de

Leia mais

Capítulo 3. Deadlocks. Recursos

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

Leia mais

Sistemas Operacionais. DeadLock. Edeyson Andrade Gomes.

Sistemas Operacionais. DeadLock. Edeyson Andrade Gomes. Sistemas Operacionais DeadLock Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula DeadLock Metas Algoritmos 2 DeadLock Um estado de deadlock ocorre quando dois ou mais processos estão esperando por

Leia mais

MAC422/5753 Sistemas Operacionais

MAC422/5753 Sistemas Operacionais MAC422/5753 Sistemas Operacionais Prof. Marcel P. Jackowski Aula #9 Sincronização no kernel e deadlocks Sobre sincronização... Tarefa complexa e sutil Exemplos através de código-fonte mostrado utilizando

Leia mais

Sistemas Operacionais. Deadlock

Sistemas Operacionais. Deadlock Sistemas Operacionais Deadlock Deadlocks! Recursos: hardware ou informação! Preemptivo X não preemptivo! Uso do Recurso:! Pedido (Request ou Open)! Uso! Liberação! Um conjunto de processos está em deadlock

Leia mais

Sistemas Operacionais Aula 09: Deadlocks / Impasses. Ezequiel R. Zorzal

Sistemas Operacionais Aula 09: Deadlocks / Impasses. Ezequiel R. Zorzal Sistemas Operacionais Aula 09: Deadlocks / Impasses Ezequiel R. Zorzal ezorzal@unifesp.br www.ezequielzorzal.com Objetivos Desenvolver uma descrição de deadlocks, que impedem que grupos de processos simultâneos

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Programação Concorrente Impasses Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Sumário Princípios de Deadlock Técnicas de solução do problema Prevenir a ocorrência

Leia mais

Capítulo 7: Deadlocks. Operating System Concepts 8th Edition

Capítulo 7: Deadlocks. Operating System Concepts 8th Edition Capítulo 7: Deadlocks 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

Leia mais

Sistemas Distribuídos

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

Leia mais

Recursos. Exemplos de recursos:

Recursos. Exemplos de recursos: Deadlocks 1. Recursos 2. Introdução aos deadlocks 3. Algoritmo Ostrich (Avestruz) 4. Detecção e recuperação de deadlocks 5. Evitar deadlocks 6. Prevenir deadlocks 7. Considerações Recursos Exemplos de

Leia mais

Deadlock. Um problema de concorrência. Parte dos slides: Sistemas Operacionais Modernos 2ª Edição, Pearson Education

Deadlock. Um problema de concorrência. Parte dos slides: Sistemas Operacionais Modernos 2ª Edição, Pearson Education Deadlock Um problema de concorrência Parte dos slides: Sistemas Operacionais Modernos 2ª Edição, Pearson Education 1 Interação entre Processos Processos que executam em paralelo podem trocar informações

Leia mais

Sistemas Operacionais: Deadlocks

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

Leia mais

Capítulo 6 Deadlocks. Não encontre defeitos, encontre soluções. Qualquer um sabe queixar-se. Henry Ford

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

Leia mais

Deadlocks. Sistemas Operacionais - Professor Machado

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

Leia mais

Impasses. Pedro Cruz. EEL770 Sistemas Operacionais

Impasses. Pedro Cruz. EEL770 Sistemas Operacionais Impasses Pedro Cruz EEL770 Sistemas Operacionais Lembretes Proposta de trabalho Enviar para cruz@gta.ufrj.br Prazo: hoje 2 Última aula Semáforos Up Down Mutexes Monitor Mensagens Bloquear no envio/recebimento

Leia mais

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. 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

Leia mais

Sistemas Operacionais Bloqueios Perpétuos

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

Leia mais

Fundamentos de Sistemas Operacionais

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.

Leia mais

Sistemas de Informação. Sistemas Operacionais

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

Leia mais

Sincronização e Comunicação entre Processos. Adão de Melo Neto

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.

Leia mais

Impasses. Pedro Cruz. EEL770 Sistemas Operacionais

Impasses. Pedro Cruz. EEL770 Sistemas Operacionais Impasses Pedro Cruz EEL770 Sistemas Operacionais Lembretes Proposta de trabalho Enviar para cruz@gta.ufrj.br Prazo: dia 21 de agosto 2 Recordar é viver Recursos preemptíveis e não-preemptíveis Impasse

Leia mais

Algoritmos Distribuídos (deadlock) ALGORITMOS DISTRIBUÍDOS Deadlock. Algoritmos Distribuídos (deadlock) Algoritmos Distribuídos (deadlock)

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

Leia mais

Escalonamento de Processos

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

Leia mais

ALGORITMOS DISTRIBUÍDOS Deadlock

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

Leia mais

Sincronização e Comunicação entre Processos

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.

Leia mais

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais. Prof. André Y. Kusumoto Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Deadlocks Situação na qual um, ou mais processos, fica impedido de prosseguir sua execução devido ao fato de cada um estar aguardando

Leia mais

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS. SEMANAS 11 e 12

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.

Leia mais

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) 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

Leia mais

Sistemas Operacionais

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

Leia mais

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais. Prof. André Y. Kusumoto Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Escalonamento CPU Um vez escalonado, o processo utiliza o processador, de modo: Não preemptivo (FIFO, SJF, Cooperativo) Término

Leia mais

Sistemas Operativos. Deadlocks FEUP. 23 de Outubro, 2009

Sistemas Operativos. Deadlocks FEUP. 23 de Outubro, 2009 Sistemas Operativos Rui Maranhão (rma@fe.up.pt) FEUP 23 de Outubro, 2009 Agradecimento: Pedro Souto (pfs@fe.up.pt) Rui Maranhão (FEUP) 23 de Outubro, 2009 1 / 33 Sumário O Problema Grafos de Alocação de

Leia mais

Resumo: Sistemas Operacionais Abertos

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

Leia mais

Alocação de Recursos. Introdução. Sistemas de Tempo Real: Introdução. Modelo de Recursos. Modelo de Recursos. Modelo de Recursos

Alocação de Recursos. Introdução. Sistemas de Tempo Real: Introdução. Modelo de Recursos. Modelo de Recursos. Modelo de Recursos Introdução Sistemas de Tempo Real: Alocação de Recursos Rômulo Silva de Oliveira Departamento de Automação e Sistemas DAS UFSC Processador é o recurso mais imtante Mais essencial Outros recursos também

Leia mais

Alocação de Recursos. Introdução. Sistemas de Tempo Real: Introdução. Modelo de Recursos. Modelo de Recursos. Modelo de Recursos

Alocação de Recursos. Introdução. Sistemas de Tempo Real: Introdução. Modelo de Recursos. Modelo de Recursos. Modelo de Recursos Introdução Sistemas de Tempo Real: Alocação de Recursos Rômulo Silva de Oliveira Departamento de Automação e Sistemas DAS UFSC Processador é o recurso mais imtante Mais essencial Outros recursos também

Leia mais

Estados dos processos. Infra Estruturas Computacionais. A troca de contexto. Escalonamento de Processos. Escalonamento de Processos

Estados dos processos. Infra Estruturas Computacionais. A troca de contexto. Escalonamento de Processos. Escalonamento de Processos Infra Estruturas Computacionais Professor: André Ferreira andre.ferreira@ifba.edu.br Material baseado: Prof.ª Renata Vilas e outros Estados dos processos novo admissão condição satisfeita pronto carga

Leia mais

Sistemas de Entrada e Saída

Sistemas de Entrada e Saída Sistemas de Entrada e Saída Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Maio, 2016 1 / 31 Sumário 1 Interrupções 2 Camadas de Software de E/S 2 / 31 Interrupções

Leia mais

Notas da Aula 10 - Fundamentos de Sistemas Operacionais

Notas da Aula 10 - Fundamentos de Sistemas Operacionais Notas da Aula 10 - Fundamentos de Sistemas Operacionais 1. Escalonadores preemptivos Escalonadores preemptivos são aqueles que têm a capacidade de interromper a execução de um processo para realizar alterações

Leia mais

Sistemas Operacionais - UCSAL Professor : Marco Antônio C. Câmara Primeira Lista de Exercícios

Sistemas Operacionais - UCSAL Professor : Marco Antônio C. Câmara Primeira Lista de Exercícios 1ª Questão : Com base na figura ao lado, extraída do livro SISTEMAS OPERACIONAIS MODERNOS, de Andrew S. Tanenbaum, assinale cada uma das afirmações abaixo como (C)erta ou (E)rrada. No caso da afirmativa

Leia mais

Sistemas Operacionais

Sistemas Operacionais Introdução Sistemas Operacionais Gerência do processador (Escalonamento) Aula 05 Objetivos de um sistema operacional são: Eficiência: relação entre o uso efetivo de um recurso e a quantidade desse recurso

Leia mais

Sistemas de Informação. Sistemas Operacionais

Sistemas de Informação. Sistemas Operacionais Sistemas de Informação Sistemas Operacionais Apresentação Prof. Bruno de Souza Toledo bruno.toledo@ifmg.edu.br Sistemas Operacionais Carga horária: 80 horas/aula Habilidades e Competências A disciplina

Leia mais

( ) Sistemas de Computação - Unifacs Professor : Marco Antônio C. Câmara - Lista de Exercícios II - Dia 18/10/2009

( ) Sistemas de Computação - Unifacs Professor : Marco Antônio C. Câmara - Lista de Exercícios II - Dia 18/10/2009 1ª Questão : Sobre o conceito de sistema operacional, escreva ao lado a soma dos números dos itens que considera corretos: (01) O conceito da máquina de níveis define o hardware como o nível mais baixo,

Leia mais

Sincronização e Comunicação entre Processos. Adão de Melo Neto

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

Leia mais

Sumário. Deadlock. Definição. Recursos. M. Sc. Luiz Alberto lasf.bel@gmail.com

Sumário. Deadlock. Definição. Recursos. M. Sc. Luiz Alberto lasf.bel@gmail.com Sumário Condições para Ocorrência de Modelagem de Evitando deadlock Algoritmo do banqueiro M. Sc. Luiz Alberto lasf.bel@gmail.com Aula - SO 1 Definição Um conjunto de N processos está em deadlock quando

Leia mais

Sistemas Operacionais II. Linux 2: Threads, Escalonamento, Gerenciamento de Memória e Sistemas de Arquivos

Sistemas Operacionais II. Linux 2: Threads, Escalonamento, Gerenciamento de Memória e Sistemas de Arquivos Sistemas Operacionais II Linux 2: Threads, Escalonamento, Gerenciamento de Memória e Sistemas de Arquivos Threads Suporte a threads no núcleo; Foi definida uma nova chamada ao sistema não presente no Unix:

Leia mais

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional Sistemas Operacionais Prof. Pedro Luís Antonelli Anhanguera Educacional Processador INTRODUÇÃO Projetado apenas para executar instruções Não é capaz de distinguir qual programa está em execução Processo

Leia mais

Unidade II FUNDAMENTOS DE SISTEMAS OPERACIONAIS. Prof. Victor Halla

Unidade II FUNDAMENTOS DE SISTEMAS OPERACIONAIS. Prof. Victor Halla Unidade II FUNDAMENTOS DE SISTEMAS OPERACIONAIS Prof. Victor Halla Conteúdo Sistema de Arquivos Introdução Sistemas de Diretórios Gerenciamento de Entrada e Saída; Problemas de alocação em memória Perda

Leia mais

SSC0640 Sistemas Operacionais I

SSC0640 Sistemas Operacionais I SSC0640 Sistemas Operacionais I 1ª Aula Apresentação da disciplina Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br 1 Objetivos do curso Introduzir o estudante nos conceitos e princípios básicos dos sistemas

Leia mais

Universidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação

Universidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação Universidade Federal do Pará Instituto de Ciências Exatas e Naturais Faculdade de Computação SISTEMAS OPERACIONAIS Aula 7 Regiane Kawasaki kawasaki@ufpa.br Slides adaptados da Profa. Sarita Mazzini Bruschi

Leia mais

Algoritmos de escalonamento

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

Leia mais

BC1518-Sistemas Operacionais. Prof. Marcelo Z. do Nascimento

BC1518-Sistemas Operacionais. Prof. Marcelo Z. do Nascimento BC1518-Sistemas Operacionais Escalonamento de CPU 3 Quadrimestre de 2010 Prof. Marcelo Z. do Nascimento marcelo.nascimento@ufabc.edu.br Roteiro Conceito Despachante Critérios de escalonamento Algoritmos

Leia mais

Programação de Sistemas. Impasse e carência

Programação de Sistemas. Impasse e carência Programação de Sistemas Impasse e carência Programação de Sistemas Impasse/Carência : 1/27 Introdução Acesso de unidades de execução a recursos críticos exige sincronização. Quando uma unidade se encontra

Leia mais

Inversão de prioridades

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

Leia mais

( ) ( ) Auto Avaliação F ( ) M ( ) D ( ) Seqüência: Sistemas Operacionais - UCSAL Professor : Marco Antônio C. Câmara Exercícios - Dia 20/04/2011

( ) ( ) Auto Avaliação F ( ) M ( ) D ( ) Seqüência: Sistemas Operacionais - UCSAL Professor : Marco Antônio C. Câmara Exercícios - Dia 20/04/2011 Aluno(a) : A avaliação terá a duração de uma hora, portanto, seja objetivo nas respostas e procure não perder tempo. A prova deverá ser realizada sem rasuras e com caneta azul ou preta. Eventuais questões

Leia mais

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO IM DCC CURSO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I 2010/2 PROGRAMA DA DISCIPLINA

UNIVERSIDADE FEDERAL DO RIO DE JANEIRO IM DCC CURSO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I 2010/2 PROGRAMA DA DISCIPLINA UNIVERSIDADE FEDERAL DO RIO DE JANEIRO IM DCC CURSO DE CIÊNCIA DA COMPUTAÇÃO SISTEMAS OPERACIONAIS I 2010/2 Código: MAB366 Créditos: 04 Carga Horária: 60 horas Professor: Antonio Carlos Gay Thomé thome@nce.ufrj.br

Leia mais

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 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

Leia mais

6 ESCALONAMENTO DE CPU

6 ESCALONAMENTO DE CPU 6 ESCALONAMENTO DE CPU O escalonamento de CPU é ponto chave da multiprogramação. Ela permite que haja mais de um processo em execução ao mesmo tempo. Em ambientes com um único processador, o escalonador

Leia mais

Processos. Processo (1) Processo (2) Processo (3) Conceitos Básicos

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

Leia mais

Processos. Conceitos Básicos

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

Leia mais

Curso: Redes de Computadores

Curso: Redes de Computadores Curso: Redes de Computadores Cadeira de Introdução a Sistemas Operacionais. Bibliografia Sistemas Operacionais Modernos Andew S. Tanembaum Sistema Operacionais Abraham Silberchatz, Peter Galvin e Greg

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Prof. Jó Ueyama Apresentação baseada nos slides da Profa. Kalinka Castelo Branco, do Prof. Dr. Antônio Carlos Sementille e da Profa. Dra. Luciana A. F. Martimiano e nas transparências

Leia mais

Sistemas Operacionais. Escalonamento de processos

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

Leia mais

Notas da Aula 8 - Fundamentos de Sistemas Operacionais

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

Leia mais

Processos. Conceitos Básicos

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

Leia mais

AULA Nº 08 SISTEMAS OPERACIONAIS. Threads

AULA Nº 08 SISTEMAS OPERACIONAIS. Threads AULA Nº 08 SISTEMAS OPERACIONAIS Threads Contextualizando Na aula passada Sincronização de Processos Aula de hoje Threads O Modelo de Processo 1) Utilizado para agrupar recursos 2) Um espaço de endereço

Leia mais

Prof. Kleber R. Rovai

Prof. Kleber R. Rovai Msn: klrovai@hotmail.com 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

Leia mais

Recursos. Um recurso é ou um dispositivo físico (dedicado) do hardware, ou Solicitar o recurso: esperar pelo recurso, até obtê-lo.

Recursos. Um recurso é ou um dispositivo físico (dedicado) do hardware, ou Solicitar o recurso: esperar pelo recurso, até obtê-lo. Um recurso é ou um dispositivo físico (dedicado) do hardware, ou um conjunto de informações, que deve ser exclusivamente usado. A impressora é um recurso, pois é um dispositivo dedicado, devido ao fato

Leia mais

6. Mostre os principais modelos de organização interna de um sistema operacional.

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

Leia mais

Processos. Escalonamento de Processos

Processos. Escalonamento de Processos Processos Escalonamento de Processos Objetivos do Escalonamento Maximizar a taxa de utilização da UCP. Maximizar a vazão ( throughput ) do sistema. Minimizar o tempo de execução ( turnaround ). Turnaround:

Leia mais

Processos. Objetivos do Escalonamento. Políticas de Escalonamento. Algoritmos de Escalonamento. Maximizar a taxa de utilização da UCP.

Processos. Objetivos do Escalonamento. Políticas de Escalonamento. Algoritmos de Escalonamento. Maximizar a taxa de utilização da UCP. Objetivos do Escalonamento Maximizar a taxa de utilização da UCP. Processos Maximizar a vazão ( throughput ) do sistema. Minimizar o tempo de execução ( turnaround ). Turnaround: tempo total para executar

Leia mais

William Stallings Arquitetura e Organização de Computadores 8 a Edição

William Stallings Arquitetura e Organização de Computadores 8 a Edição William Stallings Arquitetura e Organização de Computadores 8 a Edição Capítulo 8 Suporte do sistema operacional slide 1 Objetivos e funções Conveniência: Tornar o computador mais fácil de usar. Eficiência:

Leia mais

SOP - TADS Escalonamento de Processos

SOP - TADS Escalonamento de Processos SOP - TADS Escalonamento de Processos Prof. Ricardo José Pfitscher dcc2rjp@joinville.udesc.br Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Cronograma Conceito de Escalonamento

Leia mais

Davidson Rodrigo Boccardo

Davidson Rodrigo Boccardo Fundamentos em Sistemas de Computação Davidson Rodrigo Boccardo flitzdavidson@gmail.com Componentes de um SO Gerenciamento de Processos Sistema de Arquivos Gerenciamento de Entrada/Saída Gerenciamento

Leia mais

Sincronização e comunicação entre processos

Sincronização e comunicação entre processos Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Sincronização e comunicação entre processos Em um sistema multiprogramável com

Leia mais

Processos O conceito de processos é fundamental para a implementação de um sistema multiprogramável. De uma maneira geral, um processo pode ser entend

Processos O conceito de processos é fundamental para a implementação de um sistema multiprogramável. De uma maneira geral, um processo pode ser entend Concorrência Nos sistemas Monoprogramáveis somente um programa pode estar em execução por vez, permanecendo o processador dedicado a esta única tarefa. Os recursos como memória, processador e dispositivos

Leia mais

Sistemas Operacionais Aula 15: Sistemas de I/O. Ezequiel R. Zorzal

Sistemas Operacionais Aula 15: Sistemas de I/O. Ezequiel R. Zorzal Sistemas Operacionais Aula 15: Sistemas de I/O Ezequiel R. Zorzal ezorzal@unifesp.br www.realidadeaumentada.com.br Objetivos Explorar a estrutura do subsistema de E/S de um sistema operacional Discutir

Leia mais

SOP - TADS Processos. Revisão Ultima aula

SOP - TADS Processos. Revisão Ultima aula SOP - TADS Processos Prof. Ricardo José Pfitscher dcc2rjp@joinville.udesc.br Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Revisão Ultima aula Revisão de hardware Processador

Leia mais

Sistemas Operacionais. Gerência de Processador

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

Leia mais

Roteiro. Introdução Sincronização de Relógio Físico Sincronização de Relógio Lógico Exclusão Mútua

Roteiro. Introdução Sincronização de Relógio Físico Sincronização de Relógio Lógico Exclusão Mútua Sincronização Roteiro Introdução Sincronização de Relógio Físico Sincronização de Relógio Lógico Exclusão Mútua Introdução A comunicação entre processos é importante, mas não é só isso que importa; Uma

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 11 - Threads e Concorrência

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 11 - Threads e Concorrência Aula 11 - Threads e Concorrência Conteúdo Programático desta aula Apresentar os Conceitos de Threads, Concorrência e Sincronização. Verificar a aplicabilidade destes conceitos no mercado, bem como sua

Leia mais

GERENCIAMENTO DE PROCESSOS E MEMÓRIA

GERENCIAMENTO DE PROCESSOS E MEMÓRIA GERENCIAMENTO DE PROCESSOS E MEMÓRIA GRUPO ELAINE P. S. ALVES RAFAEL T. ROLDÃO VINICIUS A. ZANQUINI SAMUEL DISCIPLINA: SISTEMAS OPERACIONAIS 2º QUAD/2010 PROFº MARCELO NASCIMENTO MOTIVAÇÃO 1. Sistema de

Leia mais

Escalonamento. Eduardo Ferreira dos Santos. Abril, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 42

Escalonamento. Eduardo Ferreira dos Santos. Abril, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 42 Escalonamento Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Abril, 2017 1 / 42 Sumário 1 Multiprogramação 2 Escalonamento 3 Concorrência Memória compartilhada

Leia mais

Estrutura de Dados. Aula 07 Alocação Dinâmica

Estrutura de Dados. Aula 07 Alocação Dinâmica Estrutura de Dados Aula 07 Alocação Dinâmica 2 ALOCAÇÃO DINÂMICA Existem três modos de reservar espaço de memória para o armazenamento de informações: 1ª - através do uso de variáveis globais (e estáticas).

Leia mais

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 3. Escalonamento

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 3. Escalonamento Aula 3 Escalonamento Escalonamento Porque? Quando? Como? Critérios? Políticas de escalonamento Como avaliar? Referências: Capítulo 5: 5.1 a 5.3, 5.6 Porque Escalonar? Escalonamento controla compartilhamento

Leia mais

Sincronização de Processos (2)

Sincronização de Processos (2) Sincronização de Processos (2) Tipos de Soluções (cont.) Soluções de Hardware Inibição de interrupções Instrução TSL (apresenta busy wait) Soluções de software com busy wait Variável de bloqueio Alternância

Leia mais

Seções Críticas em Sistemas de Tempo Real

Seções Críticas em Sistemas de Tempo Real Seções Críticas em Sistemas de Tempo Real Rômulo Silva de Oliveira ebook Kindle, 2018 www.romulosilvadeoliveira.eng.br/livrotemporeal Outubro/2018 1 Introdução Processador é o recurso mais importante Mais

Leia mais

Programação concorrente (processos e threads)

Programação concorrente (processos e threads) Programação concorrente (processos e threads) Programação concorrente Por que precisamos dela? Para utilizar o processador completamente Paralelismo entre CPU e dispositivos de I/O Para modelar o paralelismo

Leia mais

Comunicação entre Processos

Comunicação entre Processos Programação Paralela e Distribuída Ordenação e Sincronização Prof. Msc. Marcelo Iury de Sousa Oliveira marceloiury@gmail.com http://sites.google.com/site/marceloiury/ Comunicação entre Processos Processos

Leia mais

SISTEMAS OPERACIONAIS. 1ª. Lista de Exercícios

SISTEMAS OPERACIONAIS. 1ª. Lista de Exercícios SISTEMAS OPERACIONAIS Prof a. Roberta Lima Gomes (soufes@gmail.com) 1ª. Lista de Exercícios Data de Entrega: não há. O objetivo da lista é ajudar no estudo individual dos alunos. Soluções de questões específicas

Leia mais

Tipos de Sistemas Operacionais

Tipos de Sistemas Operacionais Ygor Colen Morato Tipos de Sistemas Operacionais Sistemas Monoprogramáveis/ Monotarefa Sistemas Multiprogramáveis/ Multitarefa Sistemas com Múltiplos Processadores UCP programa/ tarefa Memória Principal

Leia mais

Tratamento dos Erros de Sintaxe. Adriano Maranhão

Tratamento dos Erros de Sintaxe. Adriano Maranhão Tratamento dos Erros de Sintaxe Adriano Maranhão Introdução Se um compilador tivesse que processar somente programas corretos, seu projeto e sua implementação seriam grandemente simplificados. Mas os programadores

Leia mais