Baixe o app para aproveitar ainda mais
Prévia do material em texto
Sistemas Operacionais LEITORES E ESCRITORES 1 ● O problema dos Leitores e Escritores trata a situação em que várias threads devem acessar a mesma memória compartilhada. Alguns para ler e outros para escrever. LEITORES E ESCRITORES 2 FUNCIONAMENTO FUNCIONAMENTO 3 FUNCIONAMENTO FUNCIONAMENTO 4 RESTRIÇÕES ● Contudo, existem algumas restrições para realizarmos a leitura e escrita: - Enquanto um processo estiver escrevendo, nenhum outro processo pode acessar este espaço de memória. - Enquanto um processo estiver lendo, somente processos querendo ler podem acessar este espaço de memória. 5 TIPOS DE PRIORIZAÇÃPO Existem três tipos de soluções para esse problema de sincronização: - Priorização dos leitores: sempre que um leitor quiser ler e não houver escritor escrevendo (pode haver escritor esperando), ele tem acesso à fila. Nesta solução, um escritor pode ter de esperar indefinidamente (inanição, ou starvation), pois novos leitores sempre chegam. - Priorização dos escritores: quando um escritor desejar escrever, mais nenhum leitor pode fazer leituras enquanto o escritor não for atendido. Nesta solução, um leitor pode ter de esperar indefinidamente (inanição), pois novos escritores sempre chegam. - Prioridades iguais: não há risco de inanição, pois leitores e escritores têm as mesmas chances de acesso à fila; pode haver uma queda de desempenho em relação às soluções anteriores. 6 OBSERVAÇÕES Observe que não há condição de disputa quando somente threads leitoras acessam a fila, pois as leituras não a modificam e podem ser simultâneas. Os acessos simultâneos permitem um maior desempenho em leitura. No entanto, uma thread escritora deve ter acesso exclusivo à fila para fazer suas modificações, sem acessos concorrentes de outras threads, sejam leitoras ou escritoras, para evitar condições de disputa. 7 CREDITS: This presentation template was created by Slidesgo, including icons by Flaticon, and infographics & images by Freepik OBRIGADO ● @TAINAN_BRENNO ● @ARDURTUART ● @IGOR_SAMPAB ● @VERONICACLHO PARTICIPANTES: 8 SLIDES BY TAINAN BRENO http://bit.ly/2Tynxth http://bit.ly/2TyoMsr http://bit.ly/2TtBDfr • http://wiki.inf.ufpr.br/maziero/doku.php ?id=so:leitores_escritores. • Wiki.icmc.usp.br • Wiki.inf.ufpr.br REFERÊNCIAS 9 http://wiki.inf.ufpr.br/maziero/doku.php?id=so:leitores_escritores
Compartilhar