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:26 (8 anni fa)] Massimo Torquatiinformatica:sol:laboratorio17:esercitazionib:esercitazione5 [22/03/2017 alle 06:06 (8 anni fa)] (versione attuale) – [Esercizio 3] Massimo Torquati
Linea 19: Linea 19:
  
 ===== Esercizio 3 ===== ===== Esercizio 3 =====
 +
 +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 e calcola il valore medio dei numeri contenuti nella  colonna 17 del file fornito.
 + 
  
 ===== Chiamate di sistema per accesso a files ===== ===== Chiamate di sistema per accesso a files =====
  
 +===== Esercizio 4 =====
  
-===== Esercizio =====+Implementare utilizzando le chiamate di sistema ''open'' ''read'' ''write'' ''close'' l'equivalente del comando Unix ''cat'':\\ 
 +<code> 
 + mycat file1 [fileN]. 
 +</code> 
 + 
 +===== Esercizio ===== 
 + 
 +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''
  
-===== Esercizio 4 ===== 
  
informatica/sol/laboratorio17/esercitazionib/esercitazione5.1490117204.txt.gz · Ultima modifica: 21/03/2017 alle 17:26 (8 anni fa) da Massimo Torquati

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki