Arquitetura de Sistemas Operacionais

Slides:



Advertisements
Apresentações semelhantes
Semáforos Eduardo Nicola F. Zagari
Advertisements

Sistemas Operacionais
Sistemas Operacionais Sincronismo e Comunicação entre processos
SISTEMAS OPERACIONAIS (SO) Aula 5 Luciana A. F. Martimiano 2002
Sincronização de Processos (1)
Sistemas Operacionais Programação concorrente
Sistema Operacional Sincronização e Comunicação entre Processos
Sistemas operacionais
Sincronismo e Comunicação entre Processos
Sincronismo e Comunicação entre Processos
Programação Concorrente
Arquitetura de Sistemas Operacionais
Adaptado de material da profa. Maria Aparecida Livi
Monitores.
Sistemas Operacionais II
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC SISTEMAS OPERACIONAIS I Aula.
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC SISTEMAS OPERACIONAIS I Aula.
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC SISTEMAS OPERACIONAIS I Turmas.
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC SISTEMAS OPERACIONAIS I Turmas.
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC SISTEMAS OPERACIONAIS I Aulas.
Sincronização de Processos (1)
Sincronização de Processos (3)
Sincronização de Processos (5) - Monitores -
Sincronização de Processos (6) - Troca de Mensagens -
Sincronização de Processos (2)
Algoritmos com seleção
Algoritmos e Estruturas de Dados II
Sincronização e Comunicação entre Processos
e comunicação entre Processos
GAUSS COM PIVOTEAMENTO
Sistemas Operacionais
Exclusão Mútua A solução mais simples para evitar os problemas de compartilhamento é impedir que dois ou mais processos estiver acessando determinado recurso,
Paradigmas de programação
João Lucas de Oliveira Torres
Variáveis, Tipos de Dados e Constantes
Estruturas de Controlo em Pascal
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais – Machado/Maia 10/1 Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 10 Gerência.
FATORAÇÃO LU.
Unidade 3 Controle de Concorrência
MÉTODO JACOBI.
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais
Arquitetura de Sistemas Operacionais
Concorrência STRD.
Introdução a Sistemas Operacionais. SISTEMAS COMPUTACIONAIS HARDWARESOFTWARE USUÁRIOS.
Computação Eletrônica Subprograma. Função O que este programa faz? Program funcao; var n,x: real; begin write('Entre n: '); readln(n); x := cos(n); write(x);
Sistemas Operacionais
Processos.
Capítulo 2 Processos e Threads 2.1 Processos 2.2 Threads
Semáforos n Variáveis compartilhadas são globais n Acesso a variáveis ocorre em procedimentos, mas podem estar espalhados pelo programa n Exige consulta.
Sistemas operacionais
Computação Eletrônica
Técnicas de Programação I
Remote Procedure Call (RPC) e Rendezvous
Video Capítulo 7: Sincronização de Processos. Silberschatz, Galvin and Gagne  Video Operating System Concepts Assuntos n Cenário n O problema.
©André Santos, Concorrência: Sincronização de fina granularidade André Santos CIn-UFPE.
Exclusão Mútua com Espera Ociosa (1)
Programação concorrente:
Sistemas Operacionais Distribuídos
Sistemas Operacionais
Sistemas Operacionais 6º Semestre Aula 6 Prof. Carlos Vinícius SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA.
Comunicação Interprocesso Condições de Disputa (corrida)
Faculdade Pernambucana - FAPE Sistemas Operacionais Prof. Flávio Gonçalves da Rocha.
Sistemas Operacionais Sincronização e Comunicação Introdução Aplicações concorrentes (mecanismos de sincronização: variáveis compartilhadas e troca de.
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Professor: Gustavo Wagner.
ProgramaçãoConcorrente Glêdson Elias
SINCRONIZAÇÃO E COMUNICAÇÃO ENTRE PROCESSOS PROF. HORACIO RIBEIRO Sistemas operacionais.
Arquitetura de Sistemas Operacionais
Transcrição da apresentação:

Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 7 Sincronização e Comunicação entre Processos

Sumário Introdução Aplicações concorrentes Especificação de concorrência em programas Problemas de compartilhamento de recursos Exclusão mútua Sincronização condicional Semáforos Monitores Troca de mensagens Deadlock

Aplicações Concorrentes Sincronização e comunicação entre processos

Especificação de Concorrência em Programas

Especificação de Concorrência em Programas X := SQRT (1024) + (35.4 * 0.23) - (302 / 7) PROGRAM Expressao; VAR X, Temp1, Temp2, Temp3 : REAL; BEGIN PARBEGIN Temp1 := SQRT (1024); Temp2 := 35.4 * 0.23; Temp3 := 302 / 7; PAREND; X := Temp1 + Temp2 - Temp3; WRITELN ('x = ', X); END.

Prob. de Compartilhamento de Recursos PROGRAM Conta_Corrente; . READ (Arq_Contas, Reg_Cliente); READLN (Valor_Dep_Ret); Reg_Cliente.Saldo := Reg_Cliente.Saldo + Valor_Dep_Ret; WRITE (Arq_Contas, Reg_Cliente); END.

Prob. de Compartilhamento de Recursos Processo A Processo B X := X + 1; X := X - 1; Processo A Processo B  LOAD x,Ra LOAD x,Rb ADD 1,Ra SUB 1,Rb STORE Ra,x STORE Rb,x

Exclusão Mútua Região crítica Protocolos de acesso BEGIN . Entra_Regiao_Critica; Regiao_Critica; Sai_Regiao_Critica; END.

Exclusão Mútua Soluções de hardware Desabilitação de interrupções BEGIN . Desabilita_Interrupcoes; Regiao_Critica; Habilita_Interrupcoes; END.

Exclusão Mútua Soluções de hardware Instrução Test-and-Set Test-and-Set (X,Y);

Exclusão Mútua Soluções de software Primeiro algoritmo Segundo algoritmo Terceiro algoritmo Quarto algoritmo Algoritmo de Dekker Algoritmo de Peterson Algoritmo para exclusão mútua entre N processos

Sincronização Condicional PROGRAM Produtor_Consumidor_1; CONST TamBuf = (* Tamanho qualquer *); TYPE Tipo_Dado = (* Tipo qualquer *); VAR Buffer : ARRAY [1..TamBuf] OF Tipo_Dado; Dado : Tipo_Dado; Cont : 0..TamBuf; BEGIN Cont := 0; PARBEGIN Produtor; Consumidor; PAREND; END. 

Sincronização Condicional PROCEDURE Produtor; BEGIN REPEAT Produz_Dado (Dado); WHILE (Cont = TamBuf) DO (* Nao faz nada *); Grava_Buffer (Dado, Cont); UNTIL False; END;   PROCEDURE Consumidor; WHILE (Cont = 0) DO (* Nao faz nada *); Le_Buffer (Dado); Consome_Dado (Dado, Cont);

Semáforos Exclusão mútua utilizando semáforos Sincronização condicional utilizando semáforos Problema dos Filósofos Problema do Barbeiro

Semáforos Semáforo binário na exclusão mútua

Monitores Estrutura do monitor

Monitores Estrutura do monitor com varáveis de condição

Troca de Mensagens Transmissão de mensagem

Troca de Mensagens Comunicação direta

Troca de Mensagens Comunicação indireta

Deadlock Espera circular

Deadlock Condições necessárias Mecanismos Exclusão mútua Espera por recurso Não-preempção Espera circular Mecanismos Prevenção Detecção Correção