Comunicação entre processos

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

Download "Comunicação entre processos"

Transcrição

1 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 Tanenbaum (2003)

2 Na aula anterior Conceitos Região crítica Condição de disputa Exclusão mútua Exclusão mútua com espera ociosa Inibição de interrupções Variáveis de travamento Estrita alternância Solução de Peterson Instrução TSL CCET182 Sistemas Operacionais 2

3 Agenda Exclusão mútua sem espera ociosa Acordar e dormir Semáforos Mutexes Monitores Troca de mensagens Barreiras CCET182 Sistemas Operacionais 3

4 Problemas com espera ociosa A maioria das soluções anteriores tem o defeito de usar espera ociosa Quando um processo deseja entrar em sua região crítica ele verifica se é possível Não havendo possibilidade naquele momento, ele executa um laço ocioso para esperar Além do gasto de tempo pelo processador pode ter efeitos colaterais indesejáveis Problema da inversão de prioridade CCET182 Sistemas Operacionais 4

5 Inversão de prioridade Dois processos H (alta prioridade) e L (baixa prioridade) H deve rodar sempre que estiver Pronto Em certo momento L está em sua região crítica H torna-se pronto (estava aguardando uma E/S) Então H inicia uma espera ocupada Como H tem prioridade sobre L L nunca conseguirá deixar sua região crítica H nunca deixará de esperar CCET182 Sistemas Operacionais 5

6 Dormir e acordar Bloquear o processo em vez de gastar tempo Forma mais simples é usar duas primitivas sleep é uma chamada de sistema que bloqueia o processo que a chamou wakeup tem um parâmetro, o processo que deverá ser acordado Ambas podem ter um outro parâmetro Endereço de memória para casar a sleep com a wakeup correspondente CCET182 Sistemas Operacionais 6

7 Problema do Produtor-Consumidor Também conhecido como problema do buffer limitado (bounded buffer) Dois processos compartilham um buffer de tamanho fixo O produtor coloca informações no buffer O consumidor retira informações do buffer Situação problemática o produtor quer colocar informações, mas o buffer está cheio o consumidor que retirar informações, mas o buffer está vazio Solução produtor deve dormir até que o consumidor retire algo do buffer consumidor deve dormir até que o produtor coloque algo no buffer CCET182 Sistemas Operacionais 7

8 Primitivas sleep/wakeup CCET182 Sistemas Operacionais 8

9 Primitivas sleep/wakeup, cont... Condição de disputa por ocorrer devido ao acesso à variável count Consumidor ler count (cujo valor é zero) Ocorre uma interrupção e o produtor começa a rodar Produtor coloca um item no buffer e incrementa count Verifica que count tinha zero então chama wakeup Porém o consumidor não está dormindo e o sinal emitido pela primitiva wakeup é perdido Consumidor volta a rodar baseado em count=0 vai dormir Mais cedo ou mais tarde o produtor vai encher o buffer Ambos vão dormir felizes para sempre CCET182 Sistemas Operacionais 9

10 Semáforos Em 1956 Dijkstra sugeriu o uso de uma nova variável inteira para controlar o numero de sinais armazenado para uso futuro Um semáforo pode ter valor 0 indicando que não há nenhum sinal armazenado ou um valor positivo indicando o número de sinais armazenados Uso de duas operações down e up CCET182 Sistemas Operacionais 10

11 Semáforos, cont... down verifica se o valor do semáforo é maior que zero Se for ele é decrementado e o processo continua sua progressão Se for igual a zero, o processo é posto para dormir up incrementa o valor do semáforo Se um ou mais processos estiverem dormindo neste semáforo, um deles será selecionado para que complete a operação down e o semáforo continuará com zero As ações de ler o semáforo, alterá-lo e acordar ou colocar para dormir um processo devem ser indivisíveis ou atômicas Essa é uma garantia para evitar condição de corridas Implementadas como chamadas ao sistema Esses mecanismos foram introduzidos na linguagem Algo 68 CCET182 Sistemas Operacionais 11

12 Semáforos, cont... CCET182 Sistemas Operacionais 12

13 Mutexes Quando não há a necessidade contar Versão simplificada de semáforos Gerenciar exclusão mútua de algum recurso ou parte de código compartilhada Um mutex (mutual exclusion) Variável com dois estados desimpedido e impedido Fornecem dois procedimentos mutex_lock e mutex_unlock CCET182 Sistemas Operacionais 13

14 Mutexes, cont... Implementação de mutex_lock e mutex_unlock são similares a enter_region e leave_region CCET182 Sistemas Operacionais 14

15 Situação de deadlock Problema com semáforos Os dois downs do código do produtor em ordem trocadas Sendo mutex decrementado antes do empty Se buffer estive cheio o produtor será bloqueado com mutex igual a zero Próxima vez que o consumidor tentar acesso ao buffer Irá executar um down sobre o mutex que é zero sendo também bloqueado Ambos os processos ficaram bloqueados indefinidamente Esta situação é denominada como deadlock CCET182 Sistemas Operacionais 15

16 Monitores Proposta de Hoare e Hansen para facilitar escrita de programas paralelos Conjunto de procedimentos, variáveis e estruturas de dados, tudo agrupado num módulo especial Processos podem chamar os procedimentos do monitor Não podem acessar diretamente as estruturas de dados e variáveis Apenas um processo pode está ativo dentro de um monitor CCET182 Sistemas Operacionais 16

17 Monitores, cont... Não bloqueia processos sem condições lógicas para continuarem Introdução de variáveis de condição com duas operações sobre elas wait: bloqueia o processo na fila associada à variável signal: acorda um processo que esteja bloqueado sob uma variável Para evitar que dois processos permaneçam no monitor ao mesmo tempo Exigi-se que um processo que emitir um signal saia imediatamente do monitor O signal deve ser o último comando num procedimento dentro do monitor CCET182 Sistemas Operacionais 17

18 Monitores, cont... CCET182 Sistemas Operacionais 18

19 Troca de mensagens Utiliza duas primitivas send e receive Algumas questões de projeto Operando em máquinas diferentes, mensagens podem se perder Tão logo receba uma mensagem deve-se enviar outra confirmando Se o transmissor não receber a confirmação num intervalo de tempo deverá retransmitir a mensagem Necessidade de números sequenciais nas mensagem para identificação Correta identificação da máquina na rede e do processo na máquina Questão de autenticação para evitar que se troque mensagens com impostores Quando operando na mesma máquina, esse processo demora mais que semáforos e monitores CCET182 Sistemas Operacionais 19

20 Troca de mensagens, cont... CCET182 Sistemas Operacionais 20

21 Barreiras Destinadas a grupos de processos Aplicações divididas em fases Nenhum processo pode avançar individualmente Ao chegar na barreira um processo é bloqueado Coloca-se uma barreira no final de cada fase Processos fazem chamadas à primitiva barrier CCET182 Sistemas Operacionais 21

22 Barreiras, cont... (a)processos se aproximando de uma barreira (b)todos os processos, exceto um, bloqueados pela barreira (c)último processo chega, todos passam CCET182 Sistemas Operacionais 22

23 Continua... Escalonamento de processos Escalonamento em sistemas em lote Escalonamento em sistemas interativos Escalonamento em sistemas de tempo real Política versus mecanismo CCET182 Sistemas Operacionais 23

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

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

Leia mais

Sistemas Operacionais

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

SSC0640 Sistemas Operacionais I

SSC0640 Sistemas Operacionais I SSC0640 Sistemas Operacionais I 8ª Aula Comunicação e Sincronismo de Processos Profa. Sarita Mazzini Bruschi sarita@icmc.usp.br Slides adaptados de Marcos José Santana / Regina H. C. Santana / Luciana

Leia mais

Comunicação entre Processos

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

Leia mais

Sistemas Operacionais. Comunicação entre processos

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

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

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

Sincronização e Comunicação

Sincronizaçã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 mais

Capítulo 2 Processos e Threads

Capítulo 2 Processos e Threads Capítulo 2 Processos e Threads 2.1 Processos 2.2 Threads 2.3 Comunicação interprocesso 2.4 Problemas clássicos de IPC 2.5 Escalonamento 1 Processos O Modelo de Processo Multiprogramação de quatro programas

Leia mais

Sistemas Operacionais Concorrência. Carlos Ferraz Jorge Cavalcanti Fonsêca

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

Sistemas Operacionais. Condição de corrida e Região crítica

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

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

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

Leia mais

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

Concorrência. Condições de Corrida. 5a. Tentativa. Dificuldades: Sincronização de Processos (2) Aula 11 Profa. Patrícia Dockhorn Costa

Concorrência. Condições de Corrida. 5a. Tentativa. Dificuldades: Sincronização de Processos (2) Aula 11 Profa. Patrícia Dockhorn Costa Concorrência Dificuldades: Sincronização de Processos (2) Aula 11 Profa. Patrícia Dockhorn Costa Compartilhamento de recursos globais. Gerência de alocação de recursos. Localização de erros de programação

Leia mais

Sistemas Operacionais

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

Sincronização de Processos (2)

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

Leia mais

Comunicação entre processos (2)

Comunicaçã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 mais

Sistemas Operacionais: Sincronização entre processos

Sistemas Operacionais: Sincronização entre processos Sistemas Operacionais: Sincronização entre processos Sincronização Programa concorrente Executado por diversos processos Acesso concorrente a dados Paralelismo real x Paralelismo aparente Multiprocessadores:

Leia mais

Sincronização de Processos (2)

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

Leia mais

Sincronização e Comunicação de/entre Processos. Na Aula Anterior... Nesta Aula. Comunicação entre Processos. Pipes 07/09/2016

Sincronização e Comunicação de/entre Processos. Na Aula Anterior... Nesta Aula. Comunicação entre Processos. Pipes 07/09/2016 GSI018 Sistemas Operacionais 07/09/2016 Sincronização e Comunicação de/entre Processos Universidade Federal de Uberlândia Faculdade de Computação Prof. Dr. rer. nat. Daniel D. Abdala Na Aula Anterior...

Leia mais

Fundamentos de Sistemas Operacionais

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

Tipos de Soluções (cont.)

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

Leia mais

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

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

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

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

Leia mais

7 SINCRONIZAÇÃO DE PROCESSOS

7 SINCRONIZAÇÃO DE PROCESSOS 7 SINCRONIZAÇÃO DE PROCESSOS Quando se trabalha com processos cooperativos, eles podem afetar uns aos outros. Eles compartilham recursos, principalmente posições de memória e arquivos. O acesso a dados

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Aula 02 Processos e Threads Edirlei Soares de Lima Programas e Processos Programa: Entidade estática e permanente; Composto por sequencias de instruções; Processo:

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Processos Semáforos Semáforos Mecanismo de sincronização que não requer espera ocupada Dijkstra propôs usar uma variável inteira para contar o n o de WAKEUPs para uso futuro Menos

Leia mais

Sistemas Operacionais

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

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

Sistemas Distribuídos Aula 7

Sistemas Distribuídos Aula 7 Sistemas Distribuídos Aula 7 Aula passada Atomicidade Test-and-set Locks revisitado Semáforos Dois problemas Aula de hoje Limitação dos semáforos Monitores Variáveis de condição Semântica do signal Sincronização

Leia mais

Sincronização e comunicação entre processos

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

Leia mais

Sistemas Operacionais. Prof. André Y. Kusumoto

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

Exclusão Mútua (mutex)

Exclusã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 mais

1 Porque o estado de um processo deve ser salvo quando ele deixa a CPU?

1 Porque o estado de um processo deve ser salvo quando ele deixa a CPU? 1 Porque o estado de um processo deve ser salvo quando ele deixa a CPU? 2 O que é ambiente de execução? 3 Qual a finalidade da PCB? 4 Quais os componentes básicos da PCB? 5 Quais os 3 grupos de elemento

Leia mais

Revisão Ultima aula [1/2]

Revisão Ultima aula [1/2] SOP - TADS Comunicação Interprocessos IPC Prof. Ricardo José Pfitscher dcc2rjp@joinville.udesc.br Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Revisão Ultima aula

Leia mais

Sistemas Operacionais

Sistemas Operacionais Introdução Sistemas Operacionais Sincronização de processos Aula 07 Em sistemas multiprogramados há interação entre processos para comunicação, que pode ser feita via compartilhamento de memória/arquivos

Leia mais

Sincronização e comunicação entre entidades de processamento. Mutex Volnys Bernal 1. Tópicos. Exclusão Mútua (mutex) Exclusão Mútua (Mutex)

Sincronizaçã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 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

Modelos de Programação de Tempo Real

Modelos de Programação de Tempo Real Modelos de Programação de Tempo Real Eduardo Ferreira dos Santos Ciência da Computação Centro Universitário de Brasília UniCEUB Março, 2016 1 / 27 Sumário 1 Características de Tempo Real 2 Multiprogramação

Leia mais

Sistemas Operacionais. Prof. André Y. Kusumoto

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

Tipos de Soluções (cont.)

Tipos de Soluções (cont.) Tipos de Soluções (cont.) Sincronização de Processos: Semáforos Aula 12 Profa. Patrícia Dockhorn Costa Soluções de Hardware Inibição de interrupções Instrução TSL (apresenta busy wait) Soluções de software

Leia mais

Problema do Produtor -Consumidor. Solução por semáforos

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

Revisão Ultima aula [1/2]

Revisão Ultima aula [1/2] SOP - TADS Comunicação Interprocessos - 2 IPC Prof. Ricardo José Pfitscher dcc2rjp@joinville.udesc.br Material cedido por: Prof. Rafael Rodrigues Obelheiro Prof. Maurício Aronne Pillon Revisão Ultima aula

Leia mais

SISTEMA DE ARQUIVOS DO SISTEMA OPERACIONAL

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

Solução para o Problema do Produtor-Consumidor

Solução para o Problema do Produtor-Consumidor Solução para o Problema do Produtor-Consumidor Ricardo Mendes do Nascimento Universidade Regional Integrada do Alto Uruguai e das Missões (URI) Santo Ângelo RS Brasil ricna.net@hotmail.com Resumo. Este

Leia mais

Unidade 3. Controle de Concorrência. Primitivas de Programação Concorrente Clássica

Unidade 3. Controle de Concorrência. Primitivas de Programação Concorrente Clássica Unidade 3 Controle de Concorrência Primitivas de Programação Concorrente Clássica Programação Concorrente A abstração de programação concorrente é o estudo de sequênciasde execução intercaladas, de instruções

Leia mais

Sistemas Operacionais

Sistemas Operacionais Introdução Sistemas Operacionais Sincronização de processos Aula 08 Em sistemas multiprogramados há interação entre processos para comunicação, que pode ser feita via compartilhamento de memória/arquivos

Leia mais

Sistemas Operacionais

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

Leia mais

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 6. Primitivas de Sincronização

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 6. Primitivas de Sincronização Aula 6 Primitivas de Sincronização Primitivas de Sincronização Lock / Unlock Sleep / Wakeup Semáforo Monitores Mensagens Sincronização no Linux Lock / Unlock Funcionam como as primitivas vistas até agora

Leia mais

Sincronização e Comunicação entre Processos. Sincronização e Comunicação Volnys Bernal 1. Agenda

Sincronização e Comunicação entre Processos. Sincronização e Comunicação Volnys Bernal 1. Agenda entre Processos 004-006 Volnys Bernal 004-006 Volnys Bernal Agenda entre Processos Volnys Borges Bernal volnys@lsi.usp.br http://www.lsi.usp.br/~volnys Região Crítica Classificação dos mecanismos de sincronização

Leia mais

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

Sincronização e Comunicação entre Processos. Adão de Melo Neto Sincronização e Comunicação entre Processos Adão de Melo Neto 1 MOTIVAÇÃO 2 INTRODUÇÃO Em um sistema multiprogramado (concorrente) os processos alternam sua execução (ou seja, são executados alternadamente

Leia mais

Sistemas Operacionais

Sistemas Operacionais Introdução 2 a edição Revisão: Fev/2003 Sistemas Operacionais Programação concorrente Capítulo 3 Programa executado por apenas um processo é dito de programa seqüêncial Existe apenas um fluxo de controle

Leia mais

Sistemas Operacionais Aula 6

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

Programação concorrente (processos e threads)

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

Leia mais

Sistemas Distribuídos Aula 5

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

Sistemas Operacionais

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

Leia mais

Concorrência entre Processos

Concorrência entre Processos Concorrência entre Processos Prof. Dr. André Carvalho andre@icomp.ufam.edu.br Agenda n Concorrência entre Processos Condições de disputa, seções críticas n Soluções para Seções Críticas n Problemas clássicos

Leia mais

Sistemas Operacionais

Sistemas Operacionais Introdução Inst tituto de Info ormátic ca - UF FRGS Sistemas Operacionais i Introdução à Programação Concorrente Aula 05 Em sistemas multiprogramados há interação entre processos para comunicação, que

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

Programação Orientada a Objetos. Concorrência

Programaçã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 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

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 12: Revisão para a P1 Diego Passos Capítulo 1 Sistemas Operacionais São programas. Duas funções: Gerenciar os recursos do hardware. Dividir entre os vários processos.

Leia mais

Notas da Aula 5 - Fundamentos de Sistemas Operacionais

Notas da Aula 5 - Fundamentos de Sistemas Operacionais Notas da Aula 5 - Fundamentos de Sistemas Operacionais 1. Operações Atômicas Uma operação é dita atômica quando ela é indivisível no tempo. Em outras palavras, uma vez que a operação tenha sido iniciada,

Leia mais

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

6. Mostre os principais modelos de organização interna de um sistema operacional. Trabalho 1 Sistemas Operacionais Embarcados Engenharia Elétrica Prof. Carlos Marcelo Pedroso 1 Problemas 1. O IBM 360 modelo 75 é cerca de 50 vezes mais rápida do que o IBM 360 modelo 30. Todavia, o tempo

Leia mais

ENADE 2011 SISTEMAS OPERACIONAIS

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

Semáforo Volnys Borges Bernal Departamento de Sistemas Eletrônicos Escola Politécnica da USP

Semáforo Volnys Borges Bernal Departamento de Sistemas Eletrônicos Escola Politécnica da USP 2004-2017 Volnys Bernal 1 Semáforo Volnys Borges Bernal volnys@lsi.usp.br Departamento de Sistemas Eletrônicos Escola Politécnica da USP 2004-2017 Volnys Bernal 2 Semáforo Sumário Semáforo Problema produtor-consumidor

Leia mais

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

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

Leia mais

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

Introdução e Conceitos Básicos

Introdução e Conceitos Básicos Universidade Federal do Acre Centro de Ciências Exatas e Tecnológicas Bacharelado em Sistemas de Informação Introdução e Conceitos Básicos Macilon Araújo Costa Neto macilon@ufac.br Capítulo 1 do livro

Leia mais

Sistemas Operacionais II

Sistemas Operacionais II O problema da seção crítica... Instituto de Informátic ca - UFRGS Sistemas Operacionais II Exclusão mútua (implementação) Aula 04 Seção crítica Porção de código que não pode ser executado por dois ou mais

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

Sistemas Distribuídos

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

Sistemas Operacionais. Sincronização: Semáforos Problema dos Leitores/Escritores

Sistemas Operacionais. Sincronização: Semáforos Problema dos Leitores/Escritores Sistemas Operacionais Sincronização: Semáforos Problema dos Leitores/Escritores Autoria Autores Eduardo André Mallmann 0905/96-9 João Paulo Reginatto 1530/96-0 Local Instituto de Informática UFRGS disciplina:

Leia mais

OO Engenharia Eletrônica

OO Engenharia Eletrônica OO Engenharia Eletrônica - Programação em C/C++ Slides 18: Introdução à programação multi-thread. Thread: linha de execução de um processo. Multi-thread: execução de múltiplas threads em um processo. Prof.

Leia mais

SUMÁRIO. 1.3 CONCEITOS DE SISTEMA OPERACIONAL Processos Arquivos O shell 42

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

Problema dos Leitores/Escritores

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

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Processos - Parte 1 Prof. Dr. Fábio Rodrigues de la Rocha (Processos - Parte 1) 1 / 46 Um aspecto importante no estudo sobre sistemas operacionais é o gerenciamento de processos.

Leia mais

Sistemas Operacionais

Sistemas Operacionais AULA 09 Sincronização de Processos - II Monitores Conforme comentamos, o uso equivocado dos semáforos pode levar a uma situação de deadlock, por isso devemos tomar cuidado ao programar utilizando este

Leia mais

Arquitetura de Computadores Sistemas Operacionais II

Arquitetura de Computadores Sistemas Operacionais II Definição de Processo Arquitetura de Computadores Sistemas Operacionais II Processo é o mesmo de Programa? Programa Estrutura estática Instruções + Dados Processo Entidade Ativa Instância de um Programa

Leia mais

Comunicação entre processos

Comunicação entre processos Comunicação entre processos Freqüentemente, processos precisam se comunicar com outros processos Por exemplo, em um pipeline do interpretador de comandos, a saída do primeiro processo deve ser passado

Leia mais

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 Comunicação e Sincronismo entre processos Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO 1 Comunicação entre Processos Processos

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

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 13

INTRODUÇÃO AOS SISTEMAS OPERACIONAIS SEMANA 13 INTRODUÇÃO AOS SISTEMAS OPERACIONAIS outubro/2013 SEMANA 13 Conceitos sobre s. Visão geral, s de usuário e de, modelos de multiing, ciclo de vida. Exemplos nos sistemas operacionais. 1 - Introdução Thread

Leia mais

LEIC/LERC 2009/10 Repescagem do 1º Teste de Sistemas Operativos

LEIC/LERC 2009/10 Repescagem do 1º Teste de Sistemas Operativos Número: Nome: LEIC/LERC 2009/10 Repescagem do 1º Teste de Sistemas Operativos 2 de Fevereiro de 2010 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 1h30m Grupo

Leia mais

CRIANÇAS BRINCANDO : UMA FERRAMENTA PARA O AUXÍLIO NA APRENDIZAGEM DE PROGRAMAÇÃO CONCORRENTE.

CRIANÇAS BRINCANDO : UMA FERRAMENTA PARA O AUXÍLIO NA APRENDIZAGEM DE PROGRAMAÇÃO CONCORRENTE. CRIANÇAS BRINCANDO : UMA FERRAMENTA PARA O AUXÍLIO NA APRENDIZAGEM DE PROGRAMAÇÃO CONCORRENTE. Stéphanie A. Braga stephanie.abraga@gmail.com Hugaleno C. Bezerra hugaleno@gmail.com Fernando P. Garcia fernandoparente@ifce.edu.br

Leia mais

Prof. Silvana Rossetto 9 de julho de DCC/IM/UFRJ

Prof. Silvana Rossetto 9 de julho de DCC/IM/UFRJ Computação Concorrente (MAB117) Gabarito Segunda Prova Prof. Silvana Rossetto 9 de julho de 2015 1 DCC/IM/UFRJ Questão 1 (2,5 pts) O código Java abaixo implementa uma solução para o problema do barbeiro

Leia mais

Mecanismos de Sincronização com Variáveis Compartilhadas

Mecanismos de Sincronização com Variáveis Compartilhadas Mecanismos de Sincronização com Variáveis Compartilhadas Rômulo Silva de Oliveira Edição do Autor, 2018 www.romulosilvadeoliveira.eng.br/livrotemporeal Outubro/2018 1 Introdução Problema da seção crítica

Leia mais

UNIVERSIDADE ESTADUAL VALE DO ACARAÚ- UEVA. Assunto: Programação Concorrente.

UNIVERSIDADE ESTADUAL VALE DO ACARAÚ- UEVA. Assunto: Programação Concorrente. UNIVERSIDADE ESTADUAL VALE DO ACARAÚ- UEVA Assunto: Programação Concorrente. Alunos: Valdeclébio Farrapo Costa Paulo Roberto Gabriel Barbosa Curso: Ciência da Computação Disciplina: Linguagem de Programação

Leia mais

Parte I Multiprocessamento

Parte I Multiprocessamento Sistemas Operacionais I Estrutura dos SO Prof. Gregorio Perez gregorio@uninove.br 2004 Parte I Multiprocessamento Roteiro 1 Multiprocessadores em Sistemas Fortemente Acoplados 1.1 1.2 1.3 Processamento

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES 01001111 01110010 01100111 01100001 01101110 01101001 01111010 01100001 11100111 11100011 01101111 00100000 01100100 01100101 00100000 01000011 01101111 01101101 01110000 01110101 01110100 01100001 01100100

Leia mais

DCA-108 Sistemas Operacionais

DCA-108 Sistemas Operacionais DCA-108 Sistemas Operacionais Luiz Affonso Guedes www.dca.ufrn.br/~affonso affonso@dca.ufrn.br Luiz Affonso Guedes 1 Luiz Affonso Guedes 2 Capítulo 3 Programação Concorrente Conteúdo Caracterização e escopo

Leia mais

PROCESSOS. Sistemas Operacionais. Vinícius Pádua

PROCESSOS. Sistemas Operacionais. Vinícius Pádua PROCESSOS Sistemas Operacionais Processo Conceito mais importante em SO SO também é um processo Multiprogramação Relembrando Execução simultânea de vários processos CPU salta de processo em processo Ilusão

Leia mais

Capítulo 3. Programação Concorrente. Conteúdo. Objetivos. Recordando. Recordando. Objetivos de sistema operacional. DCA-108 Sistemas Operacionais

Capítulo 3. Programação Concorrente. Conteúdo. Objetivos. Recordando. Recordando. Objetivos de sistema operacional. DCA-108 Sistemas Operacionais DCA-108 Sistemas Operacionais Capítulo 3 Luiz Affonso Guedes www.dca.ufrn.br/~affonso affonso@dca.ufrn.br Programação Luiz Affonso Guedes 1 Luiz Affonso Guedes 2 Conteúdo Caracterização e escopo da programação

Leia mais

Ferramentas para Programação em Processadores Multi-Core

Ferramentas para Programação em Processadores Multi-Core Ferramentas para Programação em Processadores Multi-Core Prof. Dr. Departamento de Informática Universidade Federal de Pelotas Sumário Introdução Arquiteturas multi-core Ferramentas de programação Prática

Leia mais

Capítulo 2. Multiprogramação. Conteúdo. Objetivo. Recordando. Recordando. DCA-108 Sistemas Operacionais

Capítulo 2. Multiprogramação. Conteúdo. Objetivo. Recordando. Recordando. DCA-108 Sistemas Operacionais DCA-108 Sistemas Operacionais Capítulo 2 Luiz Affonso Guedes www.dca.ufrn.br/~affonso affonso@dca.ufrn.br Multiprogramação Luiz Affonso Guedes 1 Luiz Affonso Guedes 2 Conteúdo Caracterização de um SO Moderno

Leia mais

Prof. Kleber R. Rovai

Prof. Kleber R. Rovai Msn: klrovai@hotmail.com E-mail: Skype: klrovai 2 1 Programa: sequência de instruções com diferentes fluxos de execução comandos condicionais e interativos (entidade passiva); Processo: um programa em

Leia mais

Aula 04. Capítulo 3 Gerência de Processos. 3.1 Conceito de Processo. 3.2 Escalonamento de Processos. 3.3 Opera ões sobre Processos

Aula 04. Capítulo 3 Gerência de Processos. 3.1 Conceito de Processo. 3.2 Escalonamento de Processos. 3.3 Opera ões sobre Processos Aula 04 Capítulo 3 Gerência de Processos 3.1 Conceito de Processo 3.2 Escalonamento de Processos 3.3 Opera ões sobre Processos 3.4 Comunica ão entre Processos 3.1 Conceito de Processo Um sistema operacional

Leia mais

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

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

Leia mais