Pipes
- Crie um programa que crie um processo filho. O processo pai
deve aceitar uma frase e enviá-la ao filho. O filho deve imprimir as palavras
com as letras todas em maiúsculas. Use pipes como forma
de comunicação entre os dois processos.
[Resolução]
- Modifique o programa anterior de forma a que o filho reenvie ao pai
a frase e seja o pai a mostrá-la.
- Crie um programa que aceite dois comandos na linha de comandos, por
exemplo: programa cmd1 cmd2. O programa deverá enviar o
output de cmd1 para o input de cmd2 funcionando
como o "pipe" na linha de comandos: cmd1 | cmd2.
- Dados dois vectores de 1000 posições cada implemente um programa que crie
5 processos para calcularem a sua soma. Cada processo deve calcular 200
posições do resultado. Utilize pipes para resolver o problema.
[Resolução]
- Cada vez mais hipermercados têm à disposição dos seus clientes
dispositivos que permitem saber o preço dum dado produto pelo seu código
de barras. Os dispositivos estão distribuídos pela superfície do
hipermercado, têm um leitor de códigos de barras e um mostrador. O
cliente passa o código de barras do produto no leitor e é mostrado o
nome do produto e respectivo preço. Simule o funcionamento destes
dispositivos usando processos que comunicam via pipes:
- Deve existir um processo central que tem acesso aos códigos de
barras, nomes e preços de todos os produtos.
- O processo central cria um FIFO (named pipe) para o qual
todos os clientes escrevem.
- Os clientes enviam para o processo principal a informação do
código de barras e o nome de um pipe privado ao processo.
- O processo principal depois de obter a informação sobre o produto
em causa envia-a ao processo que a pediu pelo seu pipe privado.
[Resolução]
Voltar
Complementos de Programação
- ISEP 2003