Universidade Estadual de Gois UNU Rio Das Pedras - Itabera
Alunas: Bruna Caroline de Oliveira e Neyrielle Albuquerque .
Pesquisa , Imagem do Wordle e Resumo : Regies Criticas (S.O)
Regio crtica Em programao concorrente, uma regio crtica - tambm conhecida por seo crtica ou seco crtica - uma rea de cdigo de um algoritmo que acede um recurso compartilhado que no pode ser acedido concorrentemente por mais de uma linha de execuo. O objetivo tornar a operao sobre o recurso compartilhado atmica. Uma regio crtica geralmente termina num tempo especfico, e uma linha de execuo ou processo s precisa esperar um tempo especfico para entr-la. Algum mecanismo de sincronizao necessrio para implementar a entrada e a sada duma regio crtica para assegurar o uso exclusivo, como por exemplo um semforo. O acesso concorrente pode ser evitado ao controlar cuidadosamente quais variveis so modificadas dentro e fora a regio crtica. Uma regio crtica geralmente usada quando um programa multitarefa deve atualizar diversas variveis relacionadas sem que outra linha de execuo faa modificaes conflitantes nos dados. Numa situao relacionada, uma regio crtica tambm pode ser usada para assegurar que um recurso compartilhado como uma impressora seja acedido por somente um processo a cada vez. A definio da regio crtica importante para a implementao de excluso mtua, usada para evitar condies de corrida.
Implementao
A forma de implementao de uma regio crtica pode variar para cada sistema. O mtodo mais simples prevenir qualquer mudana de controle do processador dentro de uma regio crtica. Em sistemas com somente um processador, isso pode ser feito desabilitando as interrupes na entrada da regio crtica, evitando chamadas de sistema que causem troca de contexto. No final da regio crtica, as interrupes so habilitadas novamente. Com essa implementao, qualquer linha de execuo entrando em uma regio crtica prevenir outra linha de execuo ou interrupo de usar a CPU, at que a linha de execuo saia da regio crtica. A desabilitaro de interrupes s funciona no processador relacionado ao processo, entretanto, a mquina pode conter mais de um processador. No boa prtica permitir a inibio de interrupes em modo usurio. Essa abordagem bruta pode ser melhorada usando semforos. Para entrar numa regio crtica, uma linha de execuo deve obter um semforo, que ser descartado na sada da regio crtica. Cada recurso compartilhado, ou um conjunto de recursos compartilhados em comum, possui um semforo prprio. Qualquer outra linha de execuo dever esperar para entrar numa regio crtica em uso, mas poder usar a CPU para executar qualquer outro cdigo, incluindo regies crticas protegidas por outro semforo. Em modo usurio, regies crticas de aplicaes residem na rea de RAM dos respectivos processos e so modificadas geralmente pelos prprios processos. J em modo ncleo, as regies crticas geralmente bloqueiam a perceptividade. Qualquer interrupo que ocorre numa regio crtica salva para processamento futuro. Nesse caso, as regies crticas devem ser curtas o suficiente para permitir a volta da perceptividade.
Exemplo Supondo a com valor inicial 60 e a seguinte linha de tempo T0: Thread0 executa load a e perde o processador: o valor do acumulador (60) salvo. T1: Thread1 ganha o processador e executa load a: o valor do acumulador 60 . T2: Thread1 executa add 2: o valor do acumulador 62. T3: Thread1 executa store a: o valor do acumulador armazenado na varivel. T4: Thread0 ganha o processador, o valor do acumulador restaurado (60) e executa a operao add 5: o valor do acumulador passa a ser 65. T5: Thread0 executa store a o valor do acumulador armazenado na varivel a (60).
Soluo para o problema Emprego de protocolos de entrada e sada na regio crtica Sinaliza-se a entrada na regio crtica Opera-se sobre a regio crtica Sinaliza-se a sada da regio crtica A abordagem deve garantir que Ao entrar, somente 1 processo execute/acesse a regio crtica Ao sair, permite que outro processo entre na seo crtica
Wordle : Sobre Regies Criticas (Imagem do Wordle caso no consiga acessar pelo Link) http://www.wordle.net/gallery?username=Bruna%20%20Caroline%20e% 20Neyrielle%20Albuquerque
Resumo Regies Criticas
Regies Criticas so trechos de programas onde ocorre o compartilhamento de dados com outros processos. E para evita a disputa, estas reas so monitoradas a todo momento, para evitar que dois processos estejam na mesma Regio Critica. Uma regio crtica tem um tempo especfico para terminar , e uma linha de execuo ou processo s precisa esperar um tempo especfico para entr-la. Para ter um tipo de sincronizao necessrio implementar a entrada e a sada de uma regio crtica para assegurar o uso exclusivo. Geralmente a regio critica e usada quando uma multitarefa vai utiliza varias variveis relacionados sem essa outra linha de execuo pode ocorrer modificaes conflitantes nos dados. Em uma situao parecida quando uma impressora esta em processo, ela s imprime uma folha de cada vez , evitando conflitos entre tarefas. A implementao de uma regio crtica pode variar para cada sistema, o mtodo mais simples prevenir qualquer mudana de controle do processador dentro de uma regio crtica. Assim facilitando a troca e o andamento dos processos da regio critica .