Sistemas Operacionais II

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

Download "Sistemas Operacionais II"

Transcrição

1 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 processos simultaneamente sob pena de inconsistência de dados Necessário garantir acesso exclusivo de um processo à seção crítica Se um processo está executando instruções da seção crítica, outro processo é impedido de entrar até que a primeira saia! É o que se denomina de exclusão mútua Resulta em uma serialização no acesso Primitivas para exclusão mútua: enter_em exit_em Enter_EM Seção crítica Exit_EM Sistemas Operacionais II 2 Propriedades para primitivas de exclusão mútua Como implementar? (1) Exclusão mútua Garantir que apenas um processo esteja executando dentro da seção crítica. (2) Progressão Um processo fora da seção crítica não pode impedir outro processo de entrar (3) Espera limitada Um processo não deve ser indefinidamente impedido de entrar na seção crítica (4) Não deve fazer suposições sobre a velocidade relativa da execução dos processos, nem de número de processadores Processo ou thread Primitiva genérica: <await (B); S> Exclusão mútua e sincronização condicional Como implementar o operador exclusão mútua ( < e > )? Sem suporte de hardware, i.é, em software puro! Algoritmo de Dekker! Algoritmo de Peterson! Algoritmo de Lamport Com suporte de hardware! Baseado em habilitação/desabilitação de interrupções! Instruções atômicas (test-and-set e swap) Procedural! Baseado em suporte por compiladores Sistemas Operacionais II 3 Sistemas Operacionais II 4

2 Considerações gerais Abordagem algorítmica Para simplificar a análise: Duas unidades de execução ( threads ou processos) Algoritmos podem ser adaptados para n threads ou processos Máquinas com um processador (e um só core) Programas tem três partes: Instruções críticas (modificam dados compartilhados) Instruções não críticas (não atualizam dados compartilhados) Primitivas para exclusão mútua (enter_em e exit_em) Abordagem algorítmica é caracterizada por: Não empregar serviços providos pelo núcleo (kernel) para bloquear, sinalizar ou retardar a execução de um processo Não empregar instruções especiais do processador Vantagem: É uma solução independente de sistema operacional e de plataforma de execução Desvantagem: Emprego de espera ativa (busy wait) Complexidade de programação Sistemas Operacionais II 5 Sistemas Operacionais II 6 Algoritmo de Dekker (versão I) Algoritmo de Dekker (versão I) Var turn: 0..1 Var turn: 0..1 while (turn = 2) do {nothing; { seção crítica; turn := 2; Parend ; while (turn = 1) do {nothing; { seção crítica; turn := 1; Problemas? while (turn = 2) do {nothing; { seção crítica; turn := 2; Parend ; while (turn = 1) do {nothing; { seção crítica; turn := 1; Problemas? Viola propriedade da progressão Sistemas Operacionais II 7 Sistemas Operacionais II 8

3 Algoritmo de Dekker (versão II) Algoritmo de Dekker (versão II) while (c2 = 0) do {nothing; c i é um flag para indicar se o processo P i está na região crítica. Antes de entrar na SC um processo verifica se a mesma livre, ou seja, se o outro processo não está dentro dela. while (c1 = 0) do {nothing; while (c2 = 0) do {nothing; c i é um flag para indicar se o processo P i está na região crítica. Antes de entrar na SC um processo verifica se a mesma livre, ou seja, se o outro processo não está dentro dela. while (c1 = 0) do {nothing; Viola regra da exclusão mútua Sistemas Operacionais II 9 Sistemas Operacionais II 10 Algoritmo de Dekker (versão II alternativa 2) Algoritmo de Dekker (versão II tentativa 2) c1 = 0 while (c2 = 0) do {nothing; c2 = 0 while hl (c1 = 0) do {nothing; c1 = 0 while (c2 = 0) do {nothing; c2 = 0 while hl (c1 = 0) do {nothing; Esperarão por uma situação que nunca ocorrerá Sistemas Operacionais II 11 Sistemas Operacionais II 12

4 Algoritmo de Dekker (versão II tentativa 3) Algoritmo de Dekker (versão II tentativa 3) c1 = 0 while (c2 = 0) do { timewait(rand); c1 =0; end. c2 = 0 while (c1 = 0) do { timewait(rand); c2 =0; c1 = 2; c1 = 0 while (c2 = 0) do { timewait(rand); c1 =0; end. c2 = 0 while (c1 = 0) do { timewait(rand); c2 =0; Um processo pode sempre dar a preferência para o outro e nenhum dos dois ingressar na SC. Sistemas Operacionais II 13 Sistemas Operacionais II 14 Var turn: 1..2; c1, c2: 0..1; while (c2 = 0 ) do Algoritmo de Dekker (versão V) if (turn = 2) then { while (turn = 2) do {nothing; turn = 2; while (c1 = 0 ) do if (turn = 1) then { while (turn = 1) do {nothing; Parend. Sistemas Operacionais II 15 Var turn: 1..2; c1, c2: 0..1; while (c2 = 0 ) do if (turn = 2) then { Algoritmo de Dekker (versão V) while (turn = 2) do {nothing; turn = 2; Parend. while (c1 = 0 ) do if (turn = 1) then { while (turn = 1) do {nothing; Desta vez não... Está correto!! Mas façam para n processos... Sistemas Operacionais II 16

5 Algoritmo de Peterson Passando para n processos Var flag: array[0..1] of boolean; turn:0..1; flag[0] = false; flag[1] = false; flag[0] = true; while flag[1] and turn = 1 do {nothing; flag[0] = false; Parend. flag[0] = true; turn = 0; while flag[0] and turn = 0 do {nothing; flag[1] = false; Também está correto... Mas façam para n processos... Sistemas Operacionais II 17 Algoritmo de Dijkstra (1965) Possibilidade de adiamento indefinido Algoritmo de Knuth (1965) Resolvia adiamento indefinido, mas permite longos atrasos Algoritmo de Eisenberg e McGuire (1972) Entrada na seção crítica no máximo após n-1 tentativast ti Algoritmo de Peterson (1981) Generalização do de duas unidades de execução Algoritmo de Lamport (1974) Desenvolvido para sistemas distribuídos Algoritmo de Block e Woo (1990) Sistemas Operacionais II 18 Algoritmo da Padaria (Lamport, 1974) const n; Var choosing = array[0..n-1] of boolean; number = array[0..n1] of integer; for j=0 to n-1 do { choosing[i]=false; number[j]=0 Process Pi: Sistemas Operacionais II Tie break (relação precedência) (number[j], j) < number[i], i) number[j] < number [i] or number[j] = number [i] and j < i choosing[i]=true; number[i] = max(number[0]...number[n-1]) + 1; choosing[i]=false; for j=0 to n-1 do { while (choosing[j] do {nothing; while (number[j] and (number[j], j) < (number[i], i)) do {nothing; {Seção crítica number[i] = 0; {Seção não crítica Parend. Problemas com soluções em software Software puro: algoritmos de Dekker, Peterson e Lamport Problemas:! Complexidade! Problema de desempenho! Espera ativa (busy wait)! Falta de clareza o que é lógica de controle de acesso a seção crítica e o que é da lógica do programa Solução Contar com o auxílio de mecanismos de hardware (projeto do processador) Sistemas Operacionais II 20

6 Mecanismos de hardware Desabilitação de interrupções Habilitação e desabilitação de Interrupções Instruções específicas a serem usadas como base para se implementar primitivas de exclusão mútua: Test and set Compare and Store Swap Unidades de execução: thread ou processos (discurso válido para ambos!) Só há chaveamento de unidades de execução com a ocorrência de interrupções de tempo ou de eventos externos (E/S, traps, etc) Problemas: Poder demais para um usuário!! Não funciona em máquinas multiprocessadoras (SMP) pois apenas a CPU que realiza a instrução é afetada! Violação da regra não fazer suposições sobre processadores... CLI STI ;Desliga interrupções Seção crítica ;Ativa interrupções Sistemas Operacionais II 21 Sistemas Operacionais II 22 Variável do tipo lock Instruções especiais Posição de memória especial, compartilhada, que armazena dois estados: Zero: livre 1: ocupado Desvantagem: Race conditions While (lock == 1) ; lock = 1; Lock = 0 ; Seção crítica Solução: Fazer com que o while e a atribuição sejam feitas de forma indivisível Projeto de processadores levam em conta que eles serão usados em ambientes de programação concorrente Instruções assembly para leitura e escrita de posições de memória de forma atômica (indivisível). SWAP: swap (a, b)! Permutação de valores Compare and Store: cas r1, mem! Copia o valor de uma posição de memória para um registrador interno e escreve nela o valor 1 Test and Set Lock: tst r1, mem! Lê o valor de uma posição de memória e coloca nela um valor não zero Sistemas Operacionais II 23 Sistemas Operacionais II 24

7 Primitivas lock e unlock Problemas com a solução lock/unlock Instruções especiais podem ser usadas para implementar primitivas de mais alto nível Solução freqüentemente referenciada como mutex lock (flag); unlock (flag); Seção crítica enter_region: leave_region:... tst register,flag cmp register,0 jnz enter_region ret... mov flag,0 ret Uso correto das primitivas lock e unlock Programador deve estar ciente (para não dizer ser competente! ) do que é necessário liberar o acesso a seção crítica (unlock) Esquecimento gera, normalmente, deadlock Inversão de prioridade Espera ativa (busy wait) Sistemas Operacionais II 25 Sistemas Operacionais II 26 Mas, espera ativa nem sempre é um problema... Problema e solução para a espera ativa Em multiprocessadores (multicore) o busy wait pode ser interessante Há outro processador para liberar o recurso O custo de chaveamento pode não compensar (relação com o tamanho da seção crítica) Porém viola a regra sobre fazer suposições sobre processadores Possibilidade: primitiva trylock Faz busy wait por um período de tempo, se durante esse período o mutex não tiver sido liberado bloqueia (sleep) O programador escolhe entre trylock e lock Problema é dimensionar o período de tempo! Compromisso entre o tamanho da seção crítica, tempo de chaveamento de contexto e tempo estimado de espera Espera ativa ou busy wait (spin lock) Sem sentido, pois para alguém liberar o recurso deve executar, mas para executar tem que usar a CPU! Argumento válido para monoprocessadores (monocore) Solução: é bloquear o processo (thread) Baseado em duas novas primitivas mais elaboradas! sleep: Bloqueia um processo a espera de uma sinalização! wakeup: Sinaliza um processo Sistemas Operacionais II 27 Sistemas Operacionais II 28

8 Problema: Inversão de prioridades Soluções para inversão de prioridade Uma thread de mais baixa prioridade impedir a progressão de uma thread de mais alta prioridade Menos prioritário Mais prioritário lock(m) Troca de processo/thread lock(m) unlock(m) Outros processos/threads Situações indesejadas: Bloqueado ou fazendo busy wait (até quando?) Teto para prioridade (priority ceiling) Aumento da prioridade de uma thread para um valor prédeterminado sempre que ela adquirir um mutex (lock) Teto deve ser maior que a prioridade da maior thread Na liberação (unlock) a thread retorna a sua prioridade original Herança (priority inheritance) A prioridade da thread que detém o mutex é elevada ao nível da thread mais prioritária que solicita o recurso Elevação da prioridade só ocorre se houver risco de conflito Na liberação (unlock) a thread retorna a sua prioridade original Sistemas Operacionais II 29 Sistemas Operacionais II 30 O caso Missão Mars pathfinder: robô sojourner O problema do robô sojourner O problema: A sonda, depois de algum tempo da missão iniciou, de forma não determinística, a fazer resets e se auto-inicializar. A cada reset, os dados coletados e não transmitidos eram perdidos. Thread 1: controle do barramento (alta prioridade) Transferência de dados de controle em um barramento de informações Thread 2: transmissão de dados (média prioridade) Thread 3: coleta de dados meteorológicos (baixa prioridade) Coleta dados meteorológicos e os publica no barramento de informações lock ( bus); Watch dog (hardware) lock ( bus); preempção preempção RESET T 1 T 2 T 3 Sistemas Operacionais II 31 Sistemas Operacionais II 32

9 Leituras adicionais G. R. Andrews Multithreaded, Parallel and Distributed Programming, Addison Wesley, Capítulo 2 (seções 2.1 a 2.5) e capítulo 3 (seções 3.1 a 3.3) Deitel, Deitel e Choffnes, Sistemas Operacionais, 3a edição, Pearson Prentice Hall Capítulo 5 (seções 5.1 a 5.5) Bibliografia complementar! S. Toscani; R. Oliveira; A. Carissimi; Sistemas Operacionais e programação concorrente Editora Sagra-Luzzato, 2003.! Capítulo 4! A. Silberchatz, P. Galvin, G. Gagne; Sistemas Operacionais: conceitos e aplicações. (1 a edição). Campus ! Capítulo 7 Sistemas Operacionais II 33

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

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

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

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

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

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

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

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

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

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

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

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

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 5. Implementação de Exclusão Mútua

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 5. Implementação de Exclusão Mútua Aula 5 Implementação de Exclusão Mútua Implementando Exclusão Mútua Via software Propriedades; Dois processos; Múltiplos processos Via hardware Desabilitando interrupções; read-modify-write test & set

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

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

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

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

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

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

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

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

Leia mais

Sistemas Operacionais

Sistemas Operacionais Brainstormig Sistemas Operacionais Processos e multiprogramação Aula 2 Quais são os componentes de um programa? Como podemos representar um programa em execução? Onde ele inicia a executar? Como se mapeia

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

Comunicação entre processos

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

Sistemas Operacionais

Sistemas Operacionais Introdução Inst tituto de Info ormátic ca - UF FRGS Sistemas Operacionais i Multithreading Aula 04 Necessidade de executar atividades concorrentes, porém cooperantes ou que compartilhem dados endereçamento

Leia mais

UFRJ IM - DCC. Sistemas Operacionais I. Unidade II Concorrência

UFRJ IM - DCC. Sistemas Operacionais I. Unidade II Concorrência UFRJ IM - DCC Sistemas Operacionais I Unidade II 19/2/2007 Prof Antonio Carlos Gay Thomé Prof Aux Simone Markenson Pech 1 Organização da Unidade Processos Threads Princípios da ncia Exclusão o Mútua M

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

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

Sincronização de Processos (1) Mecanismos de busy wait

Sincronização de Processos (1) Mecanismos de busy wait Sincronização de Processos (1) Mecanismos de busy wait Condições de Corrida Exemplo: Fila de impressão. Qualquer processo que queira imprimir precisa colocar o seu documento na fila de impressão (compartilhada).

Leia mais

Execução Concorrente

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

Leia mais

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

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

Sistemas Operacionais II

Sistemas Operacionais II Introdução Instituto de Informátic ca - UFRGS Sistemas Operacionais II es Aula 06 Exclusão mútua pode ser obtida com variáveis lock e semáforos São mecanismos primitivos e estão sujeitos a erros no seu

Leia mais

Sistemas de Tempo-Real. Acesso exclusivo a recursos partilhados

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

Leia mais

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

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

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

SSC0640 Sistemas Operacionais I

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

Leia mais

Concorrência em Processos

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

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

SOP Sistemas Operacionais Módulo 04: Processo

SOP Sistemas Operacionais Módulo 04: Processo SOP Módulo 04: Processo Prof. Charles Christian Miers e-mail: charles.miers@udesc.br Multiprogramação Tornar mais eficiente o aproveitamento dos recursos do computador Execução simultânea de vários programas

Leia mais

Capítulo 3 Programação Concorrente. Nunca encontrei um homem tão ignorante que eu não pudesse aprender algo com ele.

Capítulo 3 Programação Concorrente. Nunca encontrei um homem tão ignorante que eu não pudesse aprender algo com ele. Universidade Federal de Itajubá UNIFEI Instituto de Engenharia de Sistemas e Tecnologias da Informação IESTI CCO 004 Sistemas Operacionais Prof. Edmilson Marmo Moreira 3.1 Introdução Capítulo 3 Programação

Leia mais

Modelagem e implementação de programas concorrentes

Modelagem e implementação de programas concorrentes Modelagem e implementação de programas concorrentes Aula 3 DCC-UFMG 2010 Bibliograa G.R. Andrews. Foundations of Multithreaded, Parallel, and Distributed Programming. Addison-Wesley, 1999. M. Ben-Ari.

Leia mais

Sistemas de Tempo-Real. Acesso exclusivo a recursos partilhados

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

Leia mais

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

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

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Thaís Vasconcelos Batista UFRN DIMAp http://www.dimap.ufrn.br/~thais thais@ufrnet.br Programa do Curso INTRODUÇÃO Conceitos Básicos Sistemas em Rede X Sistemas Distribuídos Necessidade

Leia mais

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

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

Leia mais

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

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

Leia mais

Modelagem e implementação de programas concorrentes

Modelagem e implementação de programas concorrentes Modelagem e implementação de programas concorrentes Aula 5 DCC-UFMG 2010 Bibliograa A de sempre + The Mutual Exclusion Problem Part I: A Theory of Interprocess Communication L. Lamport Interferencia Interferência:

Leia mais

Sistemas Operacionais

Sistemas Operacionais Introdução Sistemas Operacionais Gerência do processador (Escalonamento na prática) Aula 06 Sistemas atuais tem uma série de particularidades Multiprocessadores e multicore Existência de memória cache

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 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 Gerência de Processos

Sistemas Operacionais Gerência de Processos Sistemas Operacionais Gerência de Processos Dierone C.Foltran Jr. prof.dierone at gmail.com Sistemas Operacionais 1 Introdução Programa executado por apenas um processo é dito de programa sequencial Existe

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

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Programação Concorrente Sincronização entre processos Edson Moreno edsonmoreno@pucrsbr http://wwwinfpucrsbr/~emoreno Sumário Conceituação Princípios de concorrência Região crítica

Leia mais

Programação Concorrente e Paralela. Noemi Rodriguez

Programação Concorrente e Paralela. Noemi Rodriguez 2016 o que é programação concorrente e paralela? programação concorrente: composição de linhas de atividades independentes programação paralela: execução simultânea de linhas de atividades Go blog (Rob

Leia mais

Carlos Eduardo Batista Centro de Informática - UFPB

Carlos Eduardo Batista Centro de Informática - UFPB Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Motivação Arquitetura de computadores modernos Desafios da programação concorrente Definição de concorrência Correr junto Disputa por

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

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

Sistemas Operacionais

Sistemas Operacionais Introdução Sistemas Operacionais Multithreading (multiprogramação leve) Aula 04 Forma diferente de enxergar a abstração de processo = Conjunto de recursos relacionados endereçamento, arquivos, filhos,

Leia mais

Sistemas Operacionais II

Sistemas Operacionais II Mecanismos de sincronização de processos Instituto de Informátic ca - UFRGS Sistemas Operacionais II Da teoria à prática... (Processos, threads, mutex, semáforos, variáveis de condição e monitores) Aula

Leia mais

Carlos Eduardo Batista Centro de Informática - UFPB

Carlos Eduardo Batista Centro de Informática - UFPB Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Introdução O problema da Seção Crítica Seções Críticas: Spin Locks Implementando comandos Await Soluções justas Exercícios Programas

Leia mais

Sistemas Operacionais

Sistemas Operacionais Introdução Sistemas Operacionais Gerência do processador (Escalonamento na prática) Aula 06 Sistemas atuais tem uma série de particularidades Multiprocessadores e multicore Existência de memória cache

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

Universidade Federal do Rio de Janeiro Informática DCC/IM. Arquitetura de Computadores II. Arquiteturas MIMD. Arquiteturas MIMD

Universidade Federal do Rio de Janeiro Informática DCC/IM. Arquitetura de Computadores II. Arquiteturas MIMD. Arquiteturas MIMD Universidade Federal do Rio de Janeiro Informática DCC/IM Arquitetura de Computadores II Arquiteturas MIMD Arquiteturas MIMD As arquiteturas MIMD dividem-se em dois grandes modelos: Arquiteturas MIMD de

Leia mais

Introdução Aplicações Concorrentes Especificação de Concorrência em Programas Problemas de Compartilhamento de Recursos Exclusão Mútua Sincronização

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

Exclusão Mútua por Espera-Ocupada

Exclusão Mútua por Espera-Ocupada Exclusão Mútua por Espera-Ocupada Walter Fetter Lages w.fetter@ieee.org Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Engenharia Elétrica Programa de Pós-Graduação em Engenharia

Leia mais

INE5645 PROGRAMAÇÃO PARALELA E DISTRIBUÍDA - Prova 1 12/05/2014 Aluno: Bosco

INE5645 PROGRAMAÇÃO PARALELA E DISTRIBUÍDA - Prova 1 12/05/2014 Aluno: Bosco INE5645 PROGRAMAÇÃO PARALELA E DISTRIBUÍDA - Prova 1 12/05/2014 Aluno: Bosco 1. Um servidor acessa as variáveis i e j. O servidor oferece duas operações para seus clientes: read(i) retorna o valor de i

Leia mais

Arquitetura de Sistemas Operativos

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

Leia mais

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

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

Programação Concorrente. Prof. Hugo Vieira Neto

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

Leia mais

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

Processos. Processo (1) Processo (2) Processo (3) Conceitos Básicos Processos Conceitos Básicos Processo (1) Abstração usada pelo S.O. para designar a execução de um programa. É caracterizado por uma thread de execução, um estado corrente e um conjunto associado de recursos

Leia mais

Processos. Conceitos Básicos

Processos. Conceitos Básicos Processos Conceitos Básicos Processo (1) Abstração usada pelo S.O. para designar a execução de um programa. É caracterizado por uma thread de execução, um estado corrente e um conjunto associado de recursos

Leia mais

Sistemas de Entrada e Saída

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

Leia mais

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

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

Leia mais

Sistemas Operacionais

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

Leia mais

Introdução. Pedro Cruz. EEL770 Sistemas Operacionais

Introdução. Pedro Cruz. EEL770 Sistemas Operacionais Introdução Pedro Cruz EEL770 Sistemas Operacionais Roteiro Informações úteis Motivação Definições Revisão de arquitetura 2 Contato Site da disciplina www.gta.ufrj.br/~cruz/courses/eel770 Email cruz@gta.ufrj.br

Leia mais

Universidade Federal do RGS Instituto de Informática Departamento de Informática Aplicada

Universidade Federal do RGS Instituto de Informática Departamento de Informática Aplicada Universidade Federal do RGS Instituto de Informática Departamento de Informática Aplicada Disciplina: INF01151 - Sistemas Operacionais II N Turma: A, 2 Sem/2008 Prof. Cláudio Geyer CURSOS : Ciência da

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

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

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

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Introdução 2 a edição Capítulo 1 Revisão: Fev/2003 Introdução O que se espera de um sistema de computação? Execução de programas de usuários Permitir a solução de problemas Sistema

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

Capítulo 6: Sincronização de Processos. Operating System Concepts 8th Edition

Capítulo 6: Sincronização de Processos. Operating System Concepts 8th Edition Capítulo 6: Sincronização de Processos Módulo 6: Sincronização de Processos Fundamentos O problema das Regiões Críticas Solução de Peterson Hardware de Sincronização Travas com Mutex Semáforos Problemas

Leia mais

Sincronização. Problema da Exclusão Mútua

Sincronização. Problema da Exclusão Mútua Sincronização Parte I Primitivas de Sincronização Problema da Exclusão Mútua struct int saldo; /* outras variáveis,ex. nome do titular, etc. */ conta_t; int levantar_dinheiro (conta_t* conta, int valor)

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

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

Sistemas Operacionais Aula 7

Sistemas Operacionais Aula 7 Sistemas Operacionais Aula 7 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

Métodos de Sincronização

Mé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 mais

Sistemas Operacionais

Sistemas Operacionais Introdução 2 a edição Revisão: Fev/2003 Sistemas Operacionais Introdução Capítulo 1 O que se espera de um sistema de computação? Execução de programas de usuários Permitir a solução de problemas Sistema

Leia mais

Sistemas de Entrada e Saída

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

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

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

Pró-Reitoria Acadêmica Diretoria Acadêmica Assessoria Pedagógica da Diretoria Acadêmica PLANO DE ENSINO. Revisão 7-17/02/16

Pró-Reitoria Acadêmica Diretoria Acadêmica Assessoria Pedagógica da Diretoria Acadêmica PLANO DE ENSINO. Revisão 7-17/02/16 FACULDADE: CENTRO UNIVERSITÁRIO DE BRASÍLIA UniCEUB CURSOS: ENGENHARIA DE COMPUTAÇÃO E CIÊNCIA DA COMPUTAÇÃO DISCIPLINA: SISTEMAS OPERACIONAIS CÓDIGO: RN0352 CARGA HORÁRIA: 75 H.A. ANO/SEMESTRE: 2016/2

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

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

Alocação de Recursos. Referências. Sistemas de Tempo Real: Introdução. Introdução. Modelo de Recursos. Modelo de Recursos Referências Sistemas de Tempo Real: Alocação de Recursos Rômulo Silva de Oliveira Departamento de Automação e Sistemas - DAS UFSC romulo@das.ufsc.br http://www.das.ufsc.br/~romulo J.-M. Farines, J. da

Leia mais