Sincronização e Comunicação entre Processos. Adão de Melo Neto
|
|
- Benedita Prado Sales
- 7 Há anos
- Visualizações:
Transcrição
1 Sincronização e Comunicação entre Processos Adão de Melo Neto 1
2 MOTIVAÇÃO 2
3 INTRODUÇÃO Em um sistema multiprogramado (concorrente) os processos alternam sua execução (ou seja, são executados alternadamente pela UCP) segundo critério de escalonamento estabelecidos pelo sistema operacional. Processos concorrentes compartilham diversos recursos do sistema, como arquivos, registros, dispositivos de Entrada/Saída e áreas da memória. 3
4 INTRODUÇÃO O compartilhamento de recursos entre processos pode ocasionar situações indesejáveis, tal como o processamento incorreto de programas. Exemplo: o processo leitor pode ler quando o processo gravador ainda não finalizou a gravação Para evitar estas situações indesejáveis, os processos concorrentes devem ter suas execuções sincronizadas, a partir de mecanismos oferecidos pelo sistema operacional. 4
5 ESPECIFICAÇÃO DA CONCORRÊNCIA (FORK E JOIN) A primeira notação para a especificação da concorrência em um programa foram os comandos FORK e JOIN, introduzidos por Conway(1963) e Dennis e Van Horn(1966). 5
6 ESPECIFICAÇÃO DA CONCORRÊNCIA (FORK E JOIN) O programa A começa a ser executado e, ao encontrar o comando FORK, faz com que seja criado outro processo para a execução do programa B, concorrentemente ao programa A O comando JOIN permite que o programa A sincronize-se com o B, ou seja, quando o programa A encontrar o comando JOIN, só continuará a ser processado após o término da execução do programa B. 6
7 PROBLEMA DO COMPARTILHAMENTO DE RECURSOS Os sistemas operacionais multiprogramáveis executam processos concorrentemente. Desde que esses processos compartilham recursos do sistema (variável na memória principal ou arquivo no disco, por exemplo). Isso pode ocasionar alguns problemas CASO tudo não seja feito da maneira correta como veremos abaixo. O programa abaixo atualiza (após o WRITE) o saldo bancário de um cliente após um lançamento de débito ou crédito. O programa lê o registro do cliente no Arquivo Contas, lê o valor a ser depositado ou retirado e, em seguida, atualiza o saldo no Arquivo de contas (após o WRITE) leitura atualização 7
8 PROBLEMA DO COMPARTILHAMENTO DE RECURSOS Vamos considerar que os dois processos possuem o código do programa conta_corrente Processo 01 Processo 02 débito crédito Reg_Cliente ARQUIVO CONTAS leitura atualização 8
9 PROBLEMA DO COMPARTILHAMENTO DE RECURSOS Os dois PROCESSOS estão atualizando o SALDO de um mesmo CLIENTE O processo 1 (do primeiro funcionário) lê o registro do cliente e debita um valor no saldo do cliente; Antes de gravar o novo saldo do arquivo (com comando write), o processo 2 (do segundo funcionário) lê o registro do mesmo cliente e credita um valor no saldo do cliente; Independentemente de qual dos processos atualize o saldo primeiro no arquivo (com comando write), o dado gravado estará inconsistente (como veremos). leitura atualização 9
10 PROBLEMA DO COMPARTILHAMENTO DE RECURSOS PROCESSO 01 : READ registro de Antônio saldo = 500 PROCESSO 01 : DEBITA 50, = 450 ANTES do PROCESSO 01 fazer um WRITE (Arq_Contas, Reg_Cliente) PROCESSO 02 : READ registro de Antônio saldo = 500 PROCESSO 02 : CREDITA 100, = 600 PROCESSO 01: WRITE (Arq_Contas, Reg_Cliente): saldo = 450 PROCESSO 02: WRITE (Arq_Contas, Reg_Cliente): saldo = 600 (SALDO FINAL ERRADO) Processo 01 Processo 02 débito crédito Reg_Cliente ARQUIVO CONTAS 10
11 PROBLEMA DO COMPARTILHAMENTO DE RECURSOS PROCESSO 01 : READ registro de Antônio saldo = 500 PROCESSO 01 : DEBITA 50, = 450 ANTES do PROCESSO 01 fazer um WRITE (Arq_Contas, Reg_Cliente) PROCESSO 02 : READ registro de Antônio saldo = 500 PROCESSO 02 : CREDITA 100, = 600 PROCESSO 02: WRITE (Arq_Contas, Reg_Cliente): saldo = 600 PROCESSO 01: WRITE (Arq_Contas, Reg_Cliente): saldo = 450 (SALDO FINAL ERRADO) Processo 01 Processo 02 débito crédito Reg_Cliente ARQUIVO CONTAS 11
12 EXCLUSÃO MÚTUA (MUTEX) OBJETIVO Evitar que dois ou mais processos acessem um mesmo recurso (no exemplo anterior o arquivo contas) simultaneamente. MECANISMO Enquanto o processo 01 estiver acessando um determinado recurso e processo 02 deve aguardar o término da utilização do recurso pelo processo 01. REGIÃO CRÍTICA É a parte do código do programa onde é feito o acesso ao recurso compartilhado é denominada região crítica. EXCLUSÃO MÚTUA É garantir que os processos devem fazer acesso à região crítica de forma sincronizada, ou seja, proibir que dois ou mais processos entrem em suas regiões críticas ao mesmo tempo 12
13 EXCLUSÃO MÚTUA (MUTEX) Recurso compartilhado Região Crítica REGIÃO CRÍTICA É a parte do código do programa onde é feito o acesso ao recurso compartilhado é denominada região crítica. 13
14 PROBLEMA DO COMPARTILHAMENTO DE RECURSOS (RESOLVIDO COM CONTROLE DE ACESSO A REGIÃO CRÍTICA ) PROCESSO 01 : READ registro de Antônio saldo = 500 PROCESSO 01 : DEBITA 50, = 450 PROCESSO 01: WRITE (Arq_Contas, Reg_Cliente): saldo = 450 PROCESSO 02 : READ registro de Antônio saldo = 450 PROCESSO 02 : CREDITA 100, = 550 PROCESSO 02: WRITE (Arq_Contas, Reg_Cliente): saldo = 550 (SALDO FINAL CORRETO) Processo 01 Processo 02 débito crédito Reg_Cliente ARQUIVO CONTAS 14
15 DEADLOCK 15
16 DEFINIÇÃO DEADLOCK É a situação em que um processo aguarda por um recurso que nunca estará disponível ou um evento que nunca ocorrerá. É conseqüência do compartilhamento de recursos (dispositivos, arquivos e registros,etc) entre processos concorrentes onde a exclusão mútua é exigida; 16
17 PROCESSO 01 ESTÁ COM RECURSO 01 E AGUARDA O RECURSO 02 PROCESSO 02 ESTÁ COM RECURSO 02 E AGUARDA O RECURSO 03 PROCESSO 03 ESTÁ COM RECURSO 03 E AGUARDA O RECURSO 04 PROCESSO 04 ESTÁ COM RECURSO 04 E AGUARDA O RECURSO 01 DEADLOCK É a situação em que um processo aguarda por um recurso que nunca estará disponível ou um evento que nunca ocorrerá. 17
18 DEADLOCK SITUAÇÕES SIMULTÂNEAS PARA QUE OCORRA UM DEADLOCK Exclusão mútua: cada recurso (em uma região crítica) só pode estar alocado a um único processo em um determinado instante; Espera por recurso: um processo, além dos recursos já alocados, pode estar esperando por outros recursos. Não preempção: um recurso não pode ser liberado de um processo só porque outros processos desejam usar o mesmo recurso; Espera circular: um processo pode ter de esperar por um recurso alocado a outro processo e vice-versa. 18
19 DEADLOCK (espera circular) Espera circular: um processo pode ter de esperar por um recurso alocado a outro processo e vice-versa. 19
20 PREVENÇÃO DO DEADLOCK (É preciso garantir que uma das quatro condições necessárias para a sua existência nunca se satisfaça) Exclusão mútua: cada recurso só pode estar alocado a um único processo em um determinado instante; Prevenção: a ausência da exclusão mútua acaba com o problema do deadlock, porém gera os problemas já apresentados com relação ao compartilhamento de recursos. Espera por recurso: um processo, além dos recursos já alocados, pode estar esperando por outros recursos. Prevenção: processos que já possuem recursos garantidos não devem solicitar novos recursos. 20
21 PREVENÇÃO DO DEADLOCK (É preciso garantir que uma das quatro condições necessárias para a sua existência nunca se satisfaça) Não preempção: um recurso não pode ser liberado de um processo só porque outros processos desejam usar o mesmo recurso; Prevenção: permitir que um recurso seja retirado do processo no caso de outro processo necessitar do mesmo recurso. Espera circular: um processo pode ter de esperar por um recurso alocado a outro processo e vice-versa. Prevenção: é forçar o processo a ter apenas um recurso por vez 21
22 SOLUÇÃO 1 CORREÇÃO DEADLOCK (o deadlock já ocorreu) Eliminar um ou mais processos envolvidos no deadlock e liberar os recursos. A escolha do processo a ser eliminado é feita, normalmente, de forma aleatória ou com base em algum tipo de prioridade MUITO UTILIZADO SOLUÇÃO 2 liberação de apenas alguns recursos alocados aos processos para outros processos, até que o ciclo de espera termine. É necessário que o sistema possa suspender um processo, liberar seus recursos e, após a solução do problema, retornar à execução do processo, sem perder o processamento já realizado. Gera um OVERHEAD muito grande. 22
23 SOLUÇÕES PARA EXCLUSÃO MÚTUA EXCLUSÃO MÚTUA É proibir que dois ou mais processos entrem em suas regiões críticas ao mesmo tempo 23
24 SOLUÇÕES PARA EXCLUSÃO MÚTUA SOLUÇÕES DE HARDWARE Desabilitar Interrupções Instrução test-and-set SOLUÇÕES DE SOFTWARE Algoritmo de DEKKER Algoritmo de PETTERSON 24
25 SOLUÇÕES PARA EXCLUSÃO MÚTUA Algoritmo de DEKKER Primeira solução de software que garantiu a exclusão mútua entre dois processos sem a incorrência de problemas foi proposta pelo matemático holandês T. Dekker. Algoritmo de PETTERSON O algoritmo proposto por G. L. Peterson apresenta uma solução para o problema da exclusão mútua entre dois processos que pode ser facilmente generalizada para o caso de N processos. 25
26 SINCRONIZAÇÃO CONDICIONAL Situação onde o acesso ao recurso compartilhado exige a sincronização de processos vinculado a uma condição de acesso. EXEMPLO CLÁSSICO Comunicação entre dois processos através de operações de gravação e leitura em um buffer, onde processos geram informações (processos produtores) utilizadas por outros processos (processos consumidores). Os processos devem estar sincronizados a uma variável de condição, de forma que um processo não tente gravar dados em um buffer cheio ou realizar uma leitura em um buffer vazio. 26
27 MECANISMOS (Exclusão Mútua e Sincronização Condicional) SEMÁFOROS Mecanismos para implementação da exclusão mútua e sincronização condicional MONITORES Mecanismos para implementação da exclusão mútua e sincronização condicional TROCA DE MENSAGENS: Mecanismo de sincronização e comunicação entre processos 27
28 PROBLEMA DO PRODUTOR - CONSUMIDOR
29
30 down (nome_do_semaforo) região protegida up(nome_do_semaforo) LÓGICA DOS SEMÁFOROS * Quando feito um down se semaforo for 0 há um bloqueio
31 Armazena quantidade de espaços preenchidos No BUFFER Armazena quantidade de espaços vazios No BUFFER Se emptycount =0 bloqueia a produção de itens Se fillcount =0 bloqueia a remoção de itens 31
32 NO LINUX, BAIXAR O AQUIVO prod-cons-sem.c IR PARA PASTA /home/aluno/downloads Executar os comandos baixo 32
33 33
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 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
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 maisIntrodução Aplicações Concorrentes Especificação de Concorrência em Programas Problemas de Compartilhamento de Recursos Exclusão Mútua Sincronização
Sincronização e Comunicação entre Processos Introdução Aplicações Concorrentes Especificação de Concorrência em Programas Problemas de Compartilhamento de Recursos Exclusão Mútua Sincronização Condicional
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 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 maisSISTEMA DE ARQUIVOS DO SISTEMA OPERACIONAL
. SISTEMA DE ARQUIVOS DO SISTEMA OPERACIONAL 1. A organização de um arquivo define como os dados estão internamente organizados. Explique a organização de arquivos indexada. NA ORGANIZAÇÃO INDEXADO O ARQUIVO
Leia maisSistemas Operacionais Aula 6
Sistemas Operacionais Aula 6 Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm Curso de Análise e Desenvolvimento de Sistemas de Informação Recife - PE O que fazer
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 maisSISTEMAS OPERACIONAIS. Sincronização e Comunicação entre Processos UNIBAN
SISTEMAS OPERACIONAIS Sincronização e Comunicação entre Processos UNIBAN 40 SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS Na década de 1960, com o surgimento dos sistemas multiprogramáveis, passou a ser
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 maisSistemas Operacionais: Sincronização entre processos
Sistemas Operacionais: Sincronização entre processos Sincronização Programa concorrente Executado por diversos processos Acesso concorrente a dados Paralelismo real x Paralelismo aparente Multiprocessadores:
Leia maisSincronização e Comunicação
Sincronização e Comunicação Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Maio, 2017 1 / 28 Sumário 1 Concorrência 2 Sistemas Multiprogramáveis Troca de mensagens
Leia maisExclusão Mútua (mutex)
2004-2017 Volnys Bernal 1 Exclusão Mútua (mutex) Volnys Borges Bernal volnys@lsi.usp.br Departamento de Sistemas Eletrônicos Escola Politécnica da USP 2004-2017 Volnys Bernal 2 Tópicos Exclusão Mútua (Mutex)
Leia maisSistemas Operacionais
Sistemas Operacionais Prof. Fabio Augusto Oliveira Processos O processador é projetado apenas para executar instruções, não sendo capaz de distinguir qual programa se encontra em execução. A gerência de
Leia maisAula 6: Comunicação entre processos. Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela
Aula 6: Comunicação entre processos Instituto Federal da Bahia INF009 - Sistemas Operacionais Profª Flávia Maristela (-- motivação --) Processos em execução no sistema operacional podem ser: Independentes:
Leia maisSincronização e comunicação entre entidades de processamento. Mutex Volnys Bernal 1. Tópicos. Exclusão Mútua (mutex) Exclusão Mútua (Mutex)
2004-2013 Volnys Bernal 1 2004-2013 Volnys Bernal 2 Tópicos Exclusão Mútua (mutex) Volnys Borges Bernal volnys@lsi.usp.br http://www.lsi.usp.br/~volnys Exclusão Mútua () Objetivo, utilidade, requisitos
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 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 maisProcessos. Adão de Melo Neto
Processos Adão de Melo Neto 1 Processos Introdução Para se poder controlar o uso concorrente (ao mesmo tempo) do processador, da memória e dos dispositivos de E/S, um programa deve sempre estar sempre
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 maisComunicação entre processos
Universidade Federal do Acre Centro de Ciências Exatas e Tecnológicas Bacharelado em Sistemas de Informação Comunicação entre processos Macilon Araújo Costa Neto macilon@ufac.br Capítulo 2 do livro do
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. Prof. André Y. Kusumoto
Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Fundamentos Paradigma do produtor-consumidor Sincronização de Processos Produtor while (count == BUFFER_SIZE) ; //no-op //adiciona
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 maisComunicação entre processos (2)
Comunicação entre processos (2) Pedro Cruz EEL770 Sistemas Operacionais Lembretes Proposta de trabalho Enviar para cruz@gta.ufrj.br Prazo: dia 02 de abril 2 Aula passada Comunicação entre processos é útil
Leia maisEstrutura deste arquivo.. Comunicação Interprocesso Parte 1 de 2 - Cap. 2. Introdução 1 CONDIÇÕES DE CORRIDA
Estrutura deste arquivo.. Comunicação Interprocesso Parte 1 de 2 - Cap. 2 Prof. Alexandre Beletti Ferreira 1. Condições de Corrida 2. Seções Críticas 3. Exclusão Mútua com Espera Ativa 1. Desativando Interrupções
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 maisProgramação Orientada a Objetos. Concorrência
Programação Orientada a Objetos Concorrência Cristiano Lehrer, M.Sc. Níveis de concorrência: Introdução Nível de instrução de máquina: Executando duas ou mais instruções de máquina simultaneamente. Nível
Leia maisBanco de Dados I. Aula 18 - Prof. Bruno Moreno 22/11/2011
Banco de Dados I Aula 18 - Prof. Bruno Moreno 22/11/2011 Plano de Aula Introdução SPT Sistemas monousuários e multiusuários Sistemas multiprogramados Transação - Definição Concorrência de Transações Log
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 maisUniversidade 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 Aulas 6 Regiane Kawasaki kawasaki@ufpa.br Slides adaptados da Profa. Sarita Mazzini Bruschi
Leia maisSistemas Operacionais
Sistemas Operacionais Processos - Parte 2 Prof. Dr. Fábio Rodrigues de la Rocha (Processos - Parte 2) 1 / 33 (Processos - Parte 2) 2 / 33 (Processos - Parte 2) 3 / 33 (Processos - Parte 2) 4 / 33 (Processos
Leia maisQuestões de Múltipla escolha
ATPS Sistemas Operacionais Professor Matheus de Lara Calache Valor total do trabalho: 10 Cada resposta vale 0,34. Questões de Múltipla escolha 1) Processos podem ser organizados em filas como Fila de Prontos
Leia maisSistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios. Aula 06.
Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios Aula 06 Processos 2 1 Processos A gerência de um ambiente multiprogramável é
Leia maisIntrodução a Sistemas Operacionais. Adão de Melo Neto
Introdução a Sistemas Operacionais Adão de Melo Neto 41 Definição de SO Sistema Operacional É um conjunto de rotinas (programa) executado pelo processador que controla o funcionamento do computador como
Leia maisCapítulo 2 Processos e Threads
Capítulo 2 Processos e Threads 2.1 Processos 2.2 Threads 2.3 Comunicação interprocesso 2.4 Problemas clássicos de IPC 2.5 Escalonamento 1 Processos O Modelo de Processo Multiprogramação de quatro programas
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 maisEscalonamento. Eduardo Ferreira dos Santos. Abril, Ciência da Computação Centro Universitário de Brasília UniCEUB 1 / 28
Escalonamento Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Abril, 2016 1 / 28 Sumário 1 Multiprogramação 2 Escalonamento 3 Concorrência 2 / 28 Multiprogramação
Leia maisEscalonamento. 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 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 maisFundamentos de Sistemas Operacionais
Fundamentos de Sistemas Operacionais Aula 5: Exclusão Mútua Diego Passos Última Aula Programação Concorrente Programas compostos por mais de um processo ou thread. Pode trazer benefícios: Simplificar o
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 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 maisCapítulo 2. Multiprogramação. Conteúdo. Objetivo. Recordando. Recordando. DCA-108 Sistemas Operacionais
DCA-108 Sistemas Operacionais Capítulo 2 Luiz Affonso Guedes www.dca.ufrn.br/~affonso affonso@dca.ufrn.br Multiprogramação Luiz Affonso Guedes 1 Luiz Affonso Guedes 2 Conteúdo Caracterização de um SO Moderno
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 maisMétodos de Sincronização
Métodos de Sincronização Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Maio, 2017 1 / 31 Sumário 1 Sistemas multiprogramáveis 2 Mecanismos de sincronização
Leia maisSistemas Operacionais. Interrupção e Exceção
Sistemas Operacionais Interrupção e Exceção Interrupção e Exceção Durante a execução de um programa podem ocorrer alguns eventos inesperados, ocasionando um desvio forçado no seu fluxo de execução. Estes
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 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 maisProblema do Produtor -Consumidor. Solução por semáforos
Problema do Produtor -Consumidor Solução por semáforos Autoria Autores alunos da disciplina SO II Local Instituto de Informática UFRGS Versão v7 agosto de 2008 por C. Geyer Visão geral do assunto...2 Conceito...3
Leia maisSistemas Operacionais. Prof. André Y. Kusumoto
Sistemas Operacionais Prof. André Y. Kusumoto andrekusumoto.unip@gmail.com Semáforos Sincronização de Processos Um semáforo é uma estrutura de dados que consiste em um número inteiro e em uma fila Seu
Leia maisSistemas Operacionais
Sistemas Operacionais 01 Introdução e Conceitos Definição: É um software que atua como intermediário entre o usuário e o hardware do computador e, serve também como intermediário entre os softwares aplicativos
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 Operacionais
Sistemas Operacionais Processos Exclusão Mútua Mecanismos para se Obter Exclusão MútuaM Mecanismos de Hardware: Inibição de Interrupções Instrução TSL (Test and Set Lock) Mecanismos de Software: Com Espera
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 5. PROCESSO: 5.1 Introdução; 5.2 Estrutura do Processo; 5.3 Estados do Processo; 5.4
Leia maisENADE 2011 SISTEMAS OPERACIONAIS
ENADE 2011 SISTEMAS OPERACIONAIS SOs: conteúdos comuns Gerência de processos/processador Comunicação Concorrência e Sinc. de Processos Gerenciamento de Memória Alocação de Recursos e Deadlocks Sistemas
Leia maisSistemas Operacionais. Condição de corrida e Região crítica
Sistemas Operacionais Condição de corrida e Região crítica Região Crítica Parte do código que acessa a área compartilhada Condição em que dois processos lêem e escrevem um dado compartilhado e o resultado
Leia maisTecnólogo em Análise e Desenvolvimento de Sistemas. Sistemas Operacionais (SOP A2)
Tecnólogo em Análise e Desenvolvimento de Sistemas Sistemas Operacionais (SOP A2) Visão Geral Referências: Sistemas Operacionais Modernos. Andrew S. Tanenbaum. Editora Pearson. 3ª ed. 2010. Seção: 1.1
Leia maisSistemas Distribuídos
Sistemas Distribuídos Transações atômicas Conteúdo O modelo transacional Armazenamento estável Primitivas transacionais Propriedades das transações Transações aninhadas Implementação Área de trabalho privada
Leia maisExercícios Cap I. 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) , 1.8 e 1.12 IC - UFF
Exercícios Cap I 1.1, 1.2, 1.3 (somente letras (a), (b) e (c)) 1.5 1.7, 1.8 e 1.12 Sistemas Operacionais Visão geral e evolução dos SOs Sistema Operacional? Um programa que controla a execução dos programas
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 maisSistemas Operacionais. Processos e Threads
Sistemas Operacionais Processos e Threads Sumário 1. Introdução 2. Estrutura do Processo 1. Contexto de Hardware 2. Contexto de Software 3. Espaço de Endereçamento 3. Estados 1. Mudanças de Estado 2. Criação
Leia maisCapí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 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 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 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 maisSistemas de Informação. Sistemas Operacionais
Sistemas de Informação Sistemas Operacionais PROCESSOS E THREADS PARTE II SUMÁRIO 3. THREAD: 3.1 Introdução; 3.2 Ambiente Monothread; 3.3 Ambiente Multithread; 3.4 Arquitetura e Implementação; 3.5 Modelos
Leia maisProblema dos Leitores/Escritores
Sincronização: Semáforos Problema dos Leitores/Escritores Autores Eduardo André Mallmann 0905/96-9 João Paulo Reginatto 1530/96-0 Local Instituto de Informática UFRGS disciplina: Sistemas Operacionais
Leia maisArquitetura de Sistemas Operacionais Francis Berenger Machado / Luiz Paulo Maia (Material Adaptado)
Arquitetura de Sistemas Operacionais Francis Berenger Machado / Luiz Paulo Maia (Material Adaptado) Capítulo 3 Concorrência Agenda Introdução Interrupções e exceções Operações de Entrada/Saída Buffering
Leia maisSistemas Operacionais. Comunicação entre processos
Sistemas Operacionais Comunicação entre processos Comunicação entre Processos Os SO s hoje são multi-tarefa Alguns processos precisam cooperar para cumprir seus objetivos Sugestões de implementação? Exemplos
Leia maisPROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 12 - Threads e Concorrência em Java
Aula 12 - Threads e Concorrência em Java Conteúdo Programático desta aula Aplicar os conceitos e threads, processos concorrentes e sincronização em pequenos programas. Aplicar e verificar os conceitos
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 maisAtividades Práticas no Ensino Introdutório de Sistemas Operac
Atividades Práticas no Ensino Introdutório de Sistemas Operacionais Cassio P. de Campos Nicolas Kassalias Faculdade de Computação e Informática Universidade Mackenzie 17 de julho de 2006 Agenda 1 Introdução
Leia maisIntrodução a Arquitetura de Sistemas Operacionais. Parte 01
Introdução a Arquitetura de Sistemas Operacionais Parte 01 Instituto Federal de Educação, Ciência e Tecnologia do Triângulo Mineiro Prof. Edwar Saliba Júnior Julho / 2017 1/44 Nota Com exceção das figuras
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 maisThreads e Sincronização no Linux
Threads e Sincronização no Linux MCTA026-13 - Sistemas Operacionais Emilio Francesquini e Fernando Teubl Ferreira e.francesquini@ufabc.edu.br / fernando.teubl@ufabc.edu.br 2019.Q1 Centro de Matemática,
Leia maisSistemas Operacionais. Prof. Fabio Augusto Oliveira
Sistemas Operacionais Prof. Fabio Augusto Oliveira Threads Um processo representa uma sequência de instruções única, executada paralelamente a outra seqüências de instruções. Um thread é uma maneira de
Leia maisUniversidade 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 maisSistemas de Informação. Sistemas Operacionais
Sistemas de Informação Sistemas Operacionais PROCESSOS E THREADS PARTE I SUMÁRIO 2. PROCESSO: 2.1 Introdução; 2.2 Estrutura do Processo; 2.3 Estados do Processo; 2.4 Mudanças de Estado do Processo; 2.5
Leia maisLINGUAGENS LÓGICAS E PROGRAMAÇÃO CONCORRENTE
LINGUAGENS LÓGICAS E PROGRAMAÇÃO CONCORRENTE Adriana Nery Programação lógica Paradigma Predicados Dedutiva) baseado no Cálculo de (Lógica Matemática Exemplo: Zé Carioca é um papagaio. Todo papagaio é uma
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 maisNÚCLEO DE TECNOLOGIA DEPARTAMENTO ACADÊMCIO DE CIÊNCIA DA COMPUTAÇÃO. I - Objetivo Geral: Introduzir os conceitos gerais de sistemas operacionais
NÚCLEO DE TECNOLOGIA DEPARTAMENTO ACADÊMCIO DE CIÊNCIA DA COMPUTAÇÃO Disciplina: Sistemas Operacionais INF007 Professor: Silvia Rissino Carga Horária: 80 horas Crédito: 04 Pré-Requisito: Introdução a Informática
Leia maisSistemas 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 maisSistemas 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 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 Distribuídos Aula 5
Sistemas Distribuídos Aula 5 Aula passada Sincronização Race condition Região crítica Locks Algoritmo de Peterson Aula de hoje Atomicidade test-and-set Locks revisitado Semáforos Dois problemas Atomicidade
Leia mais14/05/2017. Conceitos de Processos. Conceitos de Processos. Conceito de processo
Conceito de processo Os computadores executam várias operações ao mesmo tempo. - Compilar um programa; - Enviar um arquivo para a impressora; - Exibir uma página web; - Reproduzir músicas; - Receber mensagens
Leia maisConcorrência em Processos
Concorrência em Processos Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://dase.ifpe.edu.br/~alsm Baseado nas aulas do professor Alberto Costa Neto da UFS 1 O que fazer com essa apresentação
Leia maisSincronizaçã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 maisThread. Thread. Sistemas Operacionais. Leonard B. Moreira. UNIVERSIDADE ESTÁCIO DE SÁ fevereiro, / 41
Thread Sistemas Operacionais Leonard B. Moreira UNIVERSIDADE ESTÁCIO DE SÁ e-mail: leonardbarreto@gmail.com.br fevereiro, 2013 1 / 41 Sumário 1 Introdução 2 Ambientes Monothread 3 Ambientes Multithread
Leia maisProgramaçã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 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 Concorrência. Carlos Ferraz Jorge Cavalcanti Fonsêca
Sistemas Operacionais Concorrência Carlos Ferraz (cagf@cin.ufpe.br) Jorge Cavalcanti Fonsêca (jcbf@cin.ufpe.br) POSIX Threads... ... POSIX Threads (2) Exercício } Executando n vezes e verificando a ordem
Leia maisControle de Transação
Curso: Ciência da Computação Disciplina: Banco de Dados Campus Lages Controle de Transação Prof. Edjandir C. Costa edjandir.costa@ifsc.edu.br Agenda Conceitos de transação e sistema Propriedades desejáveis
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 maisSistemas Operacionais
Sistemas Operacionais I Índice 2 Processos... 1 2.2.5 Semáforos... 1 2.2.6 Monitores... 2 2.2.7 Passagem de Mensagens... 5 2 Processos 2.2.5 Semáforos Para resolver este problema, Dijkstra propôs em 1965
Leia maisSistemas Operacionais. Capítulo 7 Sincronização e Comunicação entre Processos
Sistemas Operacionais Capítulo 7 Sincronização e Comunicação entre Processos Baseado no Livro e Material de Apoio de Arquitetura de Sistemas Operacionais 3ª edição - LTC - 2004 Francis Berenger Machado
Leia maisMontador (assembler)
Montador (assembler) Linguagem Assembly Linguagem de máquina Montador (assembler) Traduz um programa fonte em linguagem de montagem (linguagem assembly) em um módulo-objeto (em linguagem de máquina) não
Leia maisSUMÁRIO. 1.3 CONCEITOS DE SISTEMA OPERACIONAL Processos Arquivos O shell 42
SUMÁRIO 1 INTRODUÇÃO 21 1.1 O QUE É O SISTEMA OPERACIONAL? 23 1.1.1 O sistema operacional como uma máquina estendida 23 1.1.2 O sistema operacional como gerenciador de recursos 24 1.2 HISTÓRIA DOS SISTEMAS
Leia mais