Você está na página 1de 3

Sincronizao

A sincronizao de processos visa gerenciar o acesso a dados compartilhados, implementando solues que satisfaam os seguintes requisitos.

Excluso Mtua
Se o processo est executado dentro da sua seo crtica, ento nenhum outro processo pode estar executando em sua seo crtica correspondente. Dois processos no podem estar simultaneamente dentro de suas regies crticas correspondentes.

Progresso
Se nenhum processo est executando dentro de sua seo crtica e existem alguns processos que desejam adentrar suas sees crticas, ento a seleo do prximo processo que ir entrar em suas sees crtica no pode ser adiada. Nenhum processo que esteja rodando fora de sua seo crtica pode bloquear a execuo de outro processo.

Espera Limitada
Nenhum processo pode ser obrigado a esperar Indefinidamente para entrar em sua regio crtica. Nenhuma suposio pode ser feita com relao velocidade de execuo dos processos ou ao nmero de processadores disponveis no sistema.

3. MTODOS DE SINCRONIZAO
Os sistemas operacionais modernos, como o Windows XP, permitem a execuo concorrente de vrios processos. Para evitar incoerncias na manipulao dos dados compartilhados por esses ltimos, torna-se necessria implementao de mecanismos que garantam um retorno correto ao acessar determinado endereo lgico.Para isso, deve-se evitar que dois processos acessem ao mesmo tempo algum dado compartilhado, sendo que no caso disso acontecer, um resultado incorreto e aleatrio seria designado no espao da memria em questo. Vamos ver alguns mtodos de Sincronizao.

3.1 BLOQUEIO E DESBLOQUEIO DE PROCESSOS: PRIMITIVASSLEEP/WAKEUP


A ideia desta abordagem bloquear a execuo dosprocessos quando a eles no permitido entrar em suasregies crticas, isto evita o desperdcio de tempo da CPU. Sleep:Bloqueia o processo e espera por uma sinalizao, isto , suspende aexecuo do processo que fez a chamada at que um outro o acorde. Wakeup:Sinaliza (acorda) o processo anteriormente bloqueado por Sleep.

3.2 SEMFOROS
Em 1965 E.W. Dijkstra (1965) props o conceito desemforos como mecanismo bsico parasincronizao entre processos. Seu objetivo coordenar o acesso regio crtica e evitar os problemas que levam a condio de corrida. Esta varivel pode armazenar o valor zero (indicando que nenhum sinal de acordar foi salvo) ou outro valor positivo caso 1 ou mais sinais de acordar estejam pendentes.

3.2.1 COM FILA DE ESPERA(JOCA) 3.2.2 SEM FILA DE ESPERA(JOCA) 3.3 SINCRONIZAO DE LEITORES/ESCRITORES(JOCA) 3.4 SEQLOCKS(ANDRE OU JAPA) 3.5 TEST-AND-SET(ANDRE OU JAPA) 3.6 CONTADOR DE REFERENCIAS(ANDRE OU JAPA) 3.7 LOST WAKEUP(ANDRE OU JAPA) 3.8 TUNDERINGHERD(ANDRE OU JAPA) 3.9 DEADLOCKS(ANDRE OU JAPA)

REFERENCIA BIBLIOGRFICA

Mtodos de Sincronizao, disponvel em: <http://msdn.microsoft.com/ptbr/library/ms123401.aspx>. Acesso em: 05/11/2011 s 17h35min.

Você também pode gostar