next up previous
Next: Um ``Empurrão Inicial'' Up: ep1 Previous: ep1

O problema

Neste exercício trabalharemos com uma simulação simplória de um sistema de atendimento ao cliente (SAC, ou call center). A nossa simulação incluirá apenas os seguintes aspectos, ambos relacionados com o acompanhamento da carga no call center: o número de chamadas em atendimento em um dado instante e o histórico diário de atendimento para cada um dos operadores que atendem a chamadas.

Nosso modelo de simulação é composto por dois programas: um programa chamado operador e um programa chamado supervisor. Esses dois programas interagem com o usuário da simulação através da entrada e da saída padrão.

O programa operador modela um atendente do call center. Ele lê a entrada padrão e interpreta os seguintes comandos:

Quaisquer outros comandos devem ser ignorados pelo programa operador.

O programa supervisor não aceita comandos do usuário via entrada padrão. Ele imprime regularmente as seguintes informações na saída padrão:

  1. o número de chamadas em andamento no sistema como um todo (isto é, o total de chamadas sendo atendidas pelos vários operadores ativos) e o número de chamadas já concluídas pelo sistema como um todo;
  2. o número de chamadas sendo atendidas e o número de chamadas já concluídas por operador. Em outras palavras: para cada um dos operadores ativos, deve ser impresso o número de chamadas que esse operador está atendendo no momento e o número de chamadas cujo atendimento foi concluído pelo operador.
A impressão dessas informações é feita a cada n segundos, onde n é um argumento fornecido (na linha de comando) pelo usuário do programa supervisor.

Ambos os programas iniciam seu trabalho imprimindo sua identificação, isto é, o número do processo em execução (veja a man page para getpid). Para executar o programa operador, o usuário precisa conhecer a identificação do supervisor correspondente. Essa identificação é um argumento fornecido (na linha de comando) pelo usuário do programa programa operador.


next up previous
Next: Um ``Empurrão Inicial'' Up: ep1 Previous: ep1
Francisco Reverbel
2002-03-19