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

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

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

Transcrição

1 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 na região crítica a aceder ao recurso, todas as outras que pretendem entrar ficam bloqueados. Esta estratégia pode gerar dois problemas: Impasse ( deadlock ): unidades de execução nunca avançam porque cada uma possui recursos e ficam à espera dos recursos de outras unidades para poder prosseguir. Carência ( starvation ): unidade de execução é sempre preterida no acesso a recursos. Programação de Sistemas Impasse/Carência : 2/27

2 Impasse (1) [Def] Impasse ( deadlock ): estado do sistem em que todos os processos se encontram bloqueados: cada processo possui um recurso e encontra-se à espera para adquirir mais recursos possuídos por outros processos. [Def] Um sistema manifesta a propriedade de animação ( liveness ) se nunca entrar num impasse. O impasse pode ocorrer em sistemas computacionais concorrentes e na vida real. A animação é uma propriedade difícil de verificar, sendo usadas ferramentas avançadas de verificação de modelos. (ex: SPIN dos Bell Labs e SMV da Canegie-Mellon University). Programação de Sistemas Impasse/Carência : 3/27 Impasse (2) Exemplo computacional Seja um sistema com uma unidade de disco (acesso protegido pelo semáforo U) e uma unidade de banda magnética (acesso protegido pelo semáforo T). Os dois dispositivos são requisitados pos dois processos. Processo P wait(t); wait(u); /* região crítica */ signal(t); signal(u); Processo C wait(u); wait(t); /* região crítica */ signal(u); signal(t); O sistema entra em impasse com o seguinte traço: A:wait(T); B:wait(U); Programação de Sistemas Impasse/Carência : 4/27

3 Impasse (3) Exemplos na vida real 1. Ponte de via única Cada metade da ponte é vista como recurso. Impasse resolvido por recuo de um dos veículos. Resolução do impasse por prioridade pode gerar carência. Programação de Sistemas Impasse/Carência : 5/27 Impasse (4) 2. Cruzamentos Sistemas com impasse revelam esperas circulares. Etapas no estudo dos impasses: Modelação: representação abstracta do sistema, por forma a determinar as suas propriedades. Prevenção: modificar programas, por forma que nunca ocorram impasses. Detecção: verificar se um impasse vai ocorrer, ou se já ocorreu. Recuperação: acções a desencadear aquando da ocorrência de um impasse. Programação de Sistemas Impasse/Carência : 6/27

4 Condições para ocorrência de impasse Os impasses podem ocorrer se forem satisfeitas 4 condições: 1. Exclusão mútua: recursos usados de cada vez apenas por uma unidade de execução. 2. Guarda e espera: depois da unidade de execução tomar posse do recurso tem de adquirir a posse de outro recurso para poder concluir a região crítica. 3. Não preempção: o recurso na posse de uma unidade de execução apenas é liberto voluntariamente pela unidade depois de concluída a região crítica. 4. Espera circular: existe conjunto de unidades de execução {U 1,U 2,,U n } que: U 1 espera por recurso na posse de U 2 U 2 espera por recurso na posse de U 3 U n espera por recurso na posse de U 1 Programação de Sistemas Impasse/Carência : 7/27 Modelação de impasses (1) As condições para ocorrência de impasse podem ser representadas por grafos de recursos. Nós representados por círculos (Processos) e quadrados (Recursos) Arco do recurso para processo representa o processo estar na posse do recurso. Arco do processo para o recurso representa o processo encontra-se bloqueado à espera do recurso. Figura 3-3, Modern Operating Systems Programação de Sistemas Impasse/Carência : 8/27

5 Modelação de impasses (2) Cada recurso possui instâncias, representadas por pontos dentro do quadrado (exemplo: computador com várias impressoras). Dependência circular pode representar, ou não, um impasse: à esquerda, o ciclo com P 1 P 2 e P 3 bloqueados não pode ser quebrado. à direita, o ciclo com P 1 e P 3 bloqueados é quebrado quando os processos fora do ciclo (P 2 e P 4 ) libertam recursos. Programação de Sistemas Impasse/Carência : 9/27 Prevenção de impasse (1) Assegurar que, pelo menos uma das 4 condições não é satisfeita. 1. Exclusão mútua: frequentemente impossível evitar. 2. Guarda e espera: garantir que um processo não esteja a guardar recursos quando requisita outro recurso. Solução: Requisitar de uma só vez todos os recursos necessários, ou Requisitar incrementalmente, mas libertar imediatamente todos os recursos previamente guardados logo que detecta a impossibilidade de guardar mais um recurso. Problemas: Sub-utilização de recursos. Nos sistemas interactivos não é possível conhecer antecipadamente os recursos necessários. Possibilidade de carência. Programação de Sistemas Impasse/Carência : 10/27

6 Prevenção de impasse (2) 3. Não preempção: garantir que um processo não esteja a guardar recursos quando requisita outro recurso. Solução: Permitir a preempção de recursos: quando um processo vê negado um recuso, liberta-o ou O processo que guarda o recurso solicitado, liberta-o. Problemas: Aplicável apenas a recursos para os quais é possível a salvaguarda e restauro do estado (ex: CPU e memória). Programação de Sistemas Impasse/Carência : 11/27 Prevenção de impasse (3) 4. Espera circular: impor uma ordem fixa na guarda de recursos. Demonstração para 2 processos: sejam processos P e Q e a ordenação da guarda de recursos R 1 <R 2. O impasse ocorre se (i) P guarda R 1 e requere R 2 e (ii) Q guarda R 2 e requere R 1. Tal é impossível verificar, porque a ordem R 1 <R 2 impede a condição (ii) Problemas: Ineficiência na utilização dos recursos (requisição segue ordem préfixada, que pode não coincidir com as necessidades). Pode ser impossível identificar uma ordenação na guarda de recurso que funcione. Programação de Sistemas Impasse/Carência : 12/27

7 Detecção de impasse (1) A detecção de impasse pode ser efectuada em diversas alturas: Sempre que é solicitado um novo recurso, pelo algoritmo Se cada recurso possuir uma única instância, identificar ciclo no grafo de recursos. Se houver recursos com várias instâncias, usar o algoritmo do banqueiro. Periódica. Quando a utilização do CPU for baixa. Programação de Sistemas Impasse/Carência : 13/27 Detecção de impasse (2) Algoritmo do banqueiro: proposto por Dijkstra, implementado no sistema operativo THE. Estados inseguros Impasse Estados seguros [Def] Sequência <P 1, P 2,, P n > é segura se, para cada P i, os recursos que P i pode solicitar podem ser satisfeitos por todos os recursos disponíveis + recursos guardados por todos P j, j<i. Se o recurso que P i necessita não se encontrar imediatamente disponível, então P i espera até um P j ter libertado recursos. Quando P j libertar um recurso, se P i puder receber os recursos que necessita, então guardar o recurso executar, libertar os recursos, e terminar. Quando P i termina, P i+1 pode obter os recursos necessários. Programação de Sistemas Impasse/Carência : 14/27

8 Detecção de impasse (3) Parâmetros #define N número de processos #define M número de tipos de recursos int available[m]; se available[j]=k, então R j possui k instâncias disponíveis. j int max[m,n]; se max[i,j]=k, então o processo P i requere k instâncias do recurso R j para poder concluir o seu programa. Variáveis bool finish[n]; se finish[i]=true, então o processo P i conclui a sua tarefa. int alloc[m,n]; se alloc[i,j]=k, então o processo P i guarda correntemente k instâncias do recurso R j Programação de Sistemas Impasse/Carência : 15/27 Detecção de impasse (4) Algoritmo 1.for( i=0;i<n;i++ ) finish[i] = false; 2.while(1) { update = false; varrer_i_por_todos_processos { if( finish[i]==false && max-alloc[i]<available[i] ) { 3. available[i]+=alloc[i]; Comparação vectorial finish[i] = true; update = true; } Soma vectorial 4. if( update==false ) { for( i=0;i<n;i++ ) if(!finish[i]) break; if( i==n ) printf( Estado inseguro!\n ); } } Programação de Sistemas Impasse/Carência : 16/27

9 Detecção de impasse (5) Objectivos dos 4 passos A inicialização é feita no passo 1, colocando todos os processos como inacabados. No passo 2 é feita uma procura do primeiro processo, para o qual há instâncias de cada recurso disponíveis que faltam para terminar. No passo 3, o processo seleccionado termina e a tabela available é actualizada. No passo 4, detecta-se impasse se houver processos inacabados e não tiver havido uma actualização da tabela available nos passos 2 e 3. O algoritmo tem custo O(NM) Programação de Sistemas Impasse/Carência : 17/27 Detecção de impasse (6) Sejam 5 processos e 3 tipos de recursos A,B,C alloc A B C P P P P max A B C P P P P available A B C O processo pode ser servido dos recursos necessários o max(,a)-alloc(,a) available(a): o max(,b)-alloc(,b) available(b): o max(,c)-alloc(,c) available(c): available alterado para [ 3+2,3+0,2+0 ] Programação de Sistemas Impasse/Carência : 18/27

10 Detecção de impasse (7) alloc A B C P P P P max A B C P P P P available A B C O processo P3 pode ser servido dos recursos necessários o max(p3,a)-alloc(p3,a) available(a): o max(p3,b)-alloc(p3,b) available(b): o max(p3,c)-alloc(p3,c) available(c): available alterado para [ 5+2,3+1,2+1 ] Programação de Sistemas Impasse/Carência : 19/27 Detecção de impasse (8) alloc A B C max A B C available A B C P P P P P3 P3 P P O processo P4 pode ser servido dos recursos necessários o max(p4,a)-alloc(p4,a) available(a): o max(p4,b)-alloc(p4,b) available(b): o max(p4,c)-alloc(p4,c) available(c): available alterado para [ 7+0,4+0,3+2 ] Programação de Sistemas Impasse/Carência : 20/27

11 Detecção de impasse (9) alloc A B C P P P3 P4 max A B C P P P3 P4 available A B C O processo P2 pode ser servido dos recursos necessários o max(p2,a)-alloc(p2,a) available(a): o max(p2,b)-alloc(p2,b) available(b): o max(p2,c)-alloc(p2,c) available(c): available alterado para [ 7+3,4+0,5+2 ] Programação de Sistemas Impasse/Carência : 21/27 Detecção de impasse (10) alloc A B C P P2 P3 P4 max A B C P P2 P3 P4 available A B C O processo P0 pode ser servido dos recursos necessários o max(p0,a)-alloc(p0,a) available(a): o max(p0,b)-alloc(p0,b) available(b): o max(p0,c)-alloc(p0,c) available(c): available alterado para [ 10+0,4+1,7+0 ] O traço <,P3,P4,P2,P0> é seguro. Programação de Sistemas Impasse/Carência : 22/27

12 Detecção de impasse (11) Inconvenientes do algoritmo do banqueiro: Obriga os processos a conhecer antecipadamente todos os recursos que necessitam, o que é impraticável para sistemas interactivos. Aumento do custo de requisição de um recurso ( overhead ). A maior parte dos impasses ocorre nos processos do utilizador, não nos processos do sistema operativo. Estratégias adoptadas pelo Unix: Ignorar os impasses (considera ser melhor aceitar que ocorram de vez em quando e que sejam tratados pelos utilizadores, que sobrecarregar o sistema). Limitar-se a negar pedidos para recursos indisponíveis. Programação de Sistemas Impasse/Carência : 23/27 Recuperação do impasse (1) Estratégias de recuperação dos impasses: A. Terminação de processos: abortar sucessivamente processos até terminar o impasse Problema: que critérios a seguir para terminar processos? Prioridade Tempo de computação Quantidade de recursos usados Quantidade de recursos que necessita para concluir Tipo de processo (interactivo ou lotes) Programação de Sistemas Impasse/Carência : 24/27

13 Recuperação do impasse (2) B. Preempção de recursos: retirar sucessivamente recursos aos processos até terminar o impasse Problema: que recursos e que processo seleccionar? Número de recursos detidos pelos processos bloqueados. Tempo de computação que os processos já usaram. Problema: que fazer ao processo a quem foram retidos recursos? Retornar o processo a um estado segura e continuar a partir daí. Abortar o processo e começar de novo. Problema: como evitar carência de processos? Programação de Sistemas Impasse/Carência : 25/27 Carência (1) Múltiplos processos a requerer o mesmo recurso obrigam definir políticas de atribuição dos recursos. [Def] Carência ( starvation ): um processo nunca consegue aceder a um recurso, enquanto outros processos conseguem aceder ao recuso. [Def] Um sistema manifesta a propriedade de equidade ( fairness ) se nenhum processo for carente. Programação de Sistemas Impasse/Carência : 26/27

14 Carência (2) A propriedade de equidade é mais difícil de verificar que a animação, uma vez que para falhar a animação exige uma execução finita, a equidade exige uma execução infinita. A falha na equidade pode ser detectada com ferramentas de verificação de modelos. A estratégia de distribuição por fila (FCFS- First Come, First Served ) é justa e frequentemente a adoptada. Programação de Sistemas Impasse/Carência : 27/27

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

LEIC/LERC 2008/09 Primeiro Teste de Sistemas Operativos

LEIC/LERC 2008/09 Primeiro Teste de Sistemas Operativos Nome: Número: LEIC/LERC 008/09 Primeiro Teste de Sistemas Operativos de Novembro de 008 Duração: h0m Identifique o cabeçalho de todas as folhas da prova. O teste é resolvido no espaço dedicado ao efeito

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

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

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

Desenvolvimento de Aplicações Distribuídas

Desenvolvimento de Aplicações Distribuídas Transação e Controle de Concorrência Pontifícia Universidade Católica de Minas Gerais Instituto de Ciências Exatas e Informática DAD (2019/01) Tópicos Apresentação da disciplina Introdução Desafios e características

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

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

Retrospectiva da aula passada... Escalonamento. Na aula passada... Comunicação entre processos (-- O jantar dos filósofos --)

Retrospectiva da aula passada... Escalonamento. Na aula passada... Comunicação entre processos (-- O jantar dos filósofos --) Escalonamento Retrospectiva da aula passada... UL Flávia Maristela (flavia@flaviamaristela.com) Romildo Martins (romildo@romildo.net) Race condition Região rítica Exclusão Mútua Na aula passada... Problemas

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

Execução Concorrente

Execução Concorrente Sincronização Parte I Primitivas de Sincronização Sistemas Operativos 2015 / 2016 Execução Concorrente struct { int saldo; /* outras variáveis,ex. nome do titular, etc. */ conta_t; int levantar_dinheiro

Leia mais

15/03/2018. Professor Ariel da Silva Dias Algoritmo e Contagem de Instruções. Prof. Ariel da Silva Dias -

15/03/2018. Professor Ariel da Silva Dias Algoritmo e Contagem de Instruções. Prof. Ariel da Silva Dias - Professor Ariel da Silva Dias Algoritmo e Contagem de Instruções 1 Um algoritmo pode ser visto como uma sequência de ações executáveis para a obtenção de uma solução para um determinado tipo de problema.

Leia mais

Cadeira de Sistemas Operativos. Frequência 1º Semestre. 8 de Fevereiro de 2006

Cadeira de Sistemas Operativos. Frequência 1º Semestre. 8 de Fevereiro de 2006 Cadeira de Sistemas Operativos 8 de Fevereiro de 2006 Leia atentamente as perguntas seguintes e responda de forma breve e precisa. Pode acompanhar a suas respostas com figuras de forma a torná-las mais

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

Trincos Lógicos: Implementações. Trincos lógicos: Propriedades

Trincos Lógicos: Implementações. Trincos lógicos: Propriedades Trincos Lógicos: Implementações Algorítmicas Hardware Sistema Operativo Trincos lógicos: Propriedades Exclusão mútua Progresso (liveness) Ausência de interblocagem (deadlock) Ausência de míngua (starvation)

Leia mais

LabSO Gerência de Processos. Retrospectiva da aula passada... Na aula passada... Na aula passada...

LabSO Gerência de Processos. Retrospectiva da aula passada... Na aula passada... Na aula passada... LabSO Gerência de Processos Retrospectiva da aula passada... AULA 4 Flávia Maristela (flavia@flaviamaristela.com) Romildo Martins (romildo@romildo.net) Na aula passada... Processos Estados do processo

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

Escalonamento da CPU

Escalonamento da CPU Escalonamento da CPU Sistemas Operacionais Charles Tim Batista Garrocho Instituto Federal de Minas Gerais IFMG Campus Ouro Branco https://garrocho.github.io charles.garrocho@ifmg.edu.br Sistemas de Informação

Leia mais

Escalonamento da CPU

Escalonamento da CPU Escalonamento da CPU Sistemas Operacionais Charles Tim Batista Garrocho Instituto Federal de São Paulo IFSP Campus Campos do Jordão garrocho.ifspcjo.edu.br/oso charles.garrocho@ifsp.edu.br Técnico em Informática

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

Sistemas de Tempo-Real

Sistemas de Tempo-Real Sistemas de Tempo-Real (Cont.) Controlo temporal Escalonamento Bibliografia H. Kopetz, Design Principles for Distributed Embedded Applications, Kluwer Academic Publishers, 997. G. Buttazzo, Hard Real-Time

Leia mais

Sistemas Operativos. Objetivo. Entrega do Questionário. Exercício 1. Exercício 2. Exercício 3. Exercício 4. Grupo 1 Introdução

Sistemas Operativos. Objetivo. Entrega do Questionário. Exercício 1. Exercício 2. Exercício 3. Exercício 4. Grupo 1 Introdução Sistemas Operativos Objetivo O objetivo deste questionário é levá-lo a rever os conceitos básicos dos sistemas operativos, bem como os algoritmos de scheduling e mecanismos de sincronização estudados.

Leia mais

Temporização(Scheduling) de Processos. TemporobjectivomaximizarousodoCPU,i.e.tersempre um processo a executar.

Temporização(Scheduling) de Processos. TemporobjectivomaximizarousodoCPU,i.e.tersempre um processo a executar. Temporização(Scheduling) de Processos TemporobjectivomaximizarousodoCPU,ietersempre um processo a executar Filas de processos usadas em scheduling: Fila de tarefas: processos submetidos para execução,

Leia mais

Programação Concorrente Locks

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

Leia mais

Sistemas Operacionais Gerenciamento de Processos

Sistemas Operacionais Gerenciamento de Processos Universidade Estadual de Mato Grosso do Sul UEMS Curso de Licenciatura em Computação Sistemas Operacionais Gerenciamento de Processos Prof. José Gonçalves Dias Neto profneto_ti@hotmail.com Introdução Devido

Leia mais

Teste de Sistemas de Operação 30 de Maio de 2009

Teste de Sistemas de Operação 30 de Maio de 2009 Teste de Sistemas de Operação 30 de Maio de 2009 Duração: 30 min B NOME: Indique apenas uma das alternativas. Respostas erradas descontam na nota. 1. Um pedido de entrada e saída sem buffering: (letra

Leia mais

Definição. ? Algoritmo de Escalonamento de CPU. ? Algoritmo do S.O. que determina qual o próximo processo a ocupar a CPU

Definição. ? Algoritmo de Escalonamento de CPU. ? Algoritmo do S.O. que determina qual o próximo processo a ocupar a CPU Definição? Algoritmo de Escalonamento de CPU 6 Terminado? Algoritmo do S.O. que determina qual o próximo processo a ocupar a CPU? Executado quando ocorre estouro de Quantum ou interrupção do processo (I/O,

Leia mais

Conceitos. Gestão de Transacções. Transacção. Conceitos e Propriedades. Controlo de Concorrência. Recuperação. Transacções no SGBD Oracle

Conceitos. Gestão de Transacções. Transacção. Conceitos e Propriedades. Controlo de Concorrência. Recuperação. Transacções no SGBD Oracle Conceitos e Propriedades Recuperação Transacções no SGBD Oracle Conceitos Transacção Uma acção ou um conjunto de acções, realizadas por um único utilizador ou programa de aplicação que acedem ou alteram

Leia mais

Sincronização em Sistemas Distribuídos

Sincronização em Sistemas Distribuídos Sincronização em Sistemas Distribuídos Universidade Federal do ABC Turma: Ciência da Computação Prof. Dr. Francisco Isidro Massetto Sincronização Como as regiões críticas são implementadas em um SD? Como

Leia mais

Escalonamento de Processos. Estratégia de atribuição do Processador aos Processos

Escalonamento de Processos. Estratégia de atribuição do Processador aos Processos Escalonamento de Processos Estratégia de atribuição do Processador aos Processos 1. Introdução 2. Políticas de Escalonamento 3. Critérios para um bom escalonador 4. Caracterização dos escalonadores 5.

Leia mais

Sistemas de Tempo-Real. Acesso exclusivo a recursos partilhados

Sistemas de Tempo-Real. Acesso exclusivo a recursos partilhados Sistemas de Tempo-Real Aula 7 Acesso exclusivo a recursos partilhados O acesso exclusivo a recursos partilhados A inversão de prioridades como consequência do bloqueio Técnicas básicas para acesso exclusivo

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

Sistemas de Tempo-Real. Acesso exclusivo a recursos partilhados

Sistemas de Tempo-Real. Acesso exclusivo a recursos partilhados Sistemas de Tempo-Real Aula 7 Acesso exclusivo a recursos partilhados O acesso exclusivo a recursos partilhados A inversão de prioridades como consequência do bloqueio Técnicas básicas para acesso exclusivo

Leia mais

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS CURSO DE ENGENHARIA ELECTROTÉCNICA

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS CURSO DE ENGENHARIA ELECTROTÉCNICA UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS CURSO DE ENGENHARIA ELECTROTÉCNICA 2º Semestre 2004/2005 Programação de Sistemas 4/7/2005 Correcção 1. Qual a principal razão para que um SO suporte multiprogramação?

Leia mais

LEIC/LERC 2008/09. Repescagem do Primeiro Teste de Sistemas Operativos

LEIC/LERC 2008/09. Repescagem do Primeiro Teste de Sistemas Operativos Nome: Número: LEIC/LERC 2008/09 Repescagem do Primeiro Teste de Sistemas Operativos Identifique o cabeçalho de todas as folhas da prova. 10 de Fevereiro de 2009 Duração: 1h30m O teste é resolvido no espaço

Leia mais

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS C SISTEMAS OPERATIVOS

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS C SISTEMAS OPERATIVOS UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS C1203 - SISTEMAS OPERATIVOS 2º Semestre 2005/2006 27/7/2007 Resolução 1. Identifique três situações em que ocorra uma transição do modo de execução utilizador

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS Sincronização Slide 7 Nielsen C. Damasceno Introdução Utilizando Sistemas Distribuídos, uma grande dificuldade que temos é como garantir o acesso exclusivo a um recurso compartilhado,

Leia mais

Arquitetura de Sistemas Operativos

Arquitetura de Sistemas Operativos Arquitetura de Sistemas Operativos Sistemas Operativos 2011/2012 1 Requisitos de uma Secção Crítica Requisitos de uma Secção Crítica Antes de analisarmos as várias soluções para assegurar que um bloco

Leia mais

Unidade III Gerência de Processos

Unidade III Gerência de Processos Sistemas Operacionais Unidade III Gerência de Processos http://www.lncc.br/~lrodrigo Professor: Luis Rodrigo lrodrigo@lncc.br Página: 1 de 34 Unidade III: Gerência de Processos Conceito de Processo Materialização

Leia mais

Na Aula Anterior... Escalonamento de Processos. Nesta Aula. Escalonamento. Comportamento de um Processo. Historicamente...

Na Aula Anterior... Escalonamento de Processos. Nesta Aula. Escalonamento. Comportamento de um Processo. Historicamente... GSI018 Sistemas Operacionais 05/09/2016 Escalonamento de Processos Na Aula Anterior... Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D. Abdala Utilização de Processos

Leia mais

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

BC1518-Sistemas Operacionais. Prof. Marcelo Z. do Nascimento BC58-Sistemas Operacionais Deadlock (Impasse) Aula 7 Prof. Marcelo Z. do Nascimento marcelo.nascimento@ufabc.edu.br Roteiro Conceito de Deadlock; Recursos; Condições de ocorrência; Estratégias para tratar

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

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

Função Fundamental do SO

Função Fundamental do SO Função Fundamental do SO Gestão do Hardware Uma das funções fundamentais do sistema operativo é gerir os recursos do hardware de um modo o mais transparente possível ao utilizador Recursos principais a

Leia mais

Redes de Computadores. INF201 - Fundamentos de Sistemas Operacionais - 2º Período

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;

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

Gerência do Processador. Adão de Melo Neto

Gerência do Processador. Adão de Melo Neto Gerência do Processador Adão de Melo Neto 1 Introdução Sistemas Multiprogramáveis: Múltiplos processos podem permanecer na memória principal compartilhando o uso da CPU. POLÍTICA DE ESCALONAMENTO São um

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

Sistemas Operativos. Escalonamento e sincronização. Rui Maranhão

Sistemas Operativos. Escalonamento e sincronização. Rui Maranhão Sistemas Operativos Escalonamento e sincronização Rui Maranhão (rma@fe.up.pt) Benefícios da Multiprogramação maximiza o tempo de utilização do CPU utilização do CPU = 1 - p n n é o número de processos

Leia mais

Análise e Complexidade de Algoritmos

Análise e Complexidade de Algoritmos Análise e Complexidade de Algoritmos Professor Ariel da Silva Dias Introdução Apresentação Professor Professor Ariel Dias Apresentação Disciplina O que veremos? www.arieldias.com BlackBoard Apresentação

Leia mais

AULA 2: INTRODUÇÃO A PYTHON. Luís Feliphe Silva Costa

AULA 2: INTRODUÇÃO A PYTHON. Luís Feliphe Silva Costa AULA 2: INTRODUÇÃO A PYTHON Luís Feliphe Silva Costa Sumário Variáveis simples Entrada e Saída de dados Operadores Estruturas Condicionais Estruturas de repetição Funções Tratamento de erros Variáveis

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

Introdução à Programação

Introdução à Programação Introdução à Programação 1.Ano LCC-MIERSI DCC - FCUP Nelma Moreira Aula 10 Ordenação 2 15-1 7 9 4 6 Existem muitos métodos de ordenar Bolha Inserção Seleção Quicksort etc... Bolha (bubble sort) Percorrer

Leia mais

Davidson Rodrigo Boccardo

Davidson Rodrigo Boccardo Gerenciamento de processos Davidson Rodrigo Boccardo flitzdavidson@gmail.com Revisão Critérios de alocação: Utilização da CPU Produtividade (Throughput) Número de processos finalizados por unidade de tempo

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

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

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

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

Processos. Aula Passada. Aula Passada (2) Ciclos de CPU e de I/O (1)

Processos. Aula Passada. Aula Passada (2) Ciclos de CPU e de I/O (1) Aula Passada Processos (Aula 6) Escalonamento de Processos O SO gerencia os recursos do sistema de computação em benefício dos processos Para isso, mantem estruturas de controles Tabelas (memória, I/O,

Leia mais

Sumário. Sistemas Operativos: Escalonamento de Processos e Deadlocks. Padrão de Execução dum Processo. Multiprocessamento

Sumário. Sistemas Operativos: Escalonamento de Processos e Deadlocks. Padrão de Execução dum Processo. Multiprocessamento Sumário Sistemas Operativos: Escalonamento de Processos e Deadlocks Pedro F. Souto (pfs@fe.up.pt) May 18, 2008 Escalonamento de Processos O Problema Algoritmos de Escalonamento de Processos Leitura Adicional

Leia mais

Sistemas Distribuídos Exclusão Mútua. Edeyson Andrade Gomes

Sistemas Distribuídos Exclusão Mútua. Edeyson Andrade Gomes Sistemas Distribuídos Exclusão Mútua Edeyson Andrade Gomes www.edeyson.com.br Roteiro da Aula Introdução Coordenação e Acordo Suposição de Falhas Exclusão Mútua Algoritmos Centralizado Distribuído Anel

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Exclusão Mútua Referência Sistemas operacionais modernos Andrew S. TANENBAUM Prentice-Hall, 1995 Seção 11.2 pág. 325-329 Conteúdo Algoritmo centralizado Algoritmo distribuído (Algoritmo

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

Programação Concorrente. Prof. Hugo Vieira Neto

Programação Concorrente. Prof. Hugo Vieira Neto Programação Concorrente Prof. Hugo Vieira Neto Concorrência Um programa concorrente descreve diversas atividades que ocorrem simultaneamente, de modo diferente de programas comuns, que descrevem apenas

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

Processos e Concorrência

Processos e Concorrência Processos e Concorrência Exercícios 14 de Setembro de 2007 1. Considere a seguinte rede de petri elementar que modela um protocolo de conversa cruzada. stop1 wait1 ack1 echo2 start1 idle1 sent1 sent2 idle2

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

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 4. Comunicação e Sincronização de Processos

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 4. Comunicação e Sincronização de Processos Aula 4 Comunicação e Sincronização de Processos Comunicação e Sincronização de Processos Cooperação Variáveis compartilhadas Operações atômicas Exclusão mútua Requisitos para exclusão mútua Referências:

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

Breve Introdução aos Sistemas Operativos. Disciplina de Informática PEUS, U.Porto

Breve Introdução aos Sistemas Operativos. Disciplina de Informática PEUS, U.Porto Breve Introdução aos Sistemas Operativos Disciplina de Informática PEUS, 2006 - U.Porto Definição de Sistema Operativo Um programa que funciona como intermediário entre o utilizador do computador e os

Leia mais

Sistemas de Computação. Processos e escalonamento

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

Leia mais

SO: Escalonamento. Sistemas Operacionais Flavio Figueiredo (http://flaviovdf.github.io)

SO: Escalonamento. Sistemas Operacionais Flavio Figueiredo (http://flaviovdf.github.io) SO: Escalonamento Sistemas Operacionais 2017-1 Flavio Figueiredo (http://flaviovdf.github.io) 1 Aonde Estamos Processos Chapt 3 Threads Chapt 4 Vamos pular o Chapt 5 brevemente Sincronização e comunicação

Leia mais

Escalonamento de Processos Uniprocessador

Escalonamento de Processos Uniprocessador Sistemas Operacionais Escalonamento de Processos Uniprocessador Capítulo 9 IC - UFF 1 Objetivos do Escalonamento É a chave de multiprogramação eficiente deve ser transparente ao usuário Esolher processos

Leia mais

Organização de Computadores Computação paralela; Sistema de entrada e saída (I/O); Suporte a Sistema operacional. Professor: Francisco Ary

Organização de Computadores Computação paralela; Sistema de entrada e saída (I/O); Suporte a Sistema operacional. Professor: Francisco Ary Organização de Computadores Computação paralela; Sistema de entrada e saída (I/O); Suporte a Sistema operacional Professor: Francisco Ary Computação Paralela Capacidade de um sistema computacional executar

Leia mais