Escolar Documentos
Profissional Documentos
Cultura Documentos
Seo Crtica 1
Informtica UFRGS
Smula
Seo Crtica
Smula conceitos requisitos implementao sem atomicidade implementao com requisito de alternncia implementao para dois processos por software implementao para n processos por hardware (test_and_set)
Seo Crtica 2
Informtica UFRGS
Bibliografia
Bibliografia
Andrews, G. Concurrent Programming - Principles and Practice. The Benjamin/Cummings, Redwood, 1991. Silberschatz, A. and Galvin, P. Operating Systems Concepts. (Fith edition), Reading, MA, Addison-Wesley, 1998. Tanenbaum, A.S. Modern Operating Systems. Englewood Clifss, NJ, Prentice-Hall, 1992.
Seo Crtica 3
Informtica UFRGS
Conceitos
Seo Crtica 4
Informtica UFRGS
Conceitos
Seo Crtica 5
Informtica UFRGS
Conceitos
Conceitos (cont.)
protocolo_de_entrada algoritmo que todo processo executa para entrar na seo crtica usualmente denominado mutexbegin protocolo_de_sada algoritmo que todo processo executa para sair da seo crtica usualmente denominado mutexend Objetivo principal dos protocolos Garantir excluso mtua na execuo da seo crtica
Seo Crtica 6
Informtica UFRGS
Conceitos
Conceitos (cont.)
requisitos do mutexbegin/end excluso mtua: somente um (1) processo na seo crtica progresso: se nenhum processo est na seo crtica, um outro poder entrar espera limitada (ou justa): aps um certo tempo de espera, todo processo consegue entrar na seo crtica tempo limitado pela quantidade de processos que concorrentemente tentam entrar na seo crtica
Seo Crtica 7
Informtica UFRGS
Conceitos
Conceitos (cont.)
requisitos do mutexbegin/end sem hipteses sobre quantidade e velocidades relativas dos processos sem deadlock: se dois (ou mais) processos querem entrar concorrentemente, um entra e os outros esperam
Seo Crtica 8
Informtica UFRGS
Implementaes
Implementaes
algumas implementaes no atendem todos os requisitos por exemplo, vlida somente para 2 processos somente por software: mais complexa e ineficiente uso de recurso de hardware (mais algum sw em geral): mais simples e eficiente
Seo Crtica 9
Informtica UFRGS
Implementao falsa
Implementao falsa
varivel ocupado compartilhada pelos processos boolean ocupado = false % cdigo do procedimento mutexbegin % fica em loop enquanto seo ocupada; % seno, torna-a ocupado mutexbegin { while ocupado do {}; ocupado = true; }; % cdigo do procedimento mutexend % torna seo no ocupada mutexend { ocupado = false; } % inicializado
Seo Crtica 10
Informtica UFRGS
Implementao falsa
Seo Crtica 11
Informtica UFRGS
Seo Crtica 12
Informtica UFRGS
Seo Crtica 13
Informtica UFRGS
Seo Crtica 14
Informtica UFRGS
Seo Crtica 15
Informtica UFRGS
Seo Crtica 16
Informtica UFRGS
Seo Crtica 17
Informtica UFRGS
Informtica UFRGS
Seo Crtica 19
Informtica UFRGS
Seo Crtica 20
Informtica UFRGS
Seo Crtica 21
Informtica UFRGS
Informtica UFRGS
Informtica UFRGS
Seo Crtica 24
Informtica UFRGS
Seo Crtica 25
Informtica UFRGS
Informtica UFRGS
Seo Crtica 27
Informtica UFRGS
Seo Crtica 28
Informtica UFRGS
Seo Crtica 29
Informtica UFRGS
Seo Crtica 30
Informtica UFRGS
Seo Crtica 31
Informtica UFRGS
Seo Crtica 32
Informtica UFRGS
Observaes Gerais
Observaes gerais
uso (funes) limitado: somente excluso mtua no resolve o problema de sincronizao de condio (avisos) mecanismo de baixo nvel uso explcito normalmente implementado por chamada de biblioteca sem verificao pelo compilador
Seo Crtica 33
Informtica UFRGS
Observaes Gerais
Observaes gerais
em caso de uso errado pelo programador por exemplo mutexbegin sem mutexend: todo processo fica bloqueado no mutexbegin sem mutexbegin: dois ou mais processos na seo crtica erros de execuo de difcil deteco em casos de programas mais complexos diversos processos, sees crticas, mutexs, ...
Seo Crtica 34
Informtica UFRGS
Reviso
Reviso
o que uma seo crtica? para que problema de sincronizao servem os mutexs? que requisitos deve atender uma boa implementao de mutex? primeira implementao de mutex (com varivel ocupado) que requisito no atende? porque? segunda implementao de mutex (com turno) que requisito no atende? porque?
Programao concorrente (C. Geyer) Seo Crtica 35
Informtica UFRGS
Reviso
Reviso
terceira implementao de mutex (com turno e vetor de quero) qual requisito no atende? porque? porque resolve problema das solues anteriores?
Seo Crtica 36
Informtica UFRGS
Reviso
Reviso
Implementao com instruo especial de hw Qual a semntica de test-and-set? Porque til na implementao de mutex? Qual modelo (entre os 3 anteriores) de implementao foi usado com test-and-set? Atende quantos processos? Exige alternncia? justa? (sem espera indefinida)
Seo Crtica 37
Informtica UFRGS
Reviso
Reviso
Implementao sem interrupes Como garante excluso mtua? Para quantos processos? justa? Algum requisito adicional no uso? Limitaes do mutex (em geral)?
Seo Crtica 38
This document was created with Win2PDF available at http://www.win2pdf.com. The unregistered version of Win2PDF is for evaluation or non-commercial use only. This page will not be added after purchasing Win2PDF.