[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico]
[Índice de assunto]
Dúvidas de Shared Memory
- Subject: Dúvidas de Shared Memory
- From: Nelson Guedes Paulo Junior <npaulo@linux.ime.usp.br>
- Date: Tue, 2 Apr 2002 09:25:39 -0300 (BRT)
Nos exemplos que vem junto com o enunciado do EP (ex1.c e ex2.c), pelo que
eu entendi, rodamos ex1 e depois rodamos ex2. Em ex2 é executado
shmctl(shmid, IPC_RMID, 0 ) para "destruir" a área de memoria
compartilhada assim que todos os processos realizarem um shmdt nessa área
enquanto que o processo ex1 apenas realiza o shmdt na area compartilhada.
No nosso caso, criaremos o processo supervisor que deverá criar as áreas
de memória compartilhada e que deverão ser destruidas quando este sair
(executando o shmctl com o comando IPC_RMID) certo? E
os processos operadores deverão apenas executar o shmdt sobre a área
certo? Agora, o processo supervisor também deve executar um shmdt antes do
shmctl???? Me parece que não, mas não tenho certeza.
Outra dúvida é no fato de que quando o processo supervisor estiver "fora
do ar" ou for morto, ou finalizado, não tem mais sentido existirem os
processos operadores, então o que podemos fazer? Poderíamos mandar um
sinaol para cada um deles, mas desta forma teríamos que saber qual é o PID
de cada um desses processos. Como podemos saber isso?
[]'s
-----
Nelson Guedes Paulo Junior
E-mail: <npaulo@linux.ime.usp.br> UIN: 2489382 (Tender [:alpha:]*)
"LAPTOPirose é a doença causada pela urina do mouse"