EngFrancisco
Membro
Acabei o meu trabalho de SO. Dos mecanismos de comunicação entre processos, que foram sugeridos aqui no fórum:
- FiFOs;
- Filas de mensagens e
- Memória partilhada.
Utilizei FIFOs. A escolha deste mecanismo de comunicação entre processos deve-se à simplicidade e facilidade de ser implementado, como foi referido na bibliografia que consultei, cujo objectivo era perceber a construção de programas concorrentes que utilizem mecanismos de sincronização como semáforos e sinais.
Queria agradecer as dicas do: Mr_Miguel, MadOnion, souto, tekker, caskilhas e zyThuM.
Se quiserem ver o código podem fazer o download em:
http://francisco.medinformatics.eu/drupal/MIEBIOM_SO.zip
Agradecia sugestões para melhorar o código. Só consigo compilar em Mac OS X e não consigo fazê-lo em Linux.
O comando para ligar a impressora é:
$./impressora.out
O comando para mandar alguns ficheiros imprimir é:
$./imprimir.out exemplo1.txt exemplo2.txt & ./imprimir.out exemplo3.txt exemplo4.txt
Depois para remover o semáforo (porque não consegui integrar no código) é necessário o seguinte comando:
$./desligar.out
Cumprimentos,
Francisco.
- FiFOs;
- Filas de mensagens e
- Memória partilhada.
Utilizei FIFOs. A escolha deste mecanismo de comunicação entre processos deve-se à simplicidade e facilidade de ser implementado, como foi referido na bibliografia que consultei, cujo objectivo era perceber a construção de programas concorrentes que utilizem mecanismos de sincronização como semáforos e sinais.
Queria agradecer as dicas do: Mr_Miguel, MadOnion, souto, tekker, caskilhas e zyThuM.
Se quiserem ver o código podem fazer o download em:
http://francisco.medinformatics.eu/drupal/MIEBIOM_SO.zip
Agradecia sugestões para melhorar o código. Só consigo compilar em Mac OS X e não consigo fazê-lo em Linux.
O comando para ligar a impressora é:
$./impressora.out
O comando para mandar alguns ficheiros imprimir é:
$./imprimir.out exemplo1.txt exemplo2.txt & ./imprimir.out exemplo3.txt exemplo4.txt
Depois para remover o semáforo (porque não consegui integrar no código) é necessário o seguinte comando:
$./desligar.out
Cumprimentos,
Francisco.
Última edição: