Buscar

Aula_05

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 13 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

*
*
SISTEMAS OPERACIONAIS
SIMONE MARKENSON
Rio de Janeiro, maio de 2011
CONTEÚDO DA AULA
*
CONCEITOS FUNDAMENTAIS
Condição de corrida
	
	Eventos que geram resultados não determinísticos
Região crítica
	
	Parte do código que utiliza recursos compartilhados
Exclusão Mútua
	
	Mecanismo de proteção a uma região crítica
ENTRAR_RC()
 Código da região crítica
SAIR_RC()
*
ENFIM... SOLUÇÕES!
Soluções algorítmicas
Soluções baseadas em hardware
Soluções baseadas no Sistema Operacional
*
Soluções algorítmicas
Processo 0 				Processo 1
while vez = 1 { } 			while vez = 0 { }	
 <RC> 					<RC>
vez= 1 				vez= 0		
Espera ocupada	
Tempo de execução ditado pelo mais lento
Viola regras de exclusão mútua
*
Soluções baseadas em hardware
Inibir interrupções
 Problemas de programação
Não funciona em sistemas multiprocessados
Instruções TSL
 Espera ocupada
Possibilidade de Starvation
*
Soluções baseadas no Sistema Operacional
Monitores
 Depende da linguagem de programação
Troca de Mensagens
 Utilizado em sistemas distribuídos
Semáforos
 Bloqueia os processos que estão aguardando 
*
SEMÁFOROS
Primitivas do Sistema Operacional:
wait (s) 	decrementa o semáforo s; 
		 	se o valor ficar negativo o processo é bloqueado
signal(s)  	incrementa o semáforo s;
			se o valor não ficar positivo o primeiro processo 		é desbloqueado.
Implementação Região Crítica:
		wait(s)
			região crítica
		signal(s)
*
SIMULAÇÃO
wait(s)
	região crítica
signal(s)
Valor inicial: s = 1
wait(s)
decrementa o semáforo s; 	
se o valor ficar negativo o processo é bloqueado.
	P0				P1				P2
Executa wait(s) s=0 
Região Crítica 		Executa wait(s)  s=-1	Executa wait(s)  s=-2
 				BLOQUEIO		BLOQUEIO
		
	
*
SIMULAÇÃO
	P0				P1				P2
Executa wait(s) s=0 
Região Crítica 		Executa wait(s)s=-1	Executa wait(s)  s=-2
 				BLOQUEIO		BLOQUEIO
Executa signal(s)s=-1
Desbloqueia P1		Região Crítica
				Executa signal(s)s=0
				Desbloqueia P2		Região Crítica								Executa signal(s) s=1
		
	
wait(s)
	região crítica
signal(s)
Valor inicial: s = 1
signal(s)
incrementa o semáforo s;
se o valor não ficar positivo o primeiro processo é desbloqueado.	
*
Sincronização: produtor/consumidor
BUFFER INFINITO
Produtor (i) {
while (T) {
	produz_item()
	wait(s)
 	 adiciona_item()
	signal(s)
	signal(n)
 }
}
Consumidor(i) {
 while (T) { 
	wait(n) 
	wait(s) 
	 remove_item()
	signal(s)
	consome_item()
 }
}
Valor inicial: s =	_____	n = ______ 
*
SIMULAÇÃO
*
Sincronização: produtor/consumidor
BUFFER FINITO
Produtor (i) {
while (T) {
	produz_item()
	wait(v)
	wait(s)
 	 adiciona_item()
	signal(s)
	signal(n)
 }
}
Consumidor(i) {
 while (T) { 
	wait(n) 
	wait(s) 
	 remove_item()
	signal(s)
	consome_item()
	signal(v)
 }
}
Valor inicial: s =	_____	n = ______ v= ______ 
*

Outros materiais