11.07.2015 Views

Amministrare GNU/Linux - Cia

Amministrare GNU/Linux - Cia

Amministrare GNU/Linux - Cia

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

92 CAPITOLO 2. LA SHELL E I COMANDIraccolgono una serie di riposte alla domande più ricorrenti, onde evitare di ripetere domandebanali che non sarebbero accolte molto amichevolmente.Infine l’utilizzo dei motori di ricerca è un ottimo sistema per recuperare le informazionipubblicate su internet. Fra queste troverete le versioni pubblicate degli HOWTO e delle FAQ(anche se queste vengono spesso distribuite come documentazione nel sistema, non è detto chesiano complete o aggiornate) ma anche altre risorse come le annotazioni ed i log lasciati ininnumerevoli pagine web e gli archivi delle liste di discussione dei vari progetti in cui qualcunopuò aver già avuto il vostro problema e trovato una risposta.2.3.2 I comandi per la gestione dei tempiPrima di accennare ai principali comandi per la gestione di tempo e date in <strong>GNU</strong>/<strong>Linux</strong> occorreuna breve introduzione sulla gestione del tempo nei sistemi Unix. Storicamente i sistemiunix-like hanno sempre mantenuto due distinti tipi di tempo all’interno del sistema: essi sonorispettivamente chiamati calendar time e process time, secondo le definizioni:calendar time : detto anche tempo di calendario. È il numero di secondi dalla mezzanotte delprimo gennaio 1970, in tempo universale coordinato (o UTC), data che viene usualmenteindicata con 00:00:00 Jan, 1 1970 (UTC) e chiamata the Epoch. Questo tempo vieneanche chiamato anche GMT (Greenwich Mean Time) dato che l’UTC corrisponde all’oralocale di Greenwich. È il tempo su cui viene mantenuto l’orologio del kernel, e viene usatoad esempio per indicare le date di modifica dei file o quelle di avvio dei processi.process time : detto talvolta tempo di processore. È il tempo usato internamente dal kernelper le sue temporizzazioni. In genere è legato alle interruzioni del timer, e viene impiegatoper tutti i calcoli dello scheduler, è pertanto il tempo in cui viene misurato il tempo diesecuzione dei processi.In genere il tempo a cui si fa riferimento è sempre il calendar time, il process time viene usatosoltanto dai comandi che riportano le proprietà specifiche dei processi (come ps o top) relativeai tempi di esecuzione degli stessi. Oltre a questi due, già trattati in sez. 1.3.1, l’unico altrocomando che usa il process time è time, che prende come argomento una riga di comando daeseguire, e stampa a video, alla terminazione dell’esecuzione di quest’ultima, tre valori di tempoespressi in process time, che sono il tempo totale impiegato per l’esecuzione del programma (conla sigla real), il tempo passato nell’esecuzione di codice in user space (con la sigla user), ed iltempo passato nell’esecuzione di codice dentro il kernel, cioè all’interno delle system call invocatedal processo (con la sigla sys), ad esempio:piccardi@monk:~/Truelite/documentazione$ time lsCVS README corso internet-server ldap lucidi sambarealusersys0m0.030s0m0.000s0m0.010se si noti come il tempo reale è sempre maggiore degli altri due in quanto tiene conto anche deltempo in cui il processo è stato in stato di sleep in attesa di I/O.Il comando prende varie opzioni, le principali delle quali sono -o che permette di specificareun file su cui scrivere i risultati al posto dello standard output, e -f che permette di specificareun formato per i tempi. La descrizione completa del comando (comprese le stringhe usate perl’opzione -f) si trova al solito nella pagina di manuale.Tutti gli altri comandi relativi ai tempi hanno a che fare con la gestione del calendar time.Qui si aggiungono ulteriori complicazioni; la prima è che esistono due orologi, quello di sistema,

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!