File e File System

Vedi anche:

Concetti base

**FORMATO**: linguaggio con cui le informazioni sono codificate; stabilisce come i files sono organizzati e che cosa essi rappresentino. I formati infatti si dividono in due grandi categorie:
- **Formati aperti** (open standard): sono di pubblico dominio e possono essere usati liberamente senza dover pagare royalties a nessun soggetto.
- **Formati proprietari** (closed standard): sono formati di proprietà di un soggetto economico e, anche se le specifiche, in alcuni casi, sono conosciute, il loro utilizzo viene concesso in licenza, spesso dietro pagamento di royalties.

La scelta del formato da utilizzare per conservare le informazioni digitali è fondamentale perchè da essa dipende l'accessibilità nel tempo delle informazioni rappresentate.
Il F.S identifica il formato di un file o in base alla sua estensione, cioè i 3 o 4 caratteri alla destra del nome, dopo il carattere "punto" (Windows) o in base ai primi in bite memorizzati nel file stesso, chiamati metadati (= informazioni contenute all'interno del file stesso in posizioni prestabilite).
In base al formato dunque il SO decide che cosa deve fare con quel file. Per poter ottenere ciò che il file rappresenta è dunque necessario che il SO ne riconosca il formato e che ci sia un SW in grado di visualizzare quel particolare formato.

**FILE**: raccolte di bit che condividono la stessa rappresentazione logica, cioè lo stesso formato.

**FILE SYSTEM**: il FS è quella componente del SO che definisce strutture e metodi per organizzare e gestire i files memorizzati su memoria di massa.

Tutti i FS consentono la creazione di cartelle o directory; queste altro non sono che contenitori, al cui interno si possono mettere i files o creare altre cartelle.
I FS esistenti sono davvero molti, alcuni non si usano più, altri si sono evoluti nel tempo e sono usati ancora oggi:

* EXT o Extended file system (sviluppato per linux)
* FAT = File Allocation Table (nato con il DOS e poi sviluppatosi con Windows, ora in disuso)
* HFS = Hierarchical File System (sviluppato da Apple per il suo Mac OS ora evolutosi nell’HFS+)
* ISO 9660 per CD e la sua variante più diffusa Joliet
* NTFS = New Technology File System (sviluppato da Microsoft per sostituire l’obsoleto FAT)

**Nome e percorso**
Files e Directories sono caratterizzati da un nome, che deve rispettare regole grammaticali specifiche per ciascun FS, e da un percorso, che ne specifica la posizione logica in cui si trova secondo il formalismo <drive letter>:\<path>\<filename>.<extension> e che il FS fa corrispondere ad una precisa collocazione fisica

**COLLEGAMENTO** : Un collegamento (link) è semplicemente una struttura che rimanda ad uno specifico file; può avere nome, icone e proprietà diverse da quelle del file a cui fa riferimento ma non contiene nessun’altra informazione se non la stringa che rimanda a quel file.
**RACCOLTA**: Una raccolta è una cartella che rende disponibile il contenuto di varie cartelle.

**ATTRIBUTI**: Gli attributi sono informazioni associate a un oggetto che il FS utilizza per gestirlo; gli attributi più comuni sono:
**A** = archive (da archiviare)
**H** = hidden (nascosto)
**R** = read only (di sola lettura)
**S** = system (di sistema)

**PERMESSI**: I permessi sono informazioni che dicono al FS quali utenti o gruppi di utenti possono accedere all’oggetto e in che modo; i permessi più comuni sono:
**R**= read (l’utente ha il permesso di vedere proprietà e contenuto dell’oggetto)
**W** = write (l’utente ha il permesso di leggere, modificare o cancellare proprietà e contenuto dell’oggetto)
**X** = execute (l’utente ha il permesso di mandare in esecuzione l’oggetto)

**CRITTOGRAFIA**: tecnica di manipolazione di un messaggio che mira a renderlo incomprensibile a chiunque non sia autorizzato a leggerlo.
Le tecniche crittografiche consistono nel rappresentare gli elementi di un messaggio mediante gli elementi di un altro sistema di simboli, secondo una regola che consenta la decodifica da parte del destinatario. Principali tipologie:

* Crittografia **Simmetrica**: mittente e destinatario condividono la stessa chiave di cifratura; il dover condividere la chiave di cifratura rappresenta un rischio, se altri intercettano la chiave, ma è attualmente la tecnica che garantisce le migliori performance di codifica/decodifica.
* Crittografia **Asimmetrica**: nata negli anni 70 questa tecnica si basa su una chiave pubblica, usata per cifrare e una chiave privata, nota solo al proprietario, che serve a decifrare; è una tecnica piuttosto lenta ma garantisce un livello di sicurezza notevole.
* Crittografia **Quantistica**: tecnica moderna, ancora in fase di studio, che sfruttando le proprietà dei quanti, promette di rendere immediatamente evidente ogni violazione della chiave.

La sicurezza di un sistema crittografico è data sia dalla complessità della chiave che dalla robustezza dell’algoritmo di codifica.

**CERTIFICATI DIGITALI**: I certificati digitali, chiamati anche firme digitali, sono files rilasciati da un ente detto Autorità di Certificazione (CA) che hanno una scadenza e che servono a garantire l’identità di un soggetto.
La validità di un certificato è sempre verificabile in quanto le CA mantengono un registro pubblico di tutti i certificati rilasciati.

**BACKUP**: Definiamo backup un insieme di files e cartelle, spesso in formato compresso, ottenuto duplicando le informazioni correnti allo scopo di ridurre il rischio di perdita delle stesse in caso di eventi accidentali o intenzionali che ne compromettano la disponibilità o la correttezza.

La strategia di backup invece definisce quante copie devono essere fatte, con quale frequenza vengono fatte, da chi e in che modo vengono fatte.
Una adeguata strategia di backup deve dunque tener conto di una serie di elementi:

* Importanza e frequenza di aggiornamento delle informazioni
* Capacità e longevità dei supporti utilizzati
* Collocazione e protezione fisica dei supporti utilizzati
* Tempi e costi di backup / ripristino

La strategia di backup fa parte del “Disaster Recovery Plan” cioè di quel documento che descrive strumenti e metodi che devono essere applicati per ripristinare il normale funzionamento dei sistemi informatici.
Il DRP fa a sua volta parte di un “Business Continuity Plan” che invece definisce strumenti e metodi di intervento che mirano a garantire un accettabile livello di funzionamento di una qualsiasi realtà operativa.

Un esempio di classificazione delle interruzioni o di mancanza di continuità:

* Business **Critical**: possono fermarsi solo per brevissimo tempo e non sono sostituibili con attività manuali.
* Business **Key** **Asset**: possono tollerare tempi di interruzione meno stretti e/o possono essere sostituiti, per breve tempo, da attività manuali.
* Business **Facility**: possono interrompersi per tempi medio-lunghi e/o possono essere sostituiti da attività manuali.
* Business **Independent**: possono interrompersi per lungo tempo anche senza essere sostituite da attività manuali.

**CLOUD COMPUTING**: è un moderno paradigma informatico che prevede l'utilizzo di risorse esterne e reperibili tramite Internet. Tali risorse possono essere: Storage (spazio di memorizzazione), Applicazioni e Infrastrutture complete (HW e SW).

I vantaggi sono:

* Riduzione dei costi IT di acquisto e manutenzione
* Maggior flessibilità di utilizzo
* Fruizione in mobilità

I rischi principali sono:

* Dipendenza dalla connessione ad internet
* Privacy e controllo degli accessi

· Maggiore esposizione agli attacchi informatici