Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anterior Revisão anterior Próxima revisão | Revisão anterior | ||
so:filas_de_mensagens_posix [2010/05/21 21:12] – maziero | so:filas_de_mensagens_posix [2011/09/26 22:31] (atual) – [A entregar] maziero | ||
---|---|---|---|
Linha 1: | Linha 1: | ||
+ | ====== Filas de mensagens POSIX ====== | ||
+ | O objetivo deste projeto é usar o mecanismo de filas de mensagens POSIX para construir aplicações comunicantes. | ||
+ | |||
+ | |||
+ | ===== Problema ===== | ||
+ | |||
+ | Construir um sistema com dois processos independentes A e B, onde A sorteia pares de números inteiros aleatórios '' | ||
+ | |||
+ | Comportamento do processo A: | ||
+ | |||
+ | < | ||
+ | estabelece o canal de comunicação | ||
+ | while (true) | ||
+ | { | ||
+ | n1 = random() % 100 | ||
+ | n2 = random() % 100 | ||
+ | envia n1 e n2 a B | ||
+ | | ||
+ | | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Comportamento do processo B: | ||
+ | |||
+ | < | ||
+ | estabelece o canal de comunicação | ||
+ | while (true) | ||
+ | { | ||
+ | | ||
+ | soma = n1 + n2 | ||
+ | | ||
+ | envia soma a A | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ===== Observações ===== | ||
+ | |||
+ | * Este problema deve ser resolvido usando filas de mensagens POSIX ([[http:// | ||
+ | * O primeiro parâmetro da chamada '' | ||
+ | * Escolha identificadores de fila personalizados (por exemplo: '' | ||
+ | |||
+ | ===== Roteiro ===== | ||
+ | |||
+ | - Defina quantas filas serão necessárias para resolver o problema | ||
+ | - Implemente sua solução | ||
+ | - Avalie o comportamento da solução com um processo A e um processo B | ||
+ | - Idem, com dois processos A e um processo B | ||
+ | - Idem, com um processo A e dois processos B | ||
+ | - Idem, com dois processos A e dois processos B | ||
+ | - Se observou problemas nas situações com mais de um processo de cada tipo, qual seria a forma mais adequada de resolvê-los? | ||
+ | |||
+ | ===== A entregar ===== | ||
+ | |||
+ | - Os arquivos '' | ||
+ | - Um relatório sucinto (e no [[teaching: |