UNIVERSIDADE ESTADUAL DE GOIASUNIDADE UNIVERSITARIA DE POSSESemaforoQuandose trata do termo semaforo em informatica, equivale que o mesmo possui um papelfundamental de suma importancia na sincronizacao entre processos, no artigo de Pereira[1],postado no dia 21 de setembro de 2005 ele exemplifica com detalhes seu funcionamentoe faz a seguinte citacao: E ai que entram nossos sinalizadores, vulgosemaforos. Com eles, e possivel acesso controladoa processos, de forma que so havera disponibilidadequando a operacao em andamento for finalizada[...](Pereira, 2005).Para a confirmacao deste,Tanenbaum[2] nos diz que: Garante-se que, uma iniciada uma operacaode semaforo, nenhum outro processo pode ter acesso ao semaforo ate que aoperacao tenha terminado ou sido bloqueada[...]. Sendo assim, vale ressaltar oquanto e a importancia do semaforo.No artigo, Pereira da iniciodando um exemplo onde ocorre a necessidade da utilizacao do semaforo, onde quedois ou mais processos possam esta tentando acessar o mesmo recurso, cabendo afuncao do semaforo controlar a situacao. Maspara a realizacao desse evento, tem de haver uma comunicacao entre os processospara que o semaforo possa dar a proxima instrucao ao processador para que sejaexecutada, ocompartilhamento dessas threadspode ser chamado filas de mensagens,processos ou memoria compartilhada. Nodecorrer do artigo, Pereira enfatiza que o semaforo e o responsavel pelocontrole de acesso aos recursos compartilhados, no entanto ele poderia ser maisesclarecedor em seu texto, dando uma explicacao proxima da realidade para quealguns leigos no assunto possam entender seu artigo com mais clareza.Umfato disso, seria um exemplo de uma impressora que so admite cinco impressoessimultaneas, entao temos de assegurar que em cada instante existem no maximocinco processos a imprimir ficando os outros a espera para imprimir. Pereiratambem deixa algo importante ao nao ser mencionado em seu texto, ele explicaquando um semaforo e utilizado, seu funcionamento e entre outros, mas nao falanada sobre os problemas que pode vim a acontecer com o semaforo, ja que o mesmotambem esta sujeitado a ocorrer falhas. Umexemplo dessa situacao e uma tarefa dealta prioridade que e obrigada a esperar porque uma tarefa de baixa prioridadebloqueou um semaforo, se uma tarefa de baixa prioridade bloquear um semaforo,impede que uma tarefa que verifica o estado desse semaforo seja executada mesmosendo de prioridade superior. Essasoperacoes de acesso aos semaforos sao geralmente implementadas pelo nucleo dosistema operacional, na forma de chamadas de sistema, e importante falar que aexecucao dessas operacoes deve ser atomica, ou seja, nao devem ocorrer acessosconcorrentes as variaveis internas do semaforo, para evitar condicoes dedisputa sobre as mesmas.Visandoo texto Pereira, saliento que ele deveria ter ido mais alem em suas explicacoesmencionando alguns desses argumentos em seu texto, pois estes servem para da umaimplementacao e um entendimento a mais sobre o assunto de semaforo. Sobreo artigo apresentado do autor Pereira, recomendo essa obra para todas as pessoasem especial aos alunos voltados a disciplina de Sistemas Operacionais, com aleitura da para compreender um pouco a mais sobre semaforos e seus principais conceitos. Mailson Junior Ferreira da Costa academico doCurso de Sistemas de Informacao da Universidade Universitaria Estadual deGoias, Unidade de Posse. Referencias:[1] Pereira, JAIRO. WILLIAN.(2005) Semaforos, Kernel,Memoria Compartilhada e Cia Disponivel em <http://www.dicas.com.br/arquivo/semaforos_kernel_memoria_compartilhada_e_cia.php#.T-NbTt3TmVI>.Acessado em 26 de junho de 2012.[2] Tanenbaum, Andrew S. Sistemas Operacionais Modernos,3.