Strumenti Utente

Strumenti Sito


informatica:sol:laboratorio17:esercitazionib:esercitazione5

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
informatica:sol:laboratorio17:esercitazionib:esercitazione5 [21/03/2017 alle 17:25 (8 anni fa)] – [Esercizio 1] Massimo Torquatiinformatica:sol:laboratorio17:esercitazionib:esercitazione5 [22/03/2017 alle 06:06 (8 anni fa)] (versione attuale) – [Esercizio 3] Massimo Torquati
Linea 20: Linea 20:
 ===== Esercizio 3 ===== ===== Esercizio 3 =====
  
-===== Chiamate di sistema per accesso a files directories =====+Si consideri il file testuale {{:informatica:sol:laboratorio17:esercitazionib:stats.txt.gz|stats.txt.gz}} (decomprimerlo con ''gunzip'') che riporta alcune statistiche di esecuzione di un dato server.  
 +Scrivere un programma bash che estrae il valore massimo calcola il valore medio dei numeri contenuti nella  colonna 17 del file fornito. 
 + 
  
- +===== Chiamate di sistema per accesso a files =====
-===== Esercizio 3 =====+
  
 ===== Esercizio 4 ===== ===== Esercizio 4 =====
 +
 +Implementare utilizzando le chiamate di sistema ''open'' ''read'' ''write'' ''close'' l'equivalente del comando Unix ''cat'':\\
 +<code>
 + mycat file1 [fileN].
 +</code>
 +
 +===== Esercizio 5 =====
 +
 +Scrivere un programma, utilizzando chiamate di sistema, che implementi l'equivalente del comando Unix ''cp''. Il programma deve accettare 3 argomenti come segue:
 +<code>
 +mycp_sc filein fileout [buffersize]
 +</code>
 +L'argomento 'buffersize' e' la dimensione del buffer da utilizzare per le letture e scritture con le SC ''read'' e ''write'' (se non specificato assegnare un valore di default, es. 256bytes):
 +Realizzare quindi lo stesso programma, utilizzando le chiamate di libreria ''fread'' ed ''fwrite''. Chiamiamo questa seconda versione 'mycp_std'. Confrontare le prestazioni (usando il comando ''time'') del programma 'mycp_sc' e 'mycp_std' al variare del parametro 'buffersize' (provare un po' di casi: 1 4 8 16 32 ..... 8192). Che cosa si nota ?\\
 +
 +** Opzionale (homework) **: scrivere uno script bash che lanciato da una regola del makefile esegue mycp_sc e mycp_std scrivendo i risultati in due file separati. Plottare i dati dello 'user' e 'sys' time con ''gnuplot''
 +
  
informatica/sol/laboratorio17/esercitazionib/esercitazione5.1490117158.txt.gz · Ultima modifica: 21/03/2017 alle 17:25 (8 anni fa) da Massimo Torquati

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki