PDA

Visualizza la versione completa : [c]Chiamate di sistema di unix


Paoletta_r
11-07-2007, 16:47
Ciao a tutti, sto preparando un esame di sistemi operativi, e ho un tipo di domanda che mi crea piccoli problemi. Provo a passarla a voi magari qualcuno sa darmi una mano.

Si scriva un programma C equivalente al comando di shell
cat /tmp/pippo.txt | wc, utilizzando le chiamate di sistema di
Unix.

Ps consigliatemi dove andare a studiare per rispondere a domande del genere

/dev/null
11-07-2007, 17:16
E' un po' generico: devi usare le chiamate di sistema (syscalls) per cosa? Aprire il file e leggere le linee? In tal caso leggiti `man 3 open` e `man 3 read`.



PS: Credo che la sezione "Programmazione" sia piu' adatta.

Paoletta_r
11-07-2007, 17:31
Questa una domanda tipo dell'esame, di sistemi e se riesco a risolvere questa sono a buon punto...
come faccio ad implementare la pipe?

/dev/null
11-07-2007, 17:35
Ah, cio' che devi fare e' un pipe tra i due processi? Avevo capito che dovevi generare un output uguale a quello generato con quel comando...
Per creare il pipe c'e' la syscall pipe ( `man 3 pipe` ), poi puoi usare dup o meglio dup2 (il manuale ce l'hanno in comune, `man 3 dup2`) per collegarla allo standard input o output, se ti serve.

Paoletta_r
11-07-2007, 17:38
Be effettivamente quello che dovrei fare, cio ottenere lo stesso output ma la fork bene o male ho capito come fare adesso mi mancano i passaggi intermedi..

Loading