Memorie e salvataggio.

In un computer i dati sono contenuti nelle memorie. Le memorie possono essere volatili (come la RAM, che contiene programmi e dati che si stanno usando, e che si svuota allo spegnimento del computer) oppure non volatili (come l’hard disk, che conserva i dati anche quando il computer è spento).
Quando salviamo i dati, operazione piuttosto frequente, questi passano da una memoria volatile ad una non volatile.
Esistono dei software che salvano autonomamente e automaticamente i dati, altri invece che richiedono un’azione dell’utente.
I dati sono contenuti nelle memorie sotto forma di archivi detti “file”.

File e codifiche.

Esistono moltissimi tipi di file, ciascuno di essi caratterizzato da una specifica codifica. Ne abbiamo parlato anche nell’articolo Introduzione al digitale.
Il sistema operativo, uno dei cui compiti è semplificare la vita all’utente, riconosce la codifica e associa una immagine al file, la cui icona diventa un facile sistema per l’utente per distinguere visivamente il tipo di file. Nei sistemi Microsoft ciò si ottiene anche attraverso la specifica di una estensione del file come ad esempio “.docx” per Word. Oltre a questo, naturalmente, l’utente deve scegliere un nome per il file.

Nomi dei file.

Alcuni sistemi operativi (come Windows) non fanno differenza fra maiuscole e minuscole nei nomi dei file (quindi nella stessa cartella non possono esistere contemporaneamente il file nonna.jpg e il file NonnA.jpg), altri sistemi operativi (come linux) fanno differenza fra maiuscole e minuscole nei nomi dei file e sono detti “case sensitive”.

Non è (più) obbligatorio, ma esistono alcune consuetudini (di noi nerd :-)) riguardo ai nomi dei file:

  • non usare mai spazi nel nome di un file
  • non usare mai le lettere maiuscole
  • scegliere un nome il più breve possibile (i puristi amano ancora i nomi 8.3 ossia otto caratteri per il nome e tre per l’estensione)

File signature.

Se il sistema operativo non riconoscesse il formato e la codifica di un file, per poterne interpretare il contenuto può essere utile un editor esadecimale. Si tratta di un software in grado di mostrare i singoli byte all’interno del file, trattandolo come un file binario (ossia senza interpretarne o eseguirne il contenuto). Per comodità di lettura, invece di mostrare lunghe sequenze binarie (ricordiamoci che per un solo carattere alfabetico servono ben 8 bit), il contenuto del file viene mostrato in formato esadecimale (impiegando sul nostro monitor solo un quarto dello spazio altrimenti necessario).

Ogni file ha una firma (signature) che si trova nei primi byte. Questa firma permette di riconoscere la codifica utilizzata nel file stesso.
Ad esempio “FF D8” corrisponde ad un file JPEG. Oppure “25 50” ad un file PDF. Una lista di firme per i file più comuni è disponbile all’indirizzo https://en.wikipedia.org/wiki/List_of_file_signatures.

File eseguibili.

Un file che contiene istruzioni in linguaggio macchina, ovvero un file che permette di avviare un programma, è detto file eseguibile. Nei sistemi Windows si tratta ad esempio dei file con estensione .exe, .com. Nei sistemi linux invece ogni file può essere eseguibile, dipende dai permessi ad esso associati.

 

Bibliografia:
– Rossignoli, N., Introduzione all’informatica, Lampidistampa, Milano, 2007
– Rossignoli, N., Aucone, M., Materiali per gli studenti degli Hacker Summer Camp, Verona, 2012

Immagine: Photo by Nicola Rossignoli

(Visited 89 times, 1 visits today)