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 [13/03/2017 alle 18:50 (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 4: Linea 4:
  
 ===== Esercizio 1 ===== ===== Esercizio 1 =====
 +
 +Scrivere uno script bash che prende "k>=2" file testuali in input e appende i primi "k-1" files nel file passato come ultimo argomento (k-esimo).   
 +
 +
 +===== Esercizio 2 =====
  
 Scrivere uno script bash che dati 2 file di testo in input (f1 ed f2) produce il seguente menu di scelta per l'utente:\\ Scrivere uno script bash che dati 2 file di testo in input (f1 ed f2) produce il seguente menu di scelta per l'utente:\\
Linea 13: Linea 18:
 Implementare le 3 opzioni e testare tutti i casi. Per l'opzione 1 chiedere conferma prima della rimozione dei file; per l'opzione 2 utilizzare i comandi ''tar'' e ''gzip'' in pipeline e produrre l'archivio compresso "f1f2.tar.gz". **Non** utilizzare il builtin ''select'' per implementare il menu. Implementare le 3 opzioni e testare tutti i casi. Per l'opzione 1 chiedere conferma prima della rimozione dei file; per l'opzione 2 utilizzare i comandi ''tar'' e ''gzip'' in pipeline e produrre l'archivio compresso "f1f2.tar.gz". **Non** utilizzare il builtin ''select'' per implementare il menu.
  
-===== Esercizio =====+===== Esercizio =====
  
-===== 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.1489431013.txt.gz · Ultima modifica: 13/03/2017 alle 18:50 (8 anni fa) da Massimo Torquati

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki