[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

Re: Ep1



On Mon, 25 Mar 2002, Eduardo Carvalho wrote:

> Temos uma dúvida em relação à alocação de memória para
> cada processo operador.
> 
> Quando um operador inicia, ele tem que encontrar uma posição
> livre na memória compartilhada. Poderia existir um identificador
> que marca qual processo está usando a posição, ou se ela está
> livre. Para ler essa posição, seria necessário implementar
> exclusão mútua. Aí que está o problema: para implementar o
> algoritmo tie-breaker precisamos de um vetor indexado pelos
> números de processos, de 1 a n. Mas os processos não têm
> nenhum número, exceto seu pid.
> 
> Como fazer para atribuir um número aos operadores? Se não for
> possível, estávamos pensando em atribuir um número ao operador
> manualmente, no início do processo. Ou então simplesmente assumir
> que não haverá mais de um operador iniciando ao mesmo tempo, e
> ler um número a partir de uma posição compartilhada. O que é melhor?

Façam o programa operador receber o número do operador na linha de 
comando. Em outras palavras: o número do operador será mais um argumento 
fornecido pelo usuário do programa operador. (Aqui estamos supondo que 
os usuários serão "bem comportados" e nunca colocarão no ar dois 
operadores com o mesmo número.)

Reverbel