Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Sincronização e Comunicação entre Processos: Problemas de Recursos e Deadlock, Notas de aula de Sistemas Operacionais

Este documento aborda os problemas de sincronização e comunicação entre processos, com ênfase nos problemas de compartilhamento de recursos e deadlock. Ele discute a exclusão mútua, a troca de mensagens e os mecanismos oferecidos pelo so para evitar esses problemas. Além disso, são apresentados exemplos de deadlock e soluções para evitar sua ocorrência.

Tipologia: Notas de aula

2020

Compartilhado em 28/05/2020

geyson-maquine-5
geyson-maquine-5 🇧🇷

3 documentos

1 / 102

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Cap. 7 Sincronização e Comunicação 1
Arquitetura de Sistemas
Operacionais
Capítulo 7
Sincronização e Comunicação
entre Processos
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Pré-visualização parcial do texto

Baixe Sincronização e Comunicação entre Processos: Problemas de Recursos e Deadlock e outras Notas de aula em PDF para Sistemas Operacionais, somente na Docsity!

Arquitetura de Sistemas

Operacionais

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

Introdução

  • Década de 1960 surgiram os sistemas

multiprogramáveis

  • Possível partes diferentes do código executarem concorrentemente - Aplicação concorrente : - Execução de múltiplos processos ou threads

Introdução

  • Em sistemas com um processador:
    • Processos alternam sua execução segundo critérios de escalonamento do SO
  • Em sistemas com mais de um

processador:

  • É possível que processos executem em paralelo

Introdução

  • Para evitar problemas os processos

concorrentes devem ter execução

sincronizada

  • Utiliza mecanismos oferecidos pelo SO

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

  • Em uma aplicação concorrente pode ser necessário que os processos se comuniquem
  • Esta comunicação pode ser feita através:
    • Variáveis compartilhadas
    • Troca de mensagens

Aplicações Concorrentes

  • Sincronização e comunicação entre

processos

Processo gravador Processo leitor dado Sincronização leitura gravação Buffer

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

Comandos FORK e JOIN

• FORK: cria processo

• JOIN: sincroniza um processo em

execução com outro

Especificação de Concorrência

em Programas

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, Temp 1 , Temp 2 , Temp 3 : REAL; BEGIN PARBEGIN Temp 1 := SQRT ( 1024 ); Temp 2 := 35. 4 * 0. 23 ; Temp 3 := 302 / 7 ; PAREND; X := Temp 1 + Temp 2 - Temp 3 ; WRITELN ('x = ', X); END.

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

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.