Go backward to Mensagens em Mach
Go up to IPC em Mach
Go forward to Passagem de Mensagens em Mach
Implementação de Portas em Mach
Portas são filas protegidas de mensagens:
- Cada porta é representada por uma estrutura de dados no
kernel. Cada task pode ter no máximo um nome para uma porta, que
é um inteiro (semelhante a Unix fd).
- A estrutura de dados para uma porta contém contador de
referências para a porta, ptr para a task que tem direitos de
recepcão, nome local no receptor, ptr para porta backup, dbl lista
de mensagens, fila de emissores bloqueados, fila de threads
receptores bloqueados, lista de todas as traduções, ptr para um
"port set", núm. de mensagens na fila, núm max. permitido.
- Traduções podem ser acedidas por send <task,local_name> ou
por rcv como <task,port>. Tasks tb tem que ser capazes de
encontrar todos os direitos para a porta quando ela é dealocada.
Finalmente, direitos têm que ser limpos quando a porta é destruída.
vitor@cos.ufrj.br