Google

domingo, 30 de março de 2008

Exclusão mútua utilizando semáforos

O semáforo é uma variável que fica associada a um recurso compartilhado, indicando quando este está sendo acessado por um outro processo. Ela terá seu valor alterado quando o processo entra e quando sai da região crítica de forma que se um outro processo entrar em sua região critica ele possa checar antes este valor para saber se o recurso esta ou não disponível. Quando o processo tiver seu acesso impedido, ele será colocado em uma fila de espera associada ao semáforo aguardando sua vez de utilizar o recurso. Todos os processos da fila terão acesso ao recurso na ordem de chegada. O semáforo pode ser usado também para implementar sincronizações condicionais. Isto consiste em um processo que necessita ser notificado sobre a ocorrência de um evento. Pode-se usar o semáforo para notificar este processo sobre a ocorrência deste evento.

Outro tipo de semáforo usado é SEMÁFORO CONSUMIDOR onde ele pode informar ao processo se o buffer está cheio ou está vazio.

SEMÁFORO CONTADOR é aquele que notifica os processos sobre o uso dos recursos. Sempre que um processo usa um recurso qualquer, este semáforo é incrementado e sempre que um processo liberar um recurso ele será decrementado. Este semáforo é útil para evitar que um processo entre na região crítica sem que hajam recursos disponíveis no sistema.
Passos para se implementar um semáforo em C/C++ (Posix)
Incluir o header da biblioteca semaphore.
#include <semaphore.h>

Criar o semáforo, neste exemplo chamado de teste;
sem_t teste; 

Inicialização do semáforo
sem_init(&teste, 0, 0);  

Função para (decrementar/aguardar)
sem_wait(&teste);  

Função para (incrementar/liberar)
sem_post(&teste);  

função para apagar o semáforo após a utilização
sem_destroy(&teste);

A funcionamento do semáforo é bastante simples de ser compreendida, se wait = 0 ele bloqueia, senão, libera o acesso. Quem estiver acessando, ou seja pegou o wait = 1, entra na região crítica e bloqueia, deixando wait =0, ao sair do processo, libera incrementando o valor de wait = 0 para 1 , utilizando post.

Exemplo:


void thread1() void thread2()
{ {
sem_wait(&teste); sem_wait(&teste);

regiao_critica; regiao_critica;

sem_post(&teste); sem_post(&teste);
} {

sábado, 29 de março de 2008

Corram!!!! esperamos vocês lá....




Hoje foi um dia todo especial, além do espetáculo realizado pelo verdão, que a cada jogo mostra estar cada vez mais entrosado:





  1. conseguiu antecipadamente a classificação para a próxima fase do paulistão;
  2. essa vitória diante do São Caetano fez o Luxa levar o time aos 12 jogos de invencibilidade, superando Tite, que tinha 11, e a igualar as oito vitórias seguida de Emerson Leão, entre 2005 e 2006;
  3. Pierre marca pela primeira vez e desencanta com a camisa do verdão;
  4. Valdívia completa a partida de número 70 com a camisa do verdão e ainda fazendo gol;
  5. Valdívia toma cartão amarelo e a torcida vibra de alegria hehe....
É a primeira vez que vejo uma coisa dessa, mas de certa forma foi por uma boa causa.....




quinta-feira, 27 de março de 2008

Tu és grande e entre os grandes és o Líder...

Não foi fácil dessa vez, a portuguesa veio pra jogar toda fechada (na retranca mesmo). O palmeiras até que conseguiu boas chances de gol, mas infelizmente foram desperdiçadas. Mas felizmente o Luxa conseguiu mexer bem e o nosso quinto reserva entrou pra fazer a diferença!!! Era pra ser sofrido mas também não precisa ser aos 48 min do término da partida.

É isso mesmo, nosso quinto reserva, esse ano estamos contando com um excelente quadro de jogadores, e não ficamos dependentes apenas de um. Já estou convincente que se não ocorrerem imprevistos (erros de arbitragem) ninguém tira esse título da gente.

Este título será o começo da quebra de jejuns de títulos (só pra tirar a nhaca), com toda a garra demonstrada por todos, teremos muitas alegrias esse ano.





Melhores momentos:







Sábado as 16hs no Palestra Itália iremos enfrentar o São Caetano, outro casca dura, e se conseguirmos a vitória já estaremos automaticamente com a nossa vaga garantida para a próxima fase do campeonato paulista.
E com toda essa motivação do grupo, diretoria e torcida teremos muita força para alcançar mais esse objetivo.

E da-lhe porco....
E da-lhe porco....
E da-lhe porco....

Postagens populares