Year: 2010

I tempi dei file in GNU/Linux: cambiamento, modifica e accesso

Ogni file su Linux ha tra le sue proprietà tre tipologie di tempo: il tempo di ultima modifica, il tempo di cambiamento e il tempo di ultimo accesso.

Eseguendo il classico comando ls -l per avere una lista dettagliata dei file di una cartella, vedremo che ogni file ha associata una data.

Il tempo mostrato di default da ls è il tempo di ultima modifica (modification time o mtime).

E’ possibile aggiungendo l’opzione -c visualizzare il tempo di cambiamento (change time o ctime) al posto di quello di ultima modifica.

Per visualizzare il tempo di ultimo accesso (access time o atime) basta cambiare l’opzione in -u.

File e Inode in Linux

La struttura che identifica univocamente un singolo file all’interno di un filesystem è il cosidetto INODE: ciascun file è associato ad un inode in cui sono mantenute tutte le informazioni che lo riguardano come il tipo, i permessi di accesso, utente e gruppo proprietari, le dimensioni, i tempi e tutti i riferimenti ai settori del disco che contengono i dati.

L’unica informazione relativa al file non contenuta nell’inode è il suo nome; infatti il nome di un file non è una proprietà del file, ma semplicemente una etichetta associata all’inode.

GNU/Linux: fondamenti di architettura

Il concetto base dell’architettura di ogni sistema Unix come GNU/Linux è quello di una rigida separazione tra il kernel e i processi. Questo si traduce nella definizione di uno User Space e di un Kernel Space.

KERNEL SPACE: E’ l’ambiente in cui viene eseguito il kernel, in modalità privilegiata. Il kernel è l’unico a poter accedere direttamente alle risorse hardware ed ha lo scopo di rendere efficiente l’esecuzione contemporanea di più processi, distribuire tra i processi memoria e tempo di CPU, fornire le interfacce software per l’accesso alle periferiche.

USER SPACE: E’ l’ambiente virtuale in cui vengono eseguiti i normali programmi. Essi si possono interfacciare al kernel attraverso una serie di funzioni di sistema standardizzate dette SYSTEM CALL.

Pietre miliari – persone : Bernardo Innocenti detto Bernie

Con questo post innauguro la serie “Pietre miliari” : persone , cose ed eventi che hanno segnato irrimediabilmente la mia vita professionale.
A Bernardo va il merito di avermi definitivamente convinto che l’informatica era la mia strada.

La passione vera per il suo lavoro, il suo essere irrimediabilmente nerd ma pur tuttavia sensibile e sempre pronto ad aiutarti, la sua voglia di condividere e di scoprire insieme mi hanno dato la possibilità di addentrarmi finalmente in un ambiente che fino a quel momento ero rimasta a seguire da fuori.

Ah dimenticavo… a Bernie va anche il merito di avermi fatto comprare il mio primo mac! 😀

I bootloader di Linux: LILO e GRUB

Il primo bootloader creato per Linux è stato LILO, da LInux LOader, ed a lungo è stato anche l’unico presente. E’ un bootloader con una architettura elementare, che si affida al BIOS per la lettura del disco, e per tanto risente di tutti i limiti che questo può avere. Per esempio alcuni vecchi BIOS non sono capaci di leggere i dischi oltre il 1024esimo cilindro.

LILO viene installato nell’MBR (Master Boot Record, corrispondente ai primi 512 byte del disco) alla fine della procedura di installazione di una distribuzione. LILO ha il compito di trovare l’immagine del Kernel sul disco, caricarla in memoria ed eseguirla; dopo di che il controllo passa al kernel.
La configurazione di LILO è gestita tramite il file /etc/lilo.conf.