SlideShare uma empresa Scribd logo
1 de 48
TADS - SO – Aula 8
Prof. Charles Fortes
chalkmaster@gmail.com
Sistemas Operacionais
Sincronização e Comunicação entre
Processos
2
Atualizando a Turma
3
4
Previously on TADS-SO...
5
Conceitos básicos de SO
O que é um sistema operacional?
É um programa ou conjunto de programas cuja função é gerenciar os recursos do
hardware
Funções básicas
Facilidade de acesso aos recursos do sistema + Compartilhar os recursos de forma
organizada e protegida
6
Conceitos básicos de SO
Hardware e Software são logicamente equivalentes
Sistemas monoprogramáveis executam apenas uma tarefa por vez
Sistemas multiprogramáveis executam várias tarefas “ao mesmo tempo”
Sistemas multiprocessadores possuem vários processadores, além disto podem ser
fortemente ou fracamente acoplados.
7
Conceitos básicos de SO
O Processar é comporto por: Unidade de Controle, Unidade Lógica e Aritmética, e registradores
A memória principal pode ser volátil ou não volátil
Memória secundária é o armazenamento de dados “permanente” e não volátil
A linguagem de máquina é o que o processador realmente entende e está diretamente
ligado a sua arquitetura, que comumente vão ser RISC ou CISC
8
Conceitos básicos de SO
Tradutor: Traduz o programa para linguagem de máquina
Interpretador: Interpreta código direto
Linker: Liga vários módulos como um só
Loader: Carrega o programa na memória
Depurador: Acompanhar a execução de um programa
9
Conceitos básicos de SO
Multiprogramáveis surgiram pela necessidade de usar
melhor os recursos do computador
Ao final de cada instrução, a unidade de controle verifica interrupções e
exceções e as trata
10
Conceitos básicos de SO
Kernel
oferece um conjunto de rotinas e serviços
11
Conceitos básicos de SO
Processos e Threads
Programa
Conjunto de instruções
Processo
um programa em execução
12
Aplicações Concorrentes
13
A aplicação concorrente tem como base a execução cooperativa de múltiplos
processos ou threads que trabalham em uma mesma tarefa na busca de um
resultado comum.
14
Quando temos apenas um processador, o sistema operacional alterna a
execução dos processos segundo os critérios de escalonamento pré-
estabelecidos para ele.
Mesmo não havendo paralelismo real, ainda assim conseguimos
aumento de desempenho.
15
Em uma aplicação concorrente, os
recursos de do sistema são
compartilhados, como E/S, áreas de
memória, arquivos, etc.
Este compartilhamento muitas vezes cria situações
indesejadas, por isto estes processos tem que ter suas
execuções sincronizadas. Estes recursos são oferecidos pelos
sistemas operacionais.
16
Comunicação entre processos
Trocas de mensagens e variáveis compartilhadas
17
Especificação de Concorrência
Comandos Fork e Join
18
Especificação de Concorrência
19
Problemas de Compartilhamento de Recursos
Problema da conta corrente
20
Problemas de Compartilhamento de Recursos
Nem sempre a sai como se parece
21
Problemas de Compartilhamento de Recursos
Nem sempre a sai como se parece
22
Exclusão Mútua
A forma mais eficiente é impedir o acesso simultâneo. Quando
é assim, o acesso a área crítica é feito um bloqueio para
acesso exclusivo
23
No starvation (espera indefinida), um processo nunca
consegue acesso ao recurso compartilhado. Quando um
acaba o SO escolhe quem vai acessar agora, e isto pode fazer
com que seu processo sempre perca pela aleatoriedade ou
por prioridade
Exclusão Mútua
Situações indesejadas
24
A solução seria usar uma fila (FIFO) para controlar as
entradas
Exclusão Mútua
Situações indesejadas
25
Desabilitar as interrupções
Instruções Test-And-Set
Soluções de Hardware
Situações indesejadas
26
Soluções de Hardware
Test-And-Set
27
Soluções de Hardware
Test-And-Set
28
Primeiro Algoritmo
Soluções de Software
Situações indesejadas
29
Segundo Algoritmo
Soluções de Software
Situações indesejadas
30
Terceiro Algoritmo
Soluções de Software
Situações indesejadas
31
Quarto Algoritmo
Soluções de Software
Situações indesejadas
32
Algoritmo de Peterson
Soluções de Software
Situações indesejadas
33
Todos eles tem o problema do busy wait
Soluções de Software
Situações indesejadas
34
Vinculado a uma condição de acesso.
Sincronização Condicional
35
Semáforos
36
DeadLock
37
38
39
Problema dos filósofos
Uma mesa com cinco pratos e cinco garfos, onde os filósofos podem
sentar, comer e pensar. Toda vez que um filósofo para e pensar e deseja
comer, é necessário que ele utilize dois garfos, posicionados a sua direita e sua
esquerda
40
Problema dos filósofos
Soluções
a) Permitir que apenas quatro filósofos sentem a mesa simultaneamente;
b) Permitir que o filósofo pegue um garfo apenas se o outro estiver
disponível;
c) Permitir que um filósofo ímpar pegue primeiro o seu garfo da esquerda
e depois o da direita, enquanto um filósofo par pegue o garfo da direita
e, em seguida, o da esquerda;
41
Exemplo do Barbeiro (problema do barbeiro)
Um barbeiro recebe clientes para cortar cabelo. Na barbearia há uma cadeira
de barbeiro e apenas cinco cadeiras para clientes esperarem. Quando um
cliente chega, caso o barbeiro esteja trabalhando, ele senta se houver cadeira
vazia ou vai embora se todas as cadeiras estiverem ocupadas. No caso de o
barbeiro não ter nenhum cliente para atender, ele senta na cadeira e dorme até
que um novo cliente apareça.
42
Monitores
43
Sincronização condicional entre Monitores
44
Let’s Code
45
Exercício para entregar por e-mail
Enviar para: chalkmaster@gmail.com
Assunto: [TADS_ASO] Exercício Capítulo 7
Prazo limite: 22/05/2014 às 23h59m horário de
Brasília
(valerá o horário que o google marcar como “recebido” no e-mail)
46
Livro texto: Arquitetura de Sistemas Operacionais 4ªed.
Capítulo 7 – Item 7.11 página 131
Questões de 1 a 13 apenas
Se pegar as respostas na internet ou eu receber 2 iguais eu anulo o exercício
Valendo: 1 x
47
Dúvidas?
chalkmaster@gmail.com

Mais conteúdo relacionado

Mais procurados

Sistema de ficheiros
Sistema de ficheirosSistema de ficheiros
Sistema de ficheiros
ATEC
 
Sistemas operativos módulo2 - ms dos
Sistemas operativos   módulo2 -  ms dosSistemas operativos   módulo2 -  ms dos
Sistemas operativos módulo2 - ms dos
teacherpereira
 
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
Computação Depressão
 
2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos
Computação Depressão
 

Mais procurados (20)

Gerência de processos
Gerência de processosGerência de processos
Gerência de processos
 
Apostila 5 processos e threads
Apostila 5   processos e threadsApostila 5   processos e threads
Apostila 5 processos e threads
 
Módulo 3-Sistema Operativo Servidor - V3.pdf
Módulo 3-Sistema Operativo Servidor - V3.pdfMódulo 3-Sistema Operativo Servidor - V3.pdf
Módulo 3-Sistema Operativo Servidor - V3.pdf
 
Aula 15 processadores
Aula 15 processadoresAula 15 processadores
Aula 15 processadores
 
2. conceito de processos
2. conceito de processos2. conceito de processos
2. conceito de processos
 
Sistema de ficheiros
Sistema de ficheirosSistema de ficheiros
Sistema de ficheiros
 
Sistemas operativos trabalho 10ºano
Sistemas operativos trabalho 10ºanoSistemas operativos trabalho 10ºano
Sistemas operativos trabalho 10ºano
 
Gerência de Armazenamento: Implementação do Sistema de Arquivos
Gerência de Armazenamento: Implementação do Sistema de ArquivosGerência de Armazenamento: Implementação do Sistema de Arquivos
Gerência de Armazenamento: Implementação do Sistema de Arquivos
 
Sistemas operativos módulo2 - ms dos
Sistemas operativos   módulo2 -  ms dosSistemas operativos   módulo2 -  ms dos
Sistemas operativos módulo2 - ms dos
 
IMEI Módulo 8 (Curso profissional de Gestão de Equipamentos Informáticos)
IMEI Módulo 8 (Curso profissional de Gestão de Equipamentos Informáticos)IMEI Módulo 8 (Curso profissional de Gestão de Equipamentos Informáticos)
IMEI Módulo 8 (Curso profissional de Gestão de Equipamentos Informáticos)
 
Virtualização - Máquinas Virtuais
Virtualização - Máquinas VirtuaisVirtualização - Máquinas Virtuais
Virtualização - Máquinas Virtuais
 
Virtualização
VirtualizaçãoVirtualização
Virtualização
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
2009 1 - sistemas operacionais - aula 4 - threads e comunicacao entre processos
 
SI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas DistribuidosSI - Introdução a Sistemas Distribuidos
SI - Introdução a Sistemas Distribuidos
 
Aula 2 introdução a sistemas distribuídos
Aula 2   introdução a sistemas distribuídosAula 2   introdução a sistemas distribuídos
Aula 2 introdução a sistemas distribuídos
 
Introdução à Virtualização
Introdução à VirtualizaçãoIntrodução à Virtualização
Introdução à Virtualização
 
2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos2009 1 - sistemas operacionais - aula 3 - processos
2009 1 - sistemas operacionais - aula 3 - processos
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Sistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 DeadlockSistemas Operacionais Modernos Capítulo 3 Deadlock
Sistemas Operacionais Modernos Capítulo 3 Deadlock
 

Destaque

Destaque (20)

PE1 - Revisão e Matéria sobre Laços (FOR, WHILE, DO-WHILE)
PE1 - Revisão e Matéria sobre Laços (FOR, WHILE, DO-WHILE)PE1 - Revisão e Matéria sobre Laços (FOR, WHILE, DO-WHILE)
PE1 - Revisão e Matéria sobre Laços (FOR, WHILE, DO-WHILE)
 
Sistemas Operacionais - Aula 7 - Processos e Threads
Sistemas Operacionais - Aula 7 - Processos e ThreadsSistemas Operacionais - Aula 7 - Processos e Threads
Sistemas Operacionais - Aula 7 - Processos e Threads
 
Conceitos – Do Homem à Máquina
Conceitos – Do Homem à MáquinaConceitos – Do Homem à Máquina
Conceitos – Do Homem à Máquina
 
Programação Estruturada 2 - Revisão C
Programação Estruturada 2 - Revisão CProgramação Estruturada 2 - Revisão C
Programação Estruturada 2 - Revisão C
 
Programação Genetica
Programação GeneticaProgramação Genetica
Programação Genetica
 
PE-I - Apresentação Professor
PE-I - Apresentação ProfessorPE-I - Apresentação Professor
PE-I - Apresentação Professor
 
PE2 - Funções e Structs
PE2 - Funções e StructsPE2 - Funções e Structs
PE2 - Funções e Structs
 
Pitagoras - Introdução a Programação Orientada a Objetos - Conceitos
Pitagoras - Introdução a Programação Orientada a Objetos - ConceitosPitagoras - Introdução a Programação Orientada a Objetos - Conceitos
Pitagoras - Introdução a Programação Orientada a Objetos - Conceitos
 
Pdm -final
Pdm  -finalPdm  -final
Pdm -final
 
IA - Apresentação do Professor
IA - Apresentação do ProfessorIA - Apresentação do Professor
IA - Apresentação do Professor
 
Pitagoras - Introdução a Programação Orientada a Objetos - Revisão Final
Pitagoras - Introdução a Programação Orientada a Objetos - Revisão FinalPitagoras - Introdução a Programação Orientada a Objetos - Revisão Final
Pitagoras - Introdução a Programação Orientada a Objetos - Revisão Final
 
Sistemas Operacionais - Aula 9 - Gerencia de Recursos
Sistemas Operacionais - Aula 9 - Gerencia de RecursosSistemas Operacionais - Aula 9 - Gerencia de Recursos
Sistemas Operacionais - Aula 9 - Gerencia de Recursos
 
LPC - aula 1 - Introdução .NET
LPC  - aula 1 - Introdução .NETLPC  - aula 1 - Introdução .NET
LPC - aula 1 - Introdução .NET
 
Programação Estruturada 2 - Apresentação do Professor
Programação Estruturada 2 - Apresentação do ProfessorProgramação Estruturada 2 - Apresentação do Professor
Programação Estruturada 2 - Apresentação do Professor
 
PE1 - Comandos de Decisão
PE1 - Comandos de DecisãoPE1 - Comandos de Decisão
PE1 - Comandos de Decisão
 
Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...
Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...
Pitagoras - Introdução a Programação Orientada a Objetos - Encapsulamento, Ac...
 
LPC - Apresentação do Professor
LPC - Apresentação do ProfessorLPC - Apresentação do Professor
LPC - Apresentação do Professor
 
inteligência artificial - fuzzy - mineração
inteligência artificial - fuzzy - mineraçãointeligência artificial - fuzzy - mineração
inteligência artificial - fuzzy - mineração
 
IA - Introdução Inteligência Artificial
IA - Introdução Inteligência ArtificialIA - Introdução Inteligência Artificial
IA - Introdução Inteligência Artificial
 
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas OperacionaisSistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
Sistemas Operacionais - Aula 2 - Visão Geral de Sistemas Operacionais
 

Semelhante a Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos

Hierarquia de memória
Hierarquia de memóriaHierarquia de memória
Hierarquia de memória
PAULO Moreira
 
Sincronização e comunicação entre processos
Sincronização e comunicação entre processosSincronização e comunicação entre processos
Sincronização e comunicação entre processos
Amedy Caisse
 

Semelhante a Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos (20)

Sistemas Operacionais - Aula 3 - Hardware e Software
Sistemas Operacionais - Aula 3 - Hardware e SoftwareSistemas Operacionais - Aula 3 - Hardware e Software
Sistemas Operacionais - Aula 3 - Hardware e Software
 
Sistemas Operacionais - Aula 5 - Concorrência
Sistemas Operacionais - Aula 5 - ConcorrênciaSistemas Operacionais - Aula 5 - Concorrência
Sistemas Operacionais - Aula 5 - Concorrência
 
Aula 11,12,13,14...
Aula 11,12,13,14...Aula 11,12,13,14...
Aula 11,12,13,14...
 
1ª aula sistema operacional
1ª aula  sistema operacional1ª aula  sistema operacional
1ª aula sistema operacional
 
Processamento.pptx
Processamento.pptxProcessamento.pptx
Processamento.pptx
 
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e ExercíciosSistemas Operacionais - Aula 4 - Revisão e Exercícios
Sistemas Operacionais - Aula 4 - Revisão e Exercícios
 
Curso openmp
Curso openmpCurso openmp
Curso openmp
 
INTRODUÇÃO AO DESENVOLVIMENTO DE EXPLOITS.pdf
INTRODUÇÃO AO DESENVOLVIMENTO DE EXPLOITS.pdfINTRODUÇÃO AO DESENVOLVIMENTO DE EXPLOITS.pdf
INTRODUÇÃO AO DESENVOLVIMENTO DE EXPLOITS.pdf
 
Memória Interna (AOC)
Memória Interna (AOC)Memória Interna (AOC)
Memória Interna (AOC)
 
Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)
 
Problemas clássicos de comunicação interprocessos
Problemas clássicos de comunicação interprocessosProblemas clássicos de comunicação interprocessos
Problemas clássicos de comunicação interprocessos
 
Aula 1
Aula 1Aula 1
Aula 1
 
Sistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
Sistemas Operacionais - Aula 6 - Estrutura do Sistema OperacionalSistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
Sistemas Operacionais - Aula 6 - Estrutura do Sistema Operacional
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Trabalho de sd
Trabalho de sdTrabalho de sd
Trabalho de sd
 
Conceitos básicos de sistemas operacionais
Conceitos básicos de sistemas operacionaisConceitos básicos de sistemas operacionais
Conceitos básicos de sistemas operacionais
 
Hierarquia de memória
Hierarquia de memóriaHierarquia de memória
Hierarquia de memória
 
Sincronização e comunicação entre processos
Sincronização e comunicação entre processosSincronização e comunicação entre processos
Sincronização e comunicação entre processos
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Gerenciamento memoria
Gerenciamento memoriaGerenciamento memoria
Gerenciamento memoria
 

Mais de Charles Fortes (6)

Acesso a banco de dados com entity framework
Acesso a banco de dados com entity frameworkAcesso a banco de dados com entity framework
Acesso a banco de dados com entity framework
 
Introdução a Desenvolvimento de Jogos HTML 5 para Windows 8 com Html5Quintus
Introdução a Desenvolvimento de Jogos HTML 5 para Windows 8 com Html5QuintusIntrodução a Desenvolvimento de Jogos HTML 5 para Windows 8 com Html5Quintus
Introdução a Desenvolvimento de Jogos HTML 5 para Windows 8 com Html5Quintus
 
Economia global: França e Inglaterra
Economia global: França e InglaterraEconomia global: França e Inglaterra
Economia global: França e Inglaterra
 
Sistemas Operacionais - Aula 1 - História e Introdução a SO
Sistemas Operacionais - Aula 1 - História e Introdução a SOSistemas Operacionais - Aula 1 - História e Introdução a SO
Sistemas Operacionais - Aula 1 - História e Introdução a SO
 
Apresentação prof e materia
Apresentação prof e materiaApresentação prof e materia
Apresentação prof e materia
 
Desenvolvimento de software seguro
Desenvolvimento de software seguroDesenvolvimento de software seguro
Desenvolvimento de software seguro
 

Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos