Você está na página 1de 6

UNIVERSIDADE ESTADUAL DE GOIS

UNIDADE UNIVERSITRIA DE ITABERA

















REGIES CRTICAS EM SISTEMAS OPERACIONAIS













ITABERA
2014
MATEUS MORAIS MESQUITA
RENATA SOUZA SILVA











REGIES CRTICAS EM SISTEMAS OPERACIONAIS



Trabalho no curso de Sistemas de Informao da
Universidade Estadual de Gois, Unidade
Universitria de Itabera, para obteno de nota na
disciplina de Sistemas Operacionais, sob orientao
do Prof. Khyquer Ronaldy de Oliveira Camargo.









ITABERA
2014
Regies crticas em Sistemas Operacionais

Regio crtica

Regio crtica uma regio de memria compartilhada que acessa um recurso
que est compartilhado e que no possa ser acessado concorrentemente por mais de
uma linha de execuo. 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 de uma regio crtica para assegurar o uso exclusivo.

Exemplo de uma regio crtica.

Durante uma chamada de um sistema um processo pode ter acesso a uma
tabela mantida pelo ncleo. O ncleo deve ento inibir a comutao da CPU para outro
processo at que todas as operaes na tabela sejam alteradas, caso ocorra o
contrrio esta tabela poder assumir um estado de inconsistncia de dados, onde
apenas algumas alteraes foram processadas.
Neste tipo de situao a tabela passa a ser definida como um recurso compartilhado,
sendo a parte do cdigo que a manipula a regio critica. Toda execuo de uma regio
critica deve ser controlada a fim de que os recursos compartilhados no atinjam
inconsistncia.

Prevenindo problemas em regies criticas

Para evitar problemas com regies crticas, necessrio proibir que mais de um
processo leia ou escreva dados compartilhados ao mesmo, devendo-se garantir a
mltipla excluso.se for garantido que nenhum par de processos estejam executando
ao mesmo tempo uma regio critica delimitando um mesmo recurso compartilhado,
inconsistncias so evitadas.
Embora usando esta tcnica evite inconsistncias, isso no garante eficincia na
utilizao de recursos compartilhados. Para se assegurar uma boa soluo,
necessrio que:






Dois processos no estejam simultaneamente dentro de suas regies
crticas referentes ao mesmo recurso compartilhado (garantia de mtua
excluso);
A garantia de mtua excluso se d independente da velocidade relativa
dos processos ou nmero de CPUs;
Nenhum processo executando fora de regies crticas bloqueie outro
processo;
Nenhum processo espere um tempo arbitrariamente longo para executar
uma regio crtica.

Algoritmos de controle de regies crticas

Existem vrios algoritmos de controle visando garantir as propriedades citadas a
cima. Estes algoritmos so classificados de acordo com o modo que esperam pela
autorizao de entrada em uma regio crtica: espera ocupada (competindo pela CPU
durante a espera) ou bloqueada (no competindo pela CPU)
Todo algoritmo de mtua excluso possui, invariavelmente, duas partes
(implementadas como duas funes distintas). A primeira funo evocada quando o
processo deseja iniciar a execuo de uma regio crtica. Quando esta funo retorna,
o processo est apto a executar a regio crtica. No final da execuo, o processo
evoca a segunda funo, anunciando que a regio crtica j foi executada. Esta
segunda funo, via de regra, provoca o retorno da primeira funo em outro processo.
Para permitir que regies crticas que acessam recursos compartilhados
distintos possam ser executadas ao mesmo tempo, cada recurso compartilhado possui
um identificador (normalmente um valor inteiro). Assim sendo, as duas funes que
compem o algoritmo de garantia de mtua excluso possuem este identicador como
parmetro

Mtua Excluso Com Espera Ocupada

Nesta seo analisaremos algumas propostas para garantir excluso mtua nas
regies crticas, no permitindo que mais de um processo possa manipular um recurso
compartilhado ao mesmo tempo. Em todas, o processo que est tentando acessar uma
regio crtica em execuo por outro processo permanece em espera ocupada, isto ,
competindo pela CPU mas sem avanar no seu processamento. Por esta razo, os
mtodos que empregam espera bloqueada so os mais utilizados na prtica.





Desabilitar Interrupes

A soluo mais simples o mtodo de desabilitar todas as interrupes quando
se est entrando na regio crtica, e reabilit-las ao sair. Esta proposta no muito
atrativa, pois d ao processo usurio poder de desabilitar todas as interrupes,
inclusive aquelas que permitem o ncleo reassumir a CPU. Caso o processo no as
reabilite por algum motivo, o sistema operacional jamais reassume o controle do
hardware.
Em outro aspecto, conveniente para o sistema operacional desabilitar
interrupes durante algumas instrues, enquanto est atualizando variveis internas.
Assim, desabilitar interrupes uma soluo til para o sistema operacional, no para
processos de aplicao.

Variveis LOCK

Uma segunda tentativa leva-nos a uma soluo por software. Considere uma
varivel simples e compartilhada3 LOCK, inicialmente igual a 0. Quando um processo
deseja entrar em sua regio crtica ele primeiro testa o LOCK. Se for 0, o processo
altera para 1 e executa a regio crtica. Se for 1 ele espera at que seja 0.

Alternncia Estrita

Esta proposta define uma varivel TURN, inicialmente 0. Ela indica quem deve
esperar e quem pode entrar na seo crtica. Se TURN for 0, o processo 0 pode entrar
na regio crtica. Ao sair, deve passar o valor de TURN para 1. Quando TURN 1 o
processo 1 pode entrar na seo crtica. Ao sair passa o valor de TURN para 04.
Este algoritmo garante a mtua excluso. Entretanto, os processos estritamente
se alternam. Na posse do recurso compartilhado. Isto faz com que um processo
necessite aguardar o acesso a um recurso compartilhado por todos os demais at que
chegue novamente a sua vez.

Soluo de Peterson

Obtida pela combinao das ideias de variveis LOCK e TURN, criando-se
tambm uma soluo por software para o problema. Esta soluo evita os problemas
individuais das solues anteriores, mas pouco utilizada na prtica por utilizar espera
ocupada.




REFERNCIAS

FAINA, Lus F. Introduo aos Sistemas Operacionais. {online}. Disponvel na
internet via http://www.dca.fee.unicamp.br/~eleri/ea876/02/so-apst.pdf. Arquivo
capturado em 15 de set. 2014.

REGIO CRTICA. In: WIKIPDIA, a enciclopdia livre. Flrida: Wikimedia Foundation,
2014. Disponvel em:
http://pt.wikipedia.org/w/index.php?title=Regi%C3%A3o_cr%C3%ADtica&oldid=38076783.
Acesso em: 19 set. 2014.

FUNDAMENTOS DE SISTEMAS OPERACIONAIS. Regies Crticas e Excluso Mtua.
{online}. Disponvel na internet via http://cioseducando.blogspot.com.br/2011/06/regioes-
criticas-e-exclusao-mutua.html. Arquivo capturado em 16 set. 2014.

Você também pode gostar