Programação de Sistemas. Impasse e carência
|
|
- Bruno Teixeira
- 5 Há anos
- Visualizações:
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) O Problema do Impasse Modelo de Sistema Caracterização de Impasse Métodos para Manipular Impasses Prevenção de Impasse
Leia maisSistemas 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 maisCapí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 maisSistemas 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 maisRecursos. 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 maisAula 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 maisCapí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 maisCapí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 maisSISTEMAS 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 maisSISTEMAS 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 maisCapí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 maisDEADLOCKS 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 maisSistemas 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 maisSistemas 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 maisSistemas 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 maisAlgoritmos 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 maisSSC0640 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 maisProgramaçã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 maisDeadlocks (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 maisALGORITMOS 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 maisImpasses. 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 maisMAC422/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 maisSistemas 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 maisSistemas 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 maisFundamentos 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 maisAlgoritmos 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 maisSistemas 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 maisLEIC/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 maisDEPARTAMENTO 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 maisDeadlock. 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 maisSOP - 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 maisDesenvolvimento 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 maisInversã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 maisSistemas 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 maisRetrospectiva 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 maisSistemas 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 maisExecuçã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 mais15/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 maisCadeira 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 maisImpasses. 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 maisTrincos 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 maisLabSO 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 maisSistemas 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 maisEscalonamento 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 maisEscalonamento 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 maisAlgoritmos 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 maisSistemas 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 maisSistemas 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 maisTemporizaçã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 maisProgramaçã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 maisSistemas 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 maisTeste 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 maisDefiniçã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 maisConceitos. 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 maisSincronizaçã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 maisEscalonamento 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 maisSistemas 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 maisDeadlocks. 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 maisSistemas 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 maisUNIVERSIDADE 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 maisLEIC/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 maisUNIVERSIDADE 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 maisSISTEMAS 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 maisArquitetura 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 maisUnidade 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 maisNa 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 maisBC1518-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 maisSincronizaçã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 maisSincronizaçã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 maisFunçã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 maisRedes 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 maisResumo: 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 maisGerê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 maisDeadlocks. 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 maisSistemas 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 maisAná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 maisAULA 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 maisCapí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 maisIntroduçã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 maisDavidson 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 maisComunicaçã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 maisINTRODUÇÃ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 maisSistemas 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 maisEscalonamento 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 maisProcessos. 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 maisSumá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 maisSistemas 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 maisSistemas 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 maisProcessos. 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 maisProgramaçã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 maisSistemas 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 maisProcessos 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 mais6 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 maisSistemas 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 maisSistemas 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 maisBreve 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 maisSistemas 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 maisSO: 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 maisEscalonamento 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 maisOrganizaçã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