Finestre.  Virus.  I Quaderni.  Internet.  ufficio.  Utilità.  Autisti

Questo articolo riguarda file system . Durante l'installazione di Windows, viene richiesto di selezionare il file system sulla partizione in cui verrà installato e gli utenti di PC devono scegliere tra due opzioni GRASSO O NTFS.

Nella maggior parte dei casi, gli utenti si accontentano di saperlo NTFS è "meglio" e scegli questa opzione.

Tuttavia, a volte si chiedono e cosa è esattamente meglio?

In questo articolo cercherò di spiegare cos'è un file system, cosa sono, come si differenziano e quale dovrebbe essere usato.

L'articolo ha semplificato alcune delle caratteristiche tecniche dei file system per una percezione più comprensibile del materiale.

Sistema di fileè un modo per organizzare i dati su supporti di memorizzazione. Il file system determina dove e come i file verranno scritti sul supporto e fornisce al sistema operativo l'accesso a tali file.

Requisiti aggiuntivi sono imposti ai file system moderni: la capacità di crittografare i file, il controllo dell'accesso ai file e attributi aggiuntivi. Di solito il file system è scritto all'inizio del disco rigido. ().

Dal punto di vista del sistema operativo, un disco rigido è un insieme di cluster.

grappoloè un'area di un disco di una certa dimensione per la memorizzazione dei dati. La dimensione minima del cluster è di 512 byte. Poiché viene utilizzato il sistema numerico binario, le dimensioni dei cluster sono un multiplo di una potenza di due.

L'utente può figurativamente immaginare un disco rigido come un blocco note a scacchi. Una cella sulla pagina è un cluster. Il file system è il contenuto del blocco note e il file è la parola.

Per i dischi rigidi in un PC, due file system sono attualmente i più comuni: GRASSO O NTFS. Apparso per la prima volta GRASSO (GRASSI16), Poi GRASSO32, poi NTFS.

GRASSO(GRASSI16)è un'abbreviazione di Tabella di allocazione dei file(nella traduzione Tabella di allocazione dei file).

La struttura FAT è stata sviluppata da Bill Gates e Mark MacDonald nel 1977. È stato utilizzato come file system principale nei sistemi operativi DOS e Microsoft Windows (fino alla versione Windows ME).

Esistono quattro versioni di FAT: GRASSO12, GRASSO16, GRASSO32 E exFAT. Differiscono nel numero di bit allocati per memorizzare il numero di cluster.

GRASSO12 utilizzato principalmente per floppy disk, GRASSO16- per piccoli dischi e il nuovo exFAT principalmente per unità flash. La dimensione massima del cluster supportata da FAT è 64Kb. ()

GRASSO16 introdotto per la prima volta nel novembre 1987. Indice 16 nel nome indica che vengono utilizzati 16 bit per il numero di cluster. Di conseguenza, la dimensione massima di una partizione del disco (volume) che questo sistema può supportare è di 4 GB.

Successivamente, con lo sviluppo della tecnologia e l'avvento dei dischi con una capacità superiore a 4 GB, è apparso un file system. GRASSO32. Utilizza l'indirizzamento del cluster a 32 bit ed è stato introdotto con Windows 95 OSR2 nell'agosto 1996. GRASSO32 limitato nella dimensione del volume a 128 GB. Anche questo sistema può supportare nomi di file lunghi. ().

NTFS(abbreviazione NuovotecnologiafileSistema - File system di nuova tecnologia) è il file system standard per la famiglia di sistemi operativi Microsoft Windows NT.

Introdotto il 27 luglio 1993 con Windows NT 3.1. NTFS è basato sul file system HPFS (abbreviazione altoPrestazionefileSistema - File system ad alte prestazioni), che è stato creato da Microsoft insieme a IBM per il sistema operativo OS / 2.

Caratteristiche principali di NTFS: funzionalità integrate per limitare l'accesso ai dati per diversi utenti e gruppi di utenti, nonché assegnare quote (restrizioni sulla quantità massima di spazio su disco occupato da determinati utenti), l'uso di un sistema di journaling per migliorare l'affidabilità del file system .

Le specifiche del file system sono chiuse. Di solito la dimensione del cluster è 4Kb. In pratica, non è consigliabile creare volumi superiori a 2 TB. I dischi rigidi hanno appena raggiunto queste dimensioni, forse in futuro avremo un nuovo file system. ().

Durante l'installazione di Windows XP, viene richiesto di formattare il disco nel sistema GRASSO O NTFS. Questo significa GRASSO32.

Tutti i file system sono basati sul principio: un cluster - un file. Quelli. un cluster memorizza i dati di un solo file.

La principale differenza per l'utente medio tra questi sistemi è la dimensione del cluster. "Molto tempo fa, quando i dischi erano piccoli ei file erano molto piccoli", era molto evidente.

Considera l'esempio di un volume su un disco da 120 GB e un file da 10 Kb.

Per GRASSO32 la dimensione del cluster sarà di 32Kb e per NTFS- 4Kb.

IN GRASSO32 tale file occuperà 1 cluster, lasciando 32-10=22Kb di spazio non allocato.

IN NTFS un tale file occuperà 3 cluster, lasciando 12-10=2Kb di spazio non allocato.

Per analogia con un taccuino, un cluster è una cella. E avendo messo un punto in una cella, lo occupiamo già logicamente tutto, ma in realtà c'è molto spazio libero.

Quindi, il passaggio da GRASSO32 A NTFS consente un utilizzo più ottimale del disco rigido quando è presente un numero elevato di file di piccole dimensioni nel sistema.

Nel 2003 avevo un'unità da 120 GB suddivisa in volumi da 40 e 80 GB. Quando sono passato da Windows 98 a Windows XP e ho convertito l'unità da GRASSO32 v NTFS, ho ottenuto circa 1 GB di spazio libero su disco. A quel tempo era un "aumento" significativo.

Per sapere quale file system è utilizzato sui volumi dell'hard disk del tuo PC, devi aprire la finestra delle proprietà del volume e nella scheda "Sono comuni" leggi questi dati

Volume- questo è un sinonimo di una partizione del disco, gli utenti di solito chiamano il volume "unità C", "unità D", ecc. Un esempio è mostrato nell'immagine qui sotto:

Attualmente, i dischi con una capacità di 320 GB o più sono ampiamente utilizzati. Pertanto, consiglio di utilizzare il sistema NTFS per un uso ottimale dello spazio su disco.

Inoltre, se ci sono più utenti su un PC, NTFS consente di configurare l'accesso ai file in modo tale che utenti diversi non possano leggere e modificare i file di altri utenti.

Nelle organizzazioni, quando lavorano su una rete locale, gli amministratori di sistema utilizzano altre funzionalità di NTFS.

Se sei interessato a organizzare l'accesso ai file per più utenti su un PC, i seguenti articoli lo descriveranno in dettaglio.

Durante la stesura dell'articolo sono stati utilizzati i materiali dei siti en.wikipedia.org

Autore dell'articolo: Massimo Telpari
Utente PC con 15 anni di esperienza. Specialista di supporto del corso video "Confident PC user", dopo aver studiato il quale imparerai come assemblare un computer, installare Windows XP e driver, ripristinare il sistema, lavorare nei programmi e molto altro.

Guadagna con questo articolo!
Iscriviti a un programma di affiliazione. Sostituisci il link del corso nell'articolo con il tuo link di affiliazione. Aggiungi un articolo al tuo sito. Puoi ottenere una versione ristampata.

Materiale per la lezione di revisione n. 33

per gli studenti della specialità

"Software informatico"

Professore Associato del Dipartimento di ICT, Ph.D. Livak E.N.

SISTEMI DI GESTIONE FILE

Concetti di base, fatti

Appuntamento. Caratteristiche dei filesystemgrasso,VFAT,GRASSO32,hpfs,NTFS. File system OS UNIX (s5, ufs), OS Linux Ext2FS Aree di sistema del disco (partizione, volume). Principi di posizionamento dei file e memorizzazione delle informazioni sulla posizione dei file. Organizzazione della rubrica. Limitare l'accesso a file e directory.

Competenze

Utilizzo della conoscenza della struttura del file system per proteggere e ripristinare le informazioni del computer (file e directory). Organizzazione del controllo degli accessi ai file.

file system. Struttura del file system

I dati vengono memorizzati su disco come file. Un file è una parte denominata di un disco.

I sistemi di gestione dei file sono progettati per gestire i file.

La capacità di gestire i dati memorizzati nei file a livello logico è fornita dal file system. È il file system che determina come i dati sono organizzati su un supporto di memorizzazione.

Così, sistema di file è un insieme di specifiche e il relativo software associato che sono responsabili della creazione, distruzione, organizzazione, lettura, scrittura, modifica e spostamento delle informazioni sui file, nonché del controllo dell'accesso ai file e della gestione delle risorse utilizzate dai file.

Il sistema di gestione dei file è il sottosistema principale nella stragrande maggioranza dei moderni sistemi operativi.

Utilizzo del sistema di gestione dei file

· tutti i programmi di elaborazione del sistema sono collegati in base ai dati;

· vengono risolti i problemi di distribuzione centralizzata dello spazio su disco e di gestione dei dati;

· all'utente viene data la possibilità di eseguire operazioni sui file (creare, ecc.), di scambiare dati tra file e dispositivi vari, di proteggere i file da accessi non autorizzati.

Alcuni sistemi operativi possono avere più sistemi di gestione dei file, consentendo loro di lavorare con più file system.

Proviamo a distinguere tra il file system e il sistema di gestione dei file.

Il termine "file system" definisce i principi per l'accesso ai dati organizzati in file.

Termine "sistema di gestione file" si riferisce a una particolare implementazione del filesystem, ad es. questo è un insieme di moduli software che forniscono lavoro con file in un sistema operativo specifico.

Pertanto, per lavorare con file organizzati secondo un file system, è necessario sviluppare un sistema di gestione dei file appropriato per ciascun sistema operativo. Questo sistema UV funzionerà solo sul sistema operativo per il quale è stato creato.

Per la famiglia di sistemi operativi Windows, vengono utilizzati principalmente i file system: VFAT, FAT 32, NTFS.

Considera la struttura di questi file system.

Sul file system GRASSO Lo spazio su disco di qualsiasi unità logica è diviso in due aree:

area di sistema e

l'area dati.

Zona di sistema viene creato e inizializzato durante la formattazione e successivamente aggiornato durante la manipolazione della struttura del file.

L'area di sistema è composta dai seguenti componenti:

Un settore di avvio contenente un record di avvio (record di avvio);

Settori riservati (potrebbero non esserlo);

tabelle di allocazione dei file (FAT, tabella di allocazione file);

Directory principale (ROOT).

Questi componenti si trovano sul disco uno dopo l'altro.

Zona dati contiene file e directory subordinati alla radice.

L'area dati è suddivisa in cosiddetti cluster. Un cluster è uno o più settori contigui di un'area dati. D'altra parte, un cluster è la più piccola unità indirizzabile di spazio su disco allocata a un file. Quelli. un file o una directory occupa un numero intero di cluster. Per creare e scrivere un nuovo file su disco, il sistema operativo alloca diversi cluster di dischi liberi. Questi cluster non devono seguirsi l'un l'altro. Per ogni file, viene archiviato un elenco di tutti i numeri di cluster forniti a questo file.

La suddivisione di un'area dati in cluster invece di utilizzare i settori consente di:

· ridurre le dimensioni della tabella FAT;

Ridurre la frammentazione dei file

Riduce la lunghezza delle catene di file Þ velocizzare l'accesso ai file.

Tuttavia, una dimensione del cluster troppo grande porta a un uso inefficiente dell'area dati, soprattutto nel caso di un numero elevato di file di piccole dimensioni (dopo tutto, si perde in media mezzo cluster per ogni file).

Nei file system moderni (FAT 32, HPFS , NTFS ) questo problema viene risolto limitando la dimensione del cluster (massimo 4 KB)

La mappa dell'area dati è T tabella di allocazione dei file (File Allocation Table - FAT) Ogni elemento della tabella FAT (12, 16 o 32 bit) corrisponde a un cluster di dischi e ne caratterizza lo stato: libero, occupato o è un cluster difettoso.

· Se il cluster è allocato a qualsiasi file (cioè occupato), allora l'elemento FAT corrispondente contiene il numero del successivo file cluster;

· l'ultimo cluster del file è contrassegnato da un numero compreso nell'intervallo FF8h - FFFh (FFF8h - FFFFh);

· se il cluster è libero, contiene il valore zero 000h (0000h);

· Un cluster inutilizzabile (fallito) è contrassegnato con il numero FF7h (FFF7h).

Pertanto, nella tabella FAT, i cluster appartenenti allo stesso file sono collegati in catene.

La tabella di allocazione dei file viene memorizzata immediatamente dopo il record di avvio del disco logico, la sua posizione esatta è descritta in un campo speciale nel settore di avvio.

È memorizzato in due copie identiche che si susseguono. Quando la prima copia della tabella viene distrutta, viene utilizzata la seconda.

A causa del fatto che FAT viene utilizzato molto pesantemente quando si accede a un disco, di solito viene caricato nella RAM (nel buffer I / O o nella cache) e rimane lì il più a lungo possibile.

Il principale svantaggio di FAT è la lenta gestione dei file. Quando si crea un file, la regola funziona: viene selezionato il primo cluster gratuito. Ciò porta alla frammentazione del disco e a complesse catene di file. Da qui il rallentamento nel lavorare con i file.

Per visualizzare e modificare la tabella FAT, è possibile utilizzare utilitàdiscoEditore.

Informazioni dettagliate sul file stesso sono memorizzate in un'altra struttura chiamata directory principale. Ogni disco logico ha la propria directory root (ROOT, inglese - root).

Root directory descrive file e altre directory. L'elemento directory è un descrittore di file (descrittore).

Il descrittore di ogni file e directory lo include

· Nome

· estensione

data di creazione o ultima modifica

momento della creazione o dell'ultima modifica

attributi (archivio, attributo directory, attributo volume, sistema, nascosto, sola lettura)

lunghezza del file (per una directory - 0)

un campo riservato che non viene utilizzato

· il numero del primo cluster nella catena di cluster assegnati al file o alla directory; ricevuto questo numero, il sistema operativo, facendo riferimento alla tabella FAT, rileverà anche tutti gli altri numeri di cluster di file.

Quindi, l'utente avvia il file per l'esecuzione. Il sistema operativo cerca un file con il nome desiderato guardando le descrizioni dei file nella directory corrente. Quando l'elemento richiesto viene trovato nella directory corrente, il sistema operativo legge il numero del primo cluster di questo file, quindi determina i restanti numeri di cluster dalla tabella FAT. I dati di questi cluster vengono letti nella RAM, combinati in una sezione continua. Il sistema operativo trasferisce il controllo al file e il programma viene avviato.

Per visualizzare e modificare la directory ROOT, puoi anche usare utilitàdiscoEditore.

Sistema di file VFAT

Il file system VFAT (virtual FAT) è apparso per la prima volta in Windows per Workgroup 3.11 ed è stato progettato per l'I/O di file in modalità protetta.

Questo file system è utilizzato in Windows 95.

È anche supportato in Windows NT 4.

VFAT è il file system "nativo" a 32 bit di Windows 95. È controllato dal driver VFAT .VXD.

VFAT utilizza codice a 32 bit per tutte le operazioni sui file e può utilizzare driver in modalità protetta a 32 bit.

MA, le voci della tabella di allocazione dei file rimangono a 12 o 16 bit, quindi sul disco viene utilizzata la stessa struttura dati (FAT). Quelli. F formato tabellareVFAT è lo stesso, proprio come il formato FAT.

VFAT insieme ai nomi "8.3". supporta nomi di file lunghi. (Si dice spesso che VFAT sia FAT con supporto per nomi lunghi).

Il principale svantaggio di VFAT sono le grandi perdite per il clustering con grandi dimensioni del disco logico e le restrizioni sulla dimensione del disco logico stesso.

Sistema di file GRASSI 32

Questa è una nuova implementazione dell'idea di utilizzare la tabella FAT.

FAT 32 è un file system a 32 bit completamente indipendente.

Utilizzato per la prima volta in Windows OSR 2 (OEM Service Release 2).

FAT 32 è attualmente utilizzato in Windows 98 e Windows ME.

Contiene numerosi miglioramenti e aggiunte rispetto alle precedenti implementazioni FAT.

1. Utilizzo molto più efficiente dello spazio su disco grazie al fatto che utilizza cluster più piccoli (4 KB): si stima che risparmi fino al 15%.

2. Dispone di un record di avvio esteso che consente di creare copie di strutture di dati critiche Þ aumenta la resistenza del disco alle violazioni delle strutture del disco

3. Può utilizzare un backup FAT invece di uno standard.

4. Può spostare la directory principale, in altre parole, la directory principale può trovarsi in una posizione arbitraria Þ rimuove il limite sulla dimensione della directory root (512 elementi, poiché ROOT avrebbe dovuto occupare un cluster).

5. Struttura della directory principale migliorata

Sono comparsi campi aggiuntivi, ad esempio ora di creazione, data di creazione, data dell'ultimo accesso, checksum

Ci sono ancora più descrittori per un nome di file lungo.

Sistema di file HPFS

HPFS (High Performance File System) è un file system ad alte prestazioni.

HPFS è apparso per la prima volta in OS/2 1.2 e LAN Manager.

Elenchiamo caratteristiche principali di HPFS.

· La differenza principale è rappresentata dai principi di base del posizionamento dei file su un disco e dai principi della memorizzazione delle informazioni sulla posizione dei file. Grazie a questi principi, HPFS ha alte prestazioni e tolleranza ai guasti, è affidabile sistema di file.

Lo spazio su disco in HPFS non viene assegnato dai cluster (come in FAT), ma blocchi. Nell'implementazione moderna, la dimensione del blocco è considerata uguale a un settore, ma in linea di principio potrebbe essere di dimensioni diverse. (In effetti, un blocco è un cluster, solo un cluster è sempre uguale a un settore). Consente di disporre i file in blocchi così piccoli utilizzare lo spazio su disco in modo più efficiente, poiché l'overhead dello spazio libero è in media di soli (mezzo settore) 256 byte per file. Ricorda che maggiore è la dimensione del cluster, maggiore è lo spazio su disco sprecato.

Il sistema HPFS cerca di disporre il file in blocchi contigui o, se ciò non è possibile, di posizionarlo su disco in modo tale che estensioni(frammenti) del file erano fisicamente il più vicini possibile l'uno all'altro. Questo approccio è essenziale riduce il tempo di posizionamento delle testine di scrittura/lettura disco rigido e latenza (ritardo tra la posizione della testina di lettura/scrittura sulla traccia corretta). Ricordiamo che in un file FAT viene semplicemente allocato il primo cluster libero.

Estensioni(estensione) - frammenti di file situati in settori del disco adiacenti. Un file ha almeno un'estensione se non è frammentato e più di un'estensione in caso contrario.

Usato metodo alberi binari bilanciati per l'archiviazione e la ricerca di informazioni sulla posizione dei file (le directory sono memorizzate al centro del disco, inoltre, viene fornito l'ordinamento automatico delle directory), che è essenziale migliora la produttività HPFS (rispetto a FAT).

HPFS fornisce speciali attributi di file estesi che consentono gestire l'accesso a file e directory.

Attributi estesi (attributi estesi, EA ) consentono di memorizzare informazioni aggiuntive sul file. Ad esempio, ogni file può essere associato alla sua unica immagine grafica (icona), descrizione del file, commento, informazioni sul proprietario del file, ecc.

C Struttura della partizione HPFS


All'inizio della partizione con HPFS installato, ce ne sono tre blocco di controllo:

blocco di avvio (blocco di avvio),

blocco aggiuntivo (super blocco) e

Blocco di riserva (backup) (blocco di riserva).

Occupano 18 settori.

Tutto l'altro spazio su disco in HPFS è diviso in parti da settori adiacenti - strisce(banda - striscia, nastro). Ogni striscia occupa 8 MB su disco.

Ogni corsia e ha il suo bitmap di allocazione del settore.La bitmap mostra quali settori di una data banda sono occupati e quali sono liberi. Ogni settore della striscia dati corrisponde a un bit nella sua bitmap. Se bit = 1, il settore è occupato, se 0 - libero.

Le bitmap delle due bande si trovano fianco a fianco sul disco, così come le bande stesse. Cioè, la sequenza di strisce e carte appare come in Fig.

Confrontare conGRASSO. C'è solo una "bitmap" per l'intero disco (tabella FAT). E per lavorarci, devi spostare le testine di lettura / scrittura in media su metà del disco.

È per ridurre il tempo di posizionamento delle testine di lettura/scrittura dell'hard disk che il disco HPFS è diviso in strisce.

Prendere in considerazione blocchi di controllo.

Blocco di avvio (stivalebloccare)

Contiene il nome del volume, il suo numero di serie, il blocco delle impostazioni del BIOS e il programma di avvio.

Bootstrap trova il file OS 2 LDR , lo legge in memoria e trasferisce il controllo a questo programma di avvio del sistema operativo, che a sua volta carica il kernel OS/2 dal disco alla memoria - OS 2 KRNL. E già OS 2 KRIML utilizzando le informazioni di un file CONFIG. SIST carica in memoria tutti gli altri moduli di programma e blocchi dati necessari.

Il blocco di avvio si trova nei settori da 0 a 15.

SuperBloccare(superblocco)

Contiene

Puntatore a un elenco di bitmap ( bitmap block list ). Questo elenco elenca tutti i blocchi sul disco che contengono le bitmap utilizzate per rilevare i settori liberi;

puntatore all'elenco dei blocchi danneggiati (elenco dei blocchi danneggiati). Quando il sistema rileva un blocco danneggiato, viene aggiunto a questo elenco e non viene più utilizzato per l'archiviazione delle informazioni;

un puntatore a un gruppo di directory (directory band ),

puntatore al nodo file (F -node ) della directory radice,

· la data dell'ultimo controllo della partizione da parte del programma CHKDSK;

informazioni sulla dimensione della striscia (nell'attuale implementazione di HPFS - 8 MB).

Il super blocco è posizionato nel 16° settore.

Ricambiobloccare(blocco di ricambio)

Contiene

puntatore alla mappa di sostituzione di emergenza (hotfix map o hotfix -areas );

· puntatore all'elenco dei blocchi di riserva liberi (directory Emergency Free Block List);

una serie di flag e descrittori di sistema.

Questo blocco si trova nel settore 17 del disco.

Il blocco di riserva offre un'elevata tolleranza agli errori del file system HPFS e consente di recuperare i dati danneggiati sul disco.

Il principio del posizionamento dei file

Estensioni(estensione) - frammenti di file situati in settori del disco adiacenti. Un file ha almeno un'estensione se non è frammentato e più di un'estensione in caso contrario.

Per ridurre il tempo di posizionamento delle testine di lettura/scrittura del disco rigido, il sistema HPFS cerca

1) posizionare il file in blocchi adiacenti;

2) se ciò non è possibile, posiziona le estensioni del file frammentato il più vicino possibile l'una all'altra,

Per fare ciò, HPFS utilizza le statistiche e cerca anche di riservare in modo condizionale almeno 4 kilobyte di spazio alla fine dei file che crescono.

Principi di memorizzazione delle informazioni sulla posizione dei file

Ogni file e directory sul disco ha il proprio Nodo file F-Node. Questa è una struttura che contiene informazioni sulla posizione del file e sui suoi attributi estesi.

Ogni F-Node occupa un settore e si trova sempre vicino al suo file o directory (di solito appena prima del file o della directory). L'F-Node contiene

lunghezza,

i primi 15 caratteri del nome del file,

Informazioni sui servizi speciali

Statistiche di accesso ai file

Attributi di file estesi

un elenco di diritti di accesso (o solo una parte di questo elenco, se è molto ampio); se gli attributi estesi sono troppo grandi per il nodo del file, viene scritto un puntatore ad essi.

informazioni associative sulla posizione e la subordinazione del file, ecc.

Se il file è continuo, la sua posizione sul disco è descritta da due numeri a 32 bit. Il primo numero è un puntatore al primo blocco del file e il secondo è la lunghezza dell'estensione (il numero di blocchi consecutivi che appartengono al file).

Se il file è frammentato, la posizione delle sue estensioni viene descritta nel nodo del file con coppie aggiuntive di numeri a 32 bit.

Un nodo file può contenere informazioni su un massimo di otto estensioni di un file. Se un file ha più estensioni, un puntatore a un blocco di allocazione viene scritto nel suo nodo file, che può contenere fino a 40 puntatori a estensioni o, per analogia con un blocco dell'albero di directory, ad altri blocchi di allocazione.

Struttura e posizionamento delle directory

Utilizzato per memorizzare le directory. striscia al centro del disco.

Questa striscia si chiama directorygruppo musicale.

Se è pieno, HPFS inizia a posizionare le directory dei file in altre corsie.

La posizione di questa struttura informativa al centro del disco riduce notevolmente il tempo medio di posizionamento delle testine di lettura/scrittura.

Tuttavia, un contributo significativamente maggiore (rispetto al posizionamento della Directory Band nel mezzo di un disco logico) alle prestazioni HPFS deriva dall'utilizzo metodo alberi binari bilanciati per l'archiviazione e il recupero di informazioni sulla posizione dei file.

Ricordalo nel file system GRASSO la directory ha una struttura lineare, non ordinata in modo speciale, quindi durante la ricerca di un file, è necessario esaminarlo in sequenza dall'inizio.

In HPFS, la struttura delle directory è un albero equilibrato con voci in ordine alfabetico.

Ogni voce nell'albero contiene

attributi di file,

un puntatore al nodo del file corrispondente,

informazioni sull'ora e la data di creazione del file, l'ora e la data dell'ultimo aggiornamento e accesso,

lunghezza dei dati contenenti attributi estesi,

contatore di accesso ai file

La lunghezza del nome del file

il nome stesso

e altre informazioni.

Durante la ricerca di un file in una directory, il file system HPFS esamina solo i rami necessari dell'albero binario. Questo metodo è molte volte più efficiente della lettura sequenziale di tutte le voci nella directory, come nel caso del sistema FAT.

La dimensione di ciascuno dei blocchi in termini di directory allocate nell'attuale implementazione di HPFS è di 2 KB. La dimensione di un record che descrive un file dipende dalla dimensione del nome del file. Se il nome è di 13 byte (per il formato 8.3), un blocco di 2K può contenere fino a 40 descrittori di file. I blocchi sono collegati tra loro mediante un elenco.

I problemi

Quando si rinominano i file, può verificarsi un cosiddetto ribilanciamento dell'albero. La creazione di un file, la sua ridenominazione o la sua cancellazione possono comportare blocchi di directory a cascata. In effetti, la ridenominazione potrebbe non riuscire a causa della mancanza di spazio su disco, anche se il file stesso non è aumentato di dimensioni. Per evitare questo disastro, HPFS mantiene un piccolo pool di blocchi liberi che possono essere utilizzati in caso di disastro. Questa operazione potrebbe richiedere l'allocazione di blocchi aggiuntivi su un disco intero. Un puntatore a questo pool di blocchi liberi è memorizzato in uno SpareBlock ,

Come i file e le directory vengono posizionati su discoHPFS:

· le informazioni sulla posizione dei file sono disperse nel disco, mentre le registrazioni di ogni file specifico sono poste (se possibile) in settori adiacenti e vicini ai dati sulla loro posizione;

le directory sono posizionate nel mezzo dello spazio su disco;

· le directory sono memorizzate come un albero bilanciato binario con le voci disposte in ordine alfabetico.

Affidabilità dell'archiviazione dei dati in HPFS

Qualsiasi file system deve disporre dei mezzi per correggere gli errori che si verificano quando le informazioni vengono scritte su disco. Il sistema HPFS utilizza meccanismo di sostituzione di emergenza ( aggiornamento rapido).

Se il file system HPFS incontra un problema durante la scrittura dei dati su disco, visualizza un messaggio di errore appropriato. HPFS memorizza quindi le informazioni che avrebbero dovuto essere scritte nel settore danneggiato in uno dei settori di riserva riservati in anticipo per questo caso. L'elenco dei blocchi di riserva liberi è memorizzato nel blocco di riserva HPFS. Se viene rilevato un errore durante la scrittura dei dati su un blocco normale, HPFS seleziona uno dei blocchi di riserva liberi e memorizza i dati al suo interno. Il file system quindi si aggiorna carta sostitutiva di emergenza nell'unità di riserva.

Questa mappa è costituita semplicemente da coppie di parole doppie, ciascuna delle quali è un numero di settore a 32 bit.

Il primo numero indica il settore difettoso e il secondo il settore tra i settori di riserva disponibili, che è stato scelto per sostituirlo.

Dopo che il settore difettoso è stato sostituito con uno di riserva, la scheda sostitutiva viene scritta su disco e sullo schermo viene visualizzata una finestra a comparsa che informa l'utente che si è verificato un errore di scrittura su disco. Ogni volta che il sistema scrive o legge un settore del disco, esamina la mappa hot spare e sostituisce tutti i numeri dei settori difettosi con i numeri dei settori di riserva con i dati corrispondenti.

Va notato che questa traduzione numerica non influisce in modo significativo sulle prestazioni del sistema, poiché viene eseguita solo quando si accede fisicamente al disco, ma non durante la lettura dei dati dalla cache del disco.

Sistema di file NTFS

Il file system NTFS (New Technology File System) contiene una serie di miglioramenti e modifiche significativi che lo distinguono in modo significativo da altri file system.

Si noti che, salvo rare eccezioni, È possibile accedere direttamente alle partizioni NTFS solo dafinestreNT, sebbene esistano implementazioni corrispondenti di sistemi di gestione dei file per numerosi sistemi operativi per la lettura di file da volumi NTFS.

Tuttavia, non esistono ancora implementazioni complete per lavorare con NTFS al di fuori di Windows NT.

NTFS non è supportato sui diffusi sistemi operativi Windows 98 e Windows Millennium Edition.

Caratteristiche principaliNTFS

il lavoro su dischi di grandi dimensioni è efficiente (molto più efficiente che in FAT);

Esistono strumenti per limitare l'accesso a file e directory Þ Le partizioni NTFS forniscono sicurezza locale sia per i file che per le directory;

È stato introdotto un meccanismo di transazione, in cui registrazione operazioni sui file Þ aumento significativo dell'affidabilità;

· sono state rimosse molte restrizioni sul numero massimo di settori disco e/o cluster;

· un nome di file in NTFS, a differenza dei file system FAT e HPFS, può contenere qualsiasi carattere, incluso l'intero set di alfabeti nazionali, poiché i dati sono presentati in Unicode - una rappresentazione a 16 bit, che fornisce 65535 caratteri diversi. La lunghezza massima di un nome file in NTFS è di 255 caratteri.

· NTFS ha anche strumenti di compressione incorporati che puoi applicare a singoli file, intere directory e persino volumi (e successivamente cancellarli o assegnarli a tua discrezione).

Struttura del volume con file system NTFS

Una partizione NTFS è chiamata volume. Le dimensioni massime possibili del volume (e le dimensioni dei file) sono 16 Ebyte (2 exabyte**64).

Come altri sistemi, NTFS divide lo spazio su disco di un volume in cluster, blocchi di dati indirizzati come unità di dati. NTFS supporta dimensioni dei cluster da 512 byte a 64 KB; lo standard è un cluster di 2 o 4 KB.

Tutto lo spazio su disco in NTFS è diviso in due parti disuguali.


Il primo 12% del disco è riservato alla cosiddetta zona MFT - lo spazio che può essere occupato, aumentando di dimensioni, dal servizio principale metafile MFT.

Non è possibile scrivere dati in quest'area. La zona MFT viene sempre mantenuta vuota - questo viene fatto in modo che il file MFT, se possibile, non si frammenti man mano che cresce.

Il restante 88% del volume è il normale spazio di archiviazione dei file.

MFT (maestrofiletavolo- common file table) è essenzialmente una directory di tutti gli altri file sul disco, incluso se stesso. È progettato per determinare la posizione dei file.

La MFT è costituita da record di dimensioni fisse. La dimensione di una voce MFT (minimo 1 KB e massimo 4 KB) viene determinata durante la formattazione del volume.

Ogni voce corrisponde a un file.

Le prime 16 voci sono di natura di servizio e non sono disponibili per il sistema operativo: vengono chiamate metafile, e il primissimo metafile è lo stesso MFT.

Questi primi 16 elementi MFT sono l'unica parte del disco che ha una posizione strettamente fissa. Una copia degli stessi 16 record viene conservata al centro del volume per motivi di sicurezza.

Le restanti parti del file MFT possono trovarsi, come qualsiasi altro file, in posizioni arbitrarie sul disco.

I metafile sono di natura di servizio: ognuno di essi è responsabile di alcuni aspetti del sistema. I metafile si trovano nella directory principale di un volume NTFS. Iniziano tutti con il carattere del nome "$", sebbene sia difficile ottenere informazioni su di essi utilizzando strumenti standard. A tavola. vengono forniti i metafile principali e il loro scopo.

Nome del metafile

Scopo del metafile

$ MFT

La tabella dei file master stessa

$MFTmirr

Una copia dei primi 16 record MFT posta al centro del volume

$logfile

File di supporto per la registrazione

$Volume

Informazioni di servizio: etichetta del volume, versione del file system, ecc.

$AttrDef

Elenco di attributi di file standard su un volume

Root directory

$Bitmap

Mappa dello spazio libero del volume

$ Avvio

Settore di avvio (se la partizione è avviabile)

$Quota

Un file che registra i diritti dell'utente per utilizzare lo spazio su disco (questo file ha iniziato a funzionare solo in Windows 2000 con NTFS 5.0)

$upcase

File - una tabella di corrispondenza tra lettere maiuscole e minuscole nei nomi dei file. In NTFS, i nomi dei file vengono scritti Unicode (che è di 65 mila caratteri diversi) e cercare equivalenti grandi e piccoli in questo caso è un compito non banale

Il record MFT corrispondente memorizza tutte le informazioni sul file:

· nome del file,

· misurare;

attributi del file

posizione sul disco di singoli frammenti, ecc.

Se manca un record MFT per le informazioni, vengono utilizzati più record e non necessariamente uno dopo l'altro.

Se il file non è molto grande, i dati del file vengono memorizzati direttamente nella MFT, nello spazio rimanente dai dati principali, all'interno di un record MFT.

Un file su un volume NTFS è identificato da un cosiddetto collegamento al file(File Reference ), che è rappresentato come un numero a 64 bit.

il numero di file che corrisponde al numero di record nella MFT,

e numeri di sequenza. Questo numero viene incrementato ogni volta che il numero specificato viene riutilizzato nella MFT, consentendo al file system NTFS di eseguire controlli di integrità interni.

Ogni file in NTFS è rappresentato da flussi(flussi ), cioè non ha "solo dati" in quanto tali, ma ci sono flussi.

Uno dei flussi sono i dati del file.

La maggior parte degli attributi di file sono anche flussi.

Pertanto, risulta che il file ha solo un'entità di base: il numero nella MFT e tutto il resto, inclusi i suoi flussi, è facoltativo.

Questo approccio può essere utilizzato in modo efficace: ad esempio, un altro flusso può essere "attaccato" a un file scrivendovi qualsiasi dato.

Gli attributi standard per file e directory su un volume NTFS hanno nomi e codici di tipo fissi.

Catalogare NTFS è un file speciale che memorizza collegamenti ad altri file e directory.

Il file catalogo è suddiviso in blocchi, ognuno dei quali contiene

· nome del file,

attributi di base e

La directory principale di un disco non è diversa dalle directory ordinarie, ad eccezione di un collegamento speciale ad essa dall'inizio del metafile MFT.

La struttura della directory interna è un albero binario come in HPFS.

Il numero di file nelle directory root e non root è illimitato.

Il file system NTFS supporta il modello a oggetti di sicurezza NT: NTFS tratta directory e file come oggetti eterogenei e mantiene elenchi di autorizzazioni separati (sebbene sovrapposti) per ciascun tipo.

NTFS fornisce sicurezza a livello di file; ciò significa che i diritti di accesso a volumi, directory e file possono dipendere dall'account utente e dai gruppi a cui appartiene l'utente. Ogni volta che un utente accede a un oggetto del file system, le sue autorizzazioni vengono confrontate con l'elenco delle autorizzazioni dell'oggetto. Se l'utente dispone di un livello sufficiente di diritti, la sua richiesta viene accolta; in caso contrario, la richiesta viene respinta. Questo modello di sicurezza si applica sia all'accesso dell'utente locale su macchine NT che alle richieste di rete remote.

NTFS ha anche alcune funzionalità di autoriparazione. NTFS supporta vari meccanismi per il controllo dell'integrità del sistema, inclusa la registrazione delle transazioni, che consente di riprodurre le operazioni di scrittura dei file su uno speciale registro di sistema.

A scrivere sul diario operazioni sui file, il sistema di gestione dei file registra le modifiche che si verificano in un file di servizio speciale. All'inizio dell'operazione associata alla modifica della struttura del file, viene creato un segno corrispondente. Se si verifica un errore durante le operazioni sui file, il contrassegno di inizio dell'operazione menzionato rimane indicato come incompleto. Se si esegue un controllo dell'integrità del file system dopo il riavvio della macchina, queste operazioni in sospeso verranno annullate e i file verranno ripristinati allo stato originale. Se l'operazione di modifica dei dati nei file viene completata normalmente, l'operazione viene contrassegnata come completata proprio in questo file di servizio di supporto per la registrazione.

Il principale svantaggio del file systemNTFS- i dati di servizio occupano molto spazio (ad esempio, ogni elemento della directory occupa 2 KB) - per piccole partizioni, i dati di servizio possono occupare fino al 25% del volume del supporto.

Þ NTFS non può essere utilizzato per formattare i dischi floppy. Non usarlo per formattare partizioni inferiori a 100 MB.

File system del sistema operativo UNIX

Nel mondo UNIX, esistono diversi tipi di file system con una propria struttura di memoria esterna. I più noti sono il tradizionale file system UNIX System V (s5) e il file system della famiglia UNIX BSD (ufs).

Considera s 5.

Un file UNIX è un insieme di caratteri ad accesso casuale.

Il file ha una struttura che l'utente gli impone.

Il file system Unix è un file system gerarchico multiutente.

Il file system ha una struttura ad albero. I vertici (nodi intermedi) dell'albero sono directory con collegamenti ad altre directory o file. Le foglie dell'albero corrispondono a file o directory vuote.

Commento. In effetti, il file system Unix non è un albero. Il fatto è che il sistema ha la possibilità di rompere la gerarchia sotto forma di albero, poiché è possibile associare più nomi con lo stesso contenuto di file.

Struttura del disco

Il disco è diviso in blocchi. La dimensione del blocco di dati viene determinata quando il file system viene formattato con il comando mkfs e può essere impostata su 512, 1024, 2048, 4096 o 8192 byte.

Contiamo per 512 byte (dimensione del settore).

Lo spazio su disco è suddiviso nelle seguenti aree (vedi figura):

blocco di caricamento;

superblocco di controllo;

matrice di i-node;

area per la memorizzazione dei contenuti (dati) dei file;

un insieme di blocchi liberi (collegati in un elenco);

Blocco bootstrap

Superblocco

io - nodo

. . .

io - nodo

Commento. Per il file system UFS: tutto questo viene ripetuto per un gruppo di cilindri (ad eccezione del blocco Boot) + viene assegnata un'area speciale per descrivere un gruppo di cilindri

Blocco bootstrap

Il blocco si trova nel blocco #0. (Ricorda che la posizione di questo blocco nel dispositivo di sistema blocco zero è determinata dall'hardware, poiché il caricatore hardware fa sempre riferimento al dispositivo di sistema blocco zero. Questo è l'ultimo componente del file system che dipende dall'hardware.)

Il blocco di avvio contiene un programma spinup utilizzato per avviare inizialmente il sistema operativo UNIX. Nei file system s 5, viene effettivamente utilizzato solo il blocco di avvio del file system root. Nei file system secondari, quest'area è presente ma non utilizzata.

Superblocco

Contiene informazioni operative sullo stato del file system, nonché dati sulle impostazioni del file system.

Nello specifico, il superblocco contiene le seguenti informazioni

il numero di i-node (descrittori di indice);

dimensione della partizione???;

elenco di blocchi liberi;

elenco di i-node gratuiti;

· e altro.

Prestiamo attenzione! Lo spazio libero su disco è elenco collegato di blocchi liberi. Questo elenco è memorizzato nel superblocco.

Gli elementi dell'elenco sono matrici di 50 elementi (se blocco = 512 byte, quindi elemento = 16 bit):

· Gli elementi dell'array n. 1-48 contengono i numeri di blocchi liberi dello spazio dei blocchi di file da 2 a 49.

l'elemento #0 contiene un puntatore alla continuazione dell'elenco, e

· l'ultimo elemento (#49) contiene un puntatore a un elemento libero nell'array.

Se qualche processo necessita di un blocco libero per l'estensione del file, il sistema seleziona un elemento dell'array tramite il puntatore (all'elemento libero) e il blocco con il numero memorizzato in questo elemento viene fornito al file. Se il file viene ridotto, i numeri rilasciati vengono aggiunti all'array di blocchi liberi e il puntatore all'elemento libero viene regolato.

Poiché la dimensione dell'array è di 50 elementi, sono possibili due situazioni critiche:

1. Quando rilasciamo blocchi di file, ma non possono rientrare in questo array. In questo caso, viene selezionato un blocco libero dal file system e l'array completamente riempito di blocchi liberi viene copiato in questo blocco, dopodiché il valore del puntatore all'elemento libero viene impostato su zero e nell'elemento zero dell'array, che è nel superblocco, viene scritto il numero del blocco su cui il sistema ha scelto di copiare il contenuto dell'array. A questo punto viene creato un nuovo elemento della lista dei blocchi liberi (ciascuno con 50 elementi).

2. Quando il contenuto degli elementi dell'array dei blocchi liberi è esaurito (in questo caso, l'elemento zero dell'array è uguale a zero) Se questo elemento non è uguale a zero, significa che c'è una continuazione dell'array . Questa continuazione viene letta in una copia del superblocco nella RAM.

Elenco dei gratuitii-nodi. Questo è un buffer composto da 100 elementi. Contiene informazioni su 100 numeri di i-node attualmente liberi.

Superblock è sempre nella RAM

Þ tutte le operazioni (rilascio e occupazione di blocchi e i-node avvengono nella RAM Þ riducendo al minimo gli scambi di dischi.

Ma! Se il contenuto del superblocco non viene scritto su disco e l'alimentazione viene interrotta, sorgeranno problemi (una discrepanza tra lo stato reale del file system e il contenuto del superblocco). Ma questo è già un requisito per l'affidabilità dell'apparecchiatura del sistema.

Commento. I file system UFS supportano più copie del superblocco (una copia per gruppo di cilindri) per una maggiore resilienza

Zona inode

Questo è un array di descrizioni di file chiamato i-nodi (io-nodo).(64 byte?)

Ogni descrittore di indice (i-node) di un file contiene:

Tipo di file (file/directory/file speciale/fifo/socket)

Attributi (autorizzazioni) - 10

ID del proprietario del file

L'ID del gruppo proprietario del file

Ora di creazione del file

Ora di modifica del file

L'ultima volta che è stato effettuato l'accesso al file

Lunghezza file

Il numero di collegamenti al dato i-node da diverse directory

Indirizzi di blocchi di file

!Nota. Non c'è nessun nome di file qui

Diamo un'occhiata più da vicino a come è organizzato. indirizzamento di blocco, che contiene il file. Quindi, nel campo con gli indirizzi ci sono i numeri dei primi 10 blocchi del file.

Se il file supera i dieci blocchi, inizia a funzionare il seguente meccanismo: l'undicesimo elemento del campo contiene il numero del blocco, che contiene 128 (256) collegamenti ai blocchi del file specificato. Nel caso in cui il file sia ancora più grande, viene utilizzato il dodicesimo elemento del campo: contiene il numero di blocco, che contiene 128 (256) numeri di blocco, in cui ogni blocco contiene 128 (256) numeri di blocco del file system. E se il file è ancora più grande, viene utilizzato il tredicesimo elemento, dove la profondità di annidamento dell'elenco viene aumentata di un altro.

Quindi, possiamo ottenere un file di dimensioni (10+128+128 2 +128 3)*512.

Questo può essere rappresentato nella seguente forma:

Indirizzo del primo blocco di file

Indirizzo del secondo blocco di file

Indirizzo del decimo blocco di file

Indirizzo di blocco indiretto (blocco con 256 indirizzi di blocco)

Indirizzo di blocco del 2° indirizzamento indiretto (blocco con 256 blocchi di indirizzi con indirizzi)

Indirizzo di blocco del 3° indirizzamento indiretto (blocco con indirizzi di blocco con indirizzi di blocco con indirizzi)

Protezione file

Ora diamo un'occhiata agli ID del proprietario e del gruppo e ai bit di sicurezza.

Il sistema operativo Unix utilizza gerarchia di utenti a tre livelli:

Il primo livello è tutti gli utenti.

Il secondo livello sono i gruppi di utenti. (Tutti gli utenti sono divisi in gruppi.

Il terzo livello è un utente specifico (i gruppi sono costituiti da utenti reali). A causa di questa organizzazione a tre livelli degli utenti, ogni file ha tre attributi:

1) Il proprietario del file. Questo attributo è associato a un particolare utente, che viene assegnato automaticamente dal sistema come proprietario del file. Puoi diventare il proprietario predefinito creando un file e c'è anche un comando che ti consente di cambiare il proprietario di un file.

2) Protezione dall'accesso ai file. L'accesso a ciascun file è limitato in tre categorie:

diritti del proprietario (cosa il proprietario può fare con questo file, nel caso generale - non necessariamente nulla);

i diritti del gruppo a cui appartiene il proprietario del file. Il proprietario non è incluso qui (ad esempio, un file può essere bloccato in lettura per il proprietario e tutti gli altri membri del gruppo possono leggere liberamente da questo file;

tutti gli altri utenti del sistema;

Secondo queste tre categorie, sono regolate tre azioni: leggere da un file, scrivere su un file ed eseguire un file (negli mnemonici di sistema R, W, X, rispettivamente). In ogni file, queste tre categorie definiscono quale utente può leggere, quale scrivere e chi può eseguirlo come processo.

Organizzazione del catalogo

La directory dal punto di vista del sistema operativo è un normale file che contiene dati su tutti i file che appartengono alla directory.

L'elemento directory è costituito da due campi:

1) il numero dell'i-node (numero di serie nell'array di i-node) e

2)nome file:

Ogni directory contiene due nomi speciali: '.' - la directory stessa; '..' è la directory principale.

(Per la directory principale, il genitore fa riferimento a se stesso.)

In generale, una directory può avere voci che fanno riferimento allo stesso i-node più di una volta, ma una directory non può avere voci con lo stesso nome. Cioè, un numero arbitrario di nomi può essere associato al contenuto di un file. È chiamato legame. Viene chiamata una voce di directory che fa riferimento a un singolo file comunicazione.

I file esistono indipendentemente dalle voci di directory e i collegamenti di directory puntano effettivamente a file fisici. Un file "scompare" quando viene rimosso l'ultimo link che punta ad esso.

Quindi, per accedere a un file per nome, sistema operativo

1. trova questo nome nella directory contenente il file,

2. ottiene il numero i-node del file,

3. per numero trova i-node nell'area degli i-nodi,

4. dall'i-node riceve gli indirizzi dei blocchi in cui si trovano i dati del file,

5. legge i blocchi dall'area dati per indirizzi di blocco.

Struttura della partizione del disco in EST2 FS

L'intero spazio della partizione è diviso in blocchi. Un blocco può avere una dimensione di 1, 2 o 4 kilobyte. Un blocco è un'unità indirizzabile di spazio su disco.

I blocchi nella loro area sono combinati in gruppi di blocchi. I gruppi di blocchi in un file system e i blocchi all'interno di un gruppo sono numerati in sequenza a partire da 1. Il primo blocco su un disco è numerato 1 e appartiene al gruppo numero 1. Il numero totale di blocchi su un disco (in una partizione del disco) è un divisore della dimensione del disco espresso in settori. E il numero di gruppi di blocchi non deve dividere il numero di blocchi, perché l'ultimo gruppo di blocchi potrebbe non essere completo. L'inizio di ogni gruppo di blocchi ha un indirizzo, che può essere ottenuto come ((numero gruppo - 1)* (numero di blocchi nel gruppo)).

Ogni gruppo di blocchi ha la stessa struttura. La sua struttura è presentata nella tabella.

Il primo elemento di questa struttura (superblock) è lo stesso per tutti i gruppi, e tutto il resto è individuale per ogni gruppo. Il superblocco è memorizzato nel primo blocco di ogni gruppo di blocchi (ad eccezione del gruppo 1, che ha un record di avvio nel primo blocco). Superbloccoè il punto di partenza del file system. Ha una dimensione di 1024 byte e si trova sempre all'offset 1024 byte dall'inizio del file system. La presenza di più copie del superblocco è spiegata dall'estrema importanza di questo elemento del file system. I duplicati Superblock vengono utilizzati durante il ripristino di un file system dopo gli arresti anomali.

Le informazioni memorizzate nel superblocco vengono utilizzate per organizzare l'accesso al resto dei dati sul disco. Il superblocco determina la dimensione del file system, il numero massimo di file nella partizione, la quantità di spazio libero e contiene informazioni su dove cercare le aree non allocate. All'avvio del sistema operativo, il superblocco viene letto in memoria e tutte le modifiche al file system vengono prima riflesse nella copia del superblocco situata nel sistema operativo e vengono scritte su disco solo periodicamente. Ciò migliora le prestazioni del sistema perché molti utenti e processi aggiornano costantemente i file. D'altra parte, quando si spegne il sistema, il superblocco deve essere scritto su disco, il che non consente di spegnere il computer semplicemente spegnendo l'alimentazione. In caso contrario, al successivo avvio, le informazioni scritte nel superblocco non corrisponderanno allo stato reale del file system.

Dopo il superblocco c'è la descrizione del gruppo di blocchi (descrittori di gruppo). Questa descrizione contiene:

L'indirizzo del blocco contenente la bitmap del blocco del gruppo dato;

Indirizzo del blocco contenente la bitmap inode del gruppo dato;

L'indirizzo del blocco contenente la tabella inode di questo gruppo;

Contatore del numero di blocchi liberi in questo gruppo;

Il numero di inode liberi in questo gruppo;

Numero di inode in questo gruppo che sono directory

e altri dati.

Le informazioni memorizzate nella descrizione del gruppo vengono utilizzate per trovare le bitmap dei blocchi e degli inode e la tabella degli inode.

Sistema di file int 2 è caratterizzato da:

  • struttura gerarchica,
  • elaborazione coordinata di array di dati,
  • estensione di file dinamica,
  • protezione delle informazioni nei file,
  • trattare le periferiche (come terminali e unità a nastro) come file.

Rappresentazione interna dei file

Ogni file in un sistema Ext 2 ha un indice univoco. L'indice contiene le informazioni necessarie a qualsiasi processo per accedere al file. Elabora i file di accesso utilizzando un insieme ben definito di chiamate di sistema e identifica il file con una stringa di caratteri che funge da percorso del file. Ogni nome composto identifica in modo univoco un file, grazie al quale il kernel del sistema converte questo nome in un indice di file.L'indice include una tabella di indirizzi in cui si trovano le informazioni sul file sul disco. Poiché ogni blocco sul disco è indirizzato dal suo numero, questa tabella memorizza una raccolta di numeri di blocco del disco. Per aumentare la flessibilità, il kernel aggiunge un blocco alla volta a un file, consentendo la dispersione delle informazioni del file in tutto il file system. Ma un tale layout complica il compito di trovare i dati. La tabella degli indirizzi contiene un elenco di numeri di blocco contenenti informazioni appartenenti al file.

File inode

Ogni file sul disco ha un inode di file corrispondente, che è identificato dal suo numero ordinale - l'indice del file. Ciò significa che il numero di file che possono essere creati nel file system è limitato dal numero di inode, che viene impostato esplicitamente quando viene creato il file system o calcolato dalla dimensione fisica della partizione del disco. Gli inode esistono in forma statica su disco e il kernel li legge in memoria prima di lavorarci.

Il file inode contiene le seguenti informazioni:

- Il tipo e le autorizzazioni di questo file.

ID del proprietario del file (Uid proprietario).

Dimensione del file in byte.

L'ora dell'ultimo accesso al file (Tempo di accesso).

Ora di creazione del file.

L'ora dell'ultima modifica del file.

Tempo di cancellazione del file.

ID gruppo (GID).

I link contano.

Il numero di blocchi occupati dal file.

Flag di file

Riservato al sistema operativo

Puntatori a blocchi in cui vengono scritti i dati del file (un esempio di indirizzamento diretto e indiretto in Fig. 1)

Versione del file (per NFS)

File ACL

directory ACL

Indirizzo del frammento

Numero di frammento

Dimensione del frammento

Cataloghi

Le directory sono file.

Il kernel memorizza i dati in una directory proprio come fa in un normale tipo di file, utilizzando una struttura di indice e blocchi con livelli di indirizzo diretti e indiretti. I processi possono leggere i dati dalle directory nello stesso modo in cui leggono i normali file, tuttavia, l'accesso in scrittura esclusivo alla directory è riservato dal kernel per garantire che la struttura della directory sia corretta.).

Quando un processo utilizza un percorso di file, il kernel cerca nelle directory il numero di inode corrispondente. Dopo che il nome del file è stato convertito in un numero di inode, quell'inode viene messo in memoria e quindi utilizzato nelle richieste successive.

Funzionalità aggiuntive di EXT2 FS

Oltre alle funzionalità Unix standard, EXT2fs fornisce alcune funzionalità aggiuntive normalmente non supportate dai filesystem Unix.

Gli attributi dei file consentono di modificare il modo in cui il kernel reagisce quando si lavora con insiemi di file. È possibile impostare gli attributi su un file o una directory. Nel secondo caso, i file creati in questa directory erediteranno questi attributi.

Durante il montaggio del sistema, è possibile impostare alcune funzionalità relative agli attributi dei file. L'opzione di montaggio consente all'amministratore di scegliere come vengono creati i file. Su un file system specifico per BSD, i file vengono creati con lo stesso ID di gruppo della directory padre. Le caratteristiche di System V sono in qualche modo più complesse. Se il bit setgid di una directory è impostato, i file creati ereditano l'ID gruppo della directory e le sottodirectory ereditano l'ID gruppo e il bit setgid. In caso contrario, i file e le directory vengono creati con l'ID gruppo principale del processo chiamante.

Il sistema EXT2fs può utilizzare la modifica sincrona dei dati simile al sistema BSD. L'opzione di montaggio consente all'amministratore di specificare che tutti i dati (descrittori di indice, blocchi di bit, blocchi indiretti e blocchi di directory) vengano scritti su disco in modo sincrono quando vengono modificati. Questo può essere utilizzato per ottenere un throughput di scrittura elevato, ma si traduce anche in prestazioni scadenti. Infatti, questa funzione non viene solitamente utilizzata, perché oltre al degrado delle prestazioni, può portare alla perdita di dati dell'utente non contrassegnati durante il controllo del file system.

EXT2fs consente di scegliere la dimensione del blocco logico durante la creazione di un file system. Può avere una dimensione di 1024, 2048 o 4096 byte. L'utilizzo di blocchi di grandi dimensioni porta a operazioni di I/O più veloci (poiché il numero di richieste al disco è ridotto) e, di conseguenza, a un minor movimento delle testine. D'altra parte, l'utilizzo di blocchi di grandi dimensioni comporta una perdita di spazio su disco. Di solito l'ultimo blocco di un file non viene utilizzato completamente per la memorizzazione delle informazioni, quindi con un aumento delle dimensioni del blocco aumenta la quantità di spazio su disco sprecato.

EXT2fs consente di utilizzare collegamenti simbolici accelerati. Quando vengono utilizzati tali collegamenti, i blocchi di dati del file system non vengono utilizzati. Il nome del file di destinazione non è memorizzato nel blocco dati, ma nell'inode stesso. Questa struttura consente di risparmiare spazio su disco e velocizzare l'elaborazione dei collegamenti simbolici. Naturalmente, lo spazio riservato all'handle è limitato, quindi non tutti i collegamenti possono essere rappresentati come collegamenti accelerati. La lunghezza massima di un nome di file in un collegamento accelerato è di 60 caratteri. Nel prossimo futuro, si prevede di espandere questo schema per file di piccole dimensioni.

EXT2fs controlla lo stato del file system. Il kernel utilizza un campo separato nel superblocco per indicare lo stato del file system. Se il file system è montato in modalità lettura/scrittura, il suo stato è impostato su "Non pulito". Se viene smontato o rimontato in modalità di sola lettura, il suo stato è impostato su "Pulito". Durante l'avvio del sistema e i controlli dello stato del file system, queste informazioni vengono utilizzate per determinare se è necessario un controllo del file system. Il kernel inserisce anche alcuni errori in questo campo. Quando il kernel rileva un'incoerenza, il filesystem viene contrassegnato come "Errore". Il controllo del file system verifica queste informazioni per controllare il sistema, anche se il suo stato è effettivamente "Pulito".

Ignorare il test del file system per lungo tempo può a volte portare ad alcune difficoltà, quindi EXT2fs include due metodi per controllare regolarmente il sistema. Il superblocco contiene un contatore di montaggio del sistema. Questo contatore viene incrementato ogni volta che il sistema viene montato in modalità lettura/scrittura. Se il suo valore raggiunge il valore massimo (è anche memorizzato nel superblocco), la routine di test del file system esegue un controllo del file system, anche se il suo stato è "Pulito". Anche l'ora dell'ultimo controllo e l'intervallo massimo tra i controlli vengono memorizzati nel superblocco. Quando viene raggiunto l'intervallo massimo tra i controlli, lo stato del file system viene ignorato e viene avviato il controllo.

Ottimizzazione delle prestazioni

Il sistema EXT2fs contiene molte funzionalità che ne ottimizzano le prestazioni, il che porta ad un aumento della velocità di scambio di informazioni durante la lettura e la scrittura di file.

EXT2fs fa un uso pesante del buffer del disco. Quando un blocco deve essere letto, il kernel invia una richiesta di I/O a diversi blocchi contigui. Pertanto, il kernel cerca di assicurarsi che il prossimo blocco da leggere sia già stato caricato nel buffer del disco. Tali operazioni vengono solitamente eseguite durante la lettura sequenziale dei file.

Il sistema EXT2fs contiene anche un gran numero di ottimizzazioni del layout delle informazioni. I gruppi di blocchi vengono utilizzati per raggruppare inode e blocchi di dati corrispondenti. Il kernel cerca sempre di mettere i blocchi di dati di un file nello stesso gruppo, così come il suo descrittore. Questo ha lo scopo di ridurre il movimento delle testine di azionamento durante la lettura del descrittore e dei relativi blocchi di dati.

Quando si scrivono dati su un file, EXT2fs prealloca fino a 8 blocchi contigui quando si inserisce un nuovo blocco. Questo metodo consente di ottenere prestazioni elevate con un carico di sistema pesante. Consente inoltre di allocare blocchi contigui per i file, il che ne velocizza la successiva lettura.

File system FAT

GRASSO16

Il file system FAT16 è precedente a MS-DOS ed è supportato da tutti i sistemi operativi Microsoft per compatibilità. Il suo nome File Allocation Table (tabella di ubicazione dei file) riflette perfettamente l'organizzazione fisica del file system, le cui caratteristiche principali includono il fatto che la dimensione massima di un volume supportato (disco rigido o partizione su un disco rigido) non supera 4095 MB. Ai tempi di MS-DOS, i dischi rigidi da 4 GB sembravano un sogno irrealizzabile (i dischi da 20-40 MB erano un lusso), quindi una tale riserva era abbastanza giustificata.

Un volume formattato per utilizzare FAT16 è suddiviso in cluster. La dimensione predefinita del cluster dipende dalla dimensione del volume e può variare da 512 byte a 64 KB. A tavola. La figura 2 mostra come la dimensione del cluster dipende dalla dimensione del volume. Si noti che la dimensione del cluster può differire dal valore predefinito, ma deve avere uno dei valori specificati nella Tabella 1. 2 .

Non è consigliabile utilizzare il file system FAT16 su volumi superiori a 511 MB, poiché lo spazio su disco verrà utilizzato in modo estremamente inefficiente per file relativamente piccoli (un file da 1 byte richiederà 64 KB). Indipendentemente dalle dimensioni del cluster, il file system FAT16 non è supportato per volumi superiori a 4 GB.

GRASSO32

A partire da Microsoft Windows 95 OEM Service Release 2 (OSR2), Windows ha introdotto il supporto per FAT a 32 bit. Per i sistemi basati su Windows NT, questo file system è stato inizialmente supportato in Microsoft Windows 2000. Mentre FAT16 può supportare volumi fino a 4 GB, FAT32 può supportare volumi fino a 2 TB. La dimensione del cluster in FAT32 può variare da 1 (512 byte) a 64 settori (32 KB). I valori del cluster FAT32 richiedono la memorizzazione di 4 byte (32 bit, non 16 come in FAT16). Ciò significa, in particolare, che alcune utilità di file progettate per FAT16 non possono funzionare con FAT32.

La differenza principale tra FAT32 e FAT16 è che la dimensione della partizione logica del disco è cambiata. FAT32 supporta volumi fino a 127 GB. Allo stesso tempo, se quando si utilizza FAT16 con dischi da 2 GB, era richiesto un cluster da 32 KB, in FAT32 un cluster da 4 KB è adatto per dischi da 512 MB a 8 GB (Tabella 4).

Ciò significa di conseguenza un uso più efficiente dello spazio su disco: più piccolo è il cluster, minore è lo spazio necessario per archiviare il file e, di conseguenza, il disco diventa meno frammentato.

Quando si utilizza FAT32, la dimensione massima del file può essere fino a 4 GB meno 2 byte. Se quando si utilizza FAT16 il numero massimo di voci nella directory principale era limitato a 512, FAT32 consente di aumentare questo numero a 65.535.

FAT32 impone restrizioni sulla dimensione minima del volume: deve essere di almeno 65.527 cluster. Allo stesso tempo, la dimensione del cluster non può essere tale che il FAT occupi più di 16 MB - 64 KB / 4 o 4 milioni di cluster.

Quando si utilizzano nomi di file lunghi, i dati richiesti per l'accesso da FAT16 e FAT32 non si sovrappongono. Quando un file viene creato con un nome file lungo, Windows crea il nome in formato 8.3 corrispondente e una o più voci di directory per memorizzare il nome lungo (13 caratteri dal nome file lungo per voce). Ogni occorrenza successiva memorizza la parte corrispondente del nome del file in formato Unicode. Tali voci hanno gli attributi "volume id", "read-only", "system" e "hidden", un insieme che viene ignorato da MS-DOS; su questo sistema operativo, si accede a un file tramite il suo "alias" in formato 8.3.

Filesystem NTFS

Microsoft Windows 2000 include il supporto per una nuova versione del file system NTFS, che, in particolare, fornisce lavoro con i servizi di directory di Active Directory, reparse point, strumenti di sicurezza delle informazioni, controllo degli accessi e una serie di altre funzionalità.

Come con FAT, l'unità di base delle informazioni in NTFS è il cluster. A tavola. La Figura 5 mostra le dimensioni predefinite dei cluster per volumi di varie capacità.

Quando si crea un file system NTFS, il formattatore crea un file MTF (Master File Table) e altre aree per l'archiviazione dei metadati. I metadati vengono utilizzati da NTFS per implementare la struttura del file. Le prime 16 voci nella MFT sono riservate da NTFS stesso. La posizione dei file di metadati $Mft e $MftMirr viene registrata nel settore di avvio del disco. Se la prima voce nella MFT è danneggiata, NTFS legge la seconda voce per trovare una copia della prima. Una copia completa del settore di avvio si trova alla fine del volume. A tavola. 6 elenca i principali metadati memorizzati nella MFT.

Le restanti voci MFT contengono voci per ogni file e directory che si trovano sul volume.

In genere, un file utilizza una voce nella MFT, ma se il file ha un ampio set di attributi o diventa troppo frammentato, potrebbero essere necessarie voci aggiuntive per memorizzare informazioni su di esso. In questo caso, il primo record relativo al file, chiamato record di base, memorizza la posizione degli altri record. I dati su file e directory di piccole dimensioni (fino a 1500 byte) sono completamente contenuti nella prima voce.

Attributi di file in NTFS

Ogni settore occupato su un volume NTFS appartiene a un particolare file. Anche i metadati del file system fanno parte del file. NTFS tratta ogni file (o directory) come un insieme di attributi di file. Elementi come il nome del file, le sue informazioni di protezione e persino i dati in esso contenuti sono attributi del file. Ogni attributo è identificato da uno specifico codice tipo e, facoltativamente, da un nome di attributo.

Se gli attributi di un file rientrano in un record di file, vengono chiamati attributi residenti. Questi attributi sono sempre il nome del file e la data in cui è stato creato. Nei casi in cui le informazioni su un file sono troppo grandi per essere contenute in un singolo record MFT, alcuni degli attributi del file diventano non residenti. Gli attributi residenti sono archiviati in uno o più cluster e rappresentano un flusso di dati alternativi per il volume corrente (ne parleremo più avanti). Per descrivere la posizione degli attributi residenti e non residenti, NTFS crea un attributo Elenco attributi.

A tavola. 7 mostra i principali attributi di file definiti in NTFS. Questo elenco potrebbe essere ampliato in futuro.

File system CDFS

Windows 2000 fornisce il supporto per il file system CDFS, conforme allo standard ISO'9660, che descrive la posizione delle informazioni su un CD-ROM. I nomi di file lunghi sono supportati secondo ISO'9660 Livello 2.

Quando si crea un CD-ROM da utilizzare con Windows 2000, tenere presente quanto segue:

  • tutti i nomi di directory e file devono contenere meno di 32 caratteri;
  • tutti i nomi di directory e file devono contenere solo caratteri maiuscoli;
  • la profondità delle directory non deve superare gli 8 livelli dalla radice;
  • l'uso di estensioni di file è facoltativo.

Confronto di file system

In Microsoft Windows 2000, è possibile utilizzare FAT16, FAT32, NTFS o combinazioni di questi file system. La scelta del sistema operativo dipende dai seguenti criteri:

  • come viene utilizzato il computer;
  • piattaforma hardware;
  • dimensioni e numero di dischi rigidi;
  • informazioni di sicurezza

File system FAT

Come avrai notato, i numeri nei nomi dei file system - FAT16 e FAT32 - indicano il numero di bit necessari per memorizzare le informazioni sui numeri di cluster utilizzati dal file. Pertanto, FAT16 utilizza l'indirizzamento a 16 bit e, di conseguenza, è possibile utilizzare fino a 216 indirizzi. In Windows 2000, i primi quattro bit della tabella delle posizioni dei file FAT32 sono necessari per uso interno, quindi FAT32 raggiunge 228 indirizzi.

A tavola. 8 mostra le dimensioni dei cluster per i file system FAT16 e FAT32.

Oltre alle differenze significative nella dimensione del cluster, FAT32 consente anche l'espansione della directory principale (in FAT16, il numero di voci è limitato a 512 e può essere anche inferiore quando si utilizzano nomi di file lunghi).

Vantaggi di FAT16

Tra i vantaggi di FAT16 ci sono i seguenti:

  • il file system è supportato da MS-DOS, Windows 95, Windows 98, Windows NT, Windows 2000 e alcuni sistemi operativi UNIX;
  • esiste un gran numero di programmi che consentono di correggere errori in questo file system e recuperare i dati;
  • se ci sono problemi con l'avvio dall'hard disk, il sistema può essere avviato dal floppy disk;
  • questo file system è abbastanza efficiente per volumi inferiori a 256 MB.
Svantaggi di FAT16

I principali svantaggi di FAT16 includono:

  • la directory principale non può contenere più di 512 voci. L'uso di nomi di file lunghi riduce notevolmente il numero di questi elementi;
  • FAT16 supporta un massimo di 65.536 cluster e poiché alcuni cluster sono riservati dal sistema operativo, il numero di cluster disponibili è 65.524 Ciascun cluster ha una dimensione fissa per un determinato LUN. Quando viene raggiunto il numero massimo di cluster alla loro dimensione massima (32 KB), il volume massimo supportato è limitato a 4 GB (in Windows 2000). Per mantenere la compatibilità con MS-DOS, Windows 95 e Windows 98, la dimensione di un volume FAT16 non deve superare i 2 GB;
  • FAT16 non supporta la protezione e la compressione dei file integrate;
  • su dischi di grandi dimensioni, viene sprecato molto spazio a causa del fatto che viene utilizzata la dimensione massima del cluster. Lo spazio per il file viene allocato in base alla dimensione del cluster, non al file.
Vantaggi di FAT32

Tra i vantaggi di FAT32 ci sono i seguenti:

  • l'allocazione dello spazio su disco viene eseguita in modo più efficiente, soprattutto per i dischi di grandi dimensioni;
  • la directory principale in FAT32 è una normale catena di cluster e può trovarsi ovunque sul disco. Per questo motivo, FAT32 non impone alcuna restrizione sul numero di elementi nella directory principale;
  • a causa dell'utilizzo di cluster più piccoli (4 KB su dischi fino a 8 GB), lo spazio su disco occupato è solitamente inferiore del 10-15% rispetto a FAT16;
  • FAT32 è il file system più sicuro. In particolare, supporta la possibilità di spostare la directory principale e utilizzare un backup FAT. Inoltre, il record di avvio contiene una serie di dati critici per il file system.
Svantaggi di FAT32

I principali svantaggi di FAT32:

  • la dimensione del volume quando si utilizza FAT32 in Windows 2000 è limitata a 32 GB;
  • I volumi FAT32 non sono disponibili da altri sistemi operativi, solo da Windows 95 OSR2 e Windows 98;
  • il backup del settore di avvio non è supportato;
  • FAT32 non supporta la protezione e la compressione dei file integrate.

Filesystem NTFS

Quando si utilizza Windows 2000, Microsoft consiglia di formattare tutte le partizioni del disco rigido in NTFS, ad eccezione delle configurazioni in cui vengono utilizzati più sistemi operativi (ad eccezione di Windows 2000 e Windows NT). L'utilizzo di NTFS invece di FAT consente di utilizzare le funzionalità disponibili in NTFS. Questi includono, in particolare:

  • la possibilità di recupero. Questa funzione è "incorporata" nel file system. NTFS garantisce la sicurezza dei dati grazie al fatto che utilizza un protocollo e alcuni algoritmi di recupero delle informazioni. In caso di guasto del sistema, NTFS utilizza il protocollo e informazioni aggiuntive per ripristinare automaticamente l'integrità del file system;
  • compressione delle informazioni. Per i volumi NTFS, Windows 2000 supporta la compressione di un singolo file. Tali file compressi possono essere utilizzati dalle applicazioni Windows senza previa decompressione, che si verifica automaticamente durante la lettura dal file. Quando si chiude e si salva il file viene nuovamente impacchettato;
  • Inoltre, si possono distinguere i seguenti vantaggi di NTFS:

Alcune funzionalità del sistema operativo richiedono NTFS;

La velocità di accesso è molto più elevata: NTFS riduce al minimo il numero di accessi al disco necessari per trovare un file;

Protezione di file e directory. Solo sui volumi NTFS è possibile impostare gli attributi di accesso a file e cartelle;

Quando si utilizza NTFS, Windows 2000 supporta volumi fino a 2 TB;

Il file system mantiene una copia di backup del settore di avvio: si trova alla fine del volume;

NTFS supporta il sistema di crittografia Encrypted File System (EFS), che fornisce protezione contro l'accesso non autorizzato al contenuto dei file;

Quando si utilizzano le quote, è possibile limitare la quantità di spazio su disco utilizzata dagli utenti.

Svantaggi di NTFS

Parlando delle carenze del file system NTFS, va notato che:

  • I volumi NTFS non sono disponibili in MS-DOS, Windows 95 e Windows 98. Inoltre, numerose funzionalità disponibili in NTFS in Windows 2000 non sono disponibili in Windows 4.0 e versioni precedenti;
  • Piccoli volumi contenenti molti file di piccole dimensioni potrebbero subire un calo delle prestazioni rispetto a FAT.

File system e velocità

Come abbiamo già scoperto, per piccoli volumi, FAT16 o FAT32 fornisce un accesso ai file più rapido rispetto a NTFS, poiché:

  • FAT ha una struttura più semplice;
  • le directory sono più piccole;
  • FAT non supporta la protezione dei file dall'accesso non autorizzato: il sistema non ha bisogno di controllare le autorizzazioni dei file.

NTFS riduce al minimo il numero di accessi al disco e il tempo necessario per trovare un file. Inoltre, se la dimensione della directory è sufficientemente piccola da contenere una singola voce MFT, l'intera voce viene letta in una volta sola.

Una voce nella FAT contiene il numero di cluster per il primo cluster nella directory. La visualizzazione di un file FAT richiede la ricerca nell'intera struttura del file.

Quando si confronta la velocità delle operazioni eseguite per le directory contenenti nomi di file brevi e lunghi, è necessario tenere conto del fatto che la velocità delle operazioni per FAT dipende dall'operazione stessa e dalla dimensione della directory. Se FAT cerca un file che non esiste, cerca nell'intera directory, un'operazione che richiede più tempo rispetto alla ricerca nella struttura ad albero B utilizzata da NTFS. Il tempo medio necessario per trovare un file in FAT è espresso in funzione di N/2, in NTFS è espresso come log N, dove N è il numero di file.

Alcuni dei seguenti fattori influenzano la velocità di lettura e scrittura dei file in Windows 2000:

  • frammentazione dei file. Se il file è molto frammentato, NTFS di solito richiede meno accessi al disco rispetto a FAT per trovare tutti i frammenti;
  • dimensione del grappolo. Per entrambi i file system, la dimensione predefinita del cluster dipende dalla dimensione del volume ed è sempre espressa come potenza di 2. Gli indirizzi in FAT16 sono a 16 bit, in FAT32 sono a 32 bit, in NTFS sono a 64 bit;
  • la dimensione predefinita del cluster in FAT si basa sul fatto che la tabella delle posizioni dei file non può contenere più di 65.535 voci: la dimensione del cluster è una funzione della dimensione del volume divisa per 65.535. Pertanto, la dimensione predefinita del cluster per un volume FAT è sempre maggiore della dimensione del cluster per un volume NTFS della stessa dimensione. Si noti che una dimensione del cluster maggiore per i volumi FAT significa che i volumi FAT possono essere meno frammentati;
  • posizione di piccoli file. Quando si utilizza NTFS, i file di piccole dimensioni sono contenuti in un record MFT. La dimensione di un file che rientra in un singolo record MFT dipende dal numero di attributi in quel file.

Dimensione massima dei volumi NTFS

In teoria, NTFS supporta volumi con un massimo di 232 cluster. Tuttavia, oltre alla mancanza di dischi rigidi di queste dimensioni, esistono altre restrizioni sulla dimensione massima del volume.

Una di queste limitazioni è la tabella delle partizioni. Gli standard del settore limitano la dimensione della tabella delle partizioni da 2 a 32 settori. Un'altra limitazione è la dimensione del settore, che in genere è di 512 byte. Poiché la dimensione del settore potrebbe cambiare in futuro, la dimensione attuale limita la dimensione di un singolo volume a 2 TB (2 32 x 512 byte = 2 41). Pertanto, 2 TB è il limite pratico per i volumi fisici e logici NTFS.

A tavola. La Figura 11 mostra le principali limitazioni di NTFS.

Gestione dell'accesso a file e directory

Quando si utilizzano i volumi NTFS, è possibile impostare le autorizzazioni per file e directory. Questi diritti di accesso specificano quali utenti e gruppi possono accedervi e quale livello di accesso è consentito. Tali diritti di accesso si applicano sia agli utenti che lavorano sul computer in cui si trovano i file, sia agli utenti che accedono ai file tramite la rete quando il file si trova in una directory aperta per l'accesso remoto.

In NTFS, puoi anche impostare le autorizzazioni di accesso remoto combinate con le autorizzazioni per file e directory. Inoltre, anche gli attributi del file (sola lettura, nascosto, sistema) limitano l'accesso al file.

In FAT16 e FAT32, è anche possibile impostare gli attributi dei file, ma non forniscono i permessi dei file.

La versione di NTFS utilizzata in Windows 2000 ha introdotto un nuovo tipo di autorizzazione di accesso denominata autorizzazione ereditata. La scheda Sicurezza contiene l'opzione Consenti alle autorizzazioni ereditabili dall'elemento padre di propagarsi a questo oggetto file, che è attivo per impostazione predefinita. Questa opzione riduce significativamente il tempo necessario per modificare le autorizzazioni per file e sottodirectory. Ad esempio, per modificare i permessi di un albero contenente centinaia di sottodirectory e file, è sufficiente abilitare questa opzione: in Windows NT 4, è necessario modificare gli attributi di ogni singolo file e sottodirectory.

Sulla fig. La Figura 5 mostra la finestra di dialogo Proprietà e la scheda Protezione (sezione Avanzate) che elenca le autorizzazioni file estese.

Ricordiamo che per i volumi FAT l'accesso può essere controllato solo a livello di volume e tale controllo è possibile solo con accesso remoto.

Compressione di file e directory

Windows 2000 supporta la compressione di file e directory che si trovano su volumi NTFS. I file compressi sono leggibili e scrivibili da qualsiasi applicazione Windows. Per questo, non è necessario il loro disimballaggio preliminare. L'algoritmo di compressione utilizzato è simile a quello utilizzato in DoubleSpace (MS-DOS 6.0) e DriveSpace (MS-DOS 6.22), ma presenta una differenza significativa: in MS-DOS, viene compressa un'intera partizione primaria o un dispositivo logico, mentre in NTFS puoi impacchettare singoli file e directory.

L'algoritmo di compressione in NTFS è progettato per supportare cluster di dimensioni fino a 4 KB. Se la dimensione del cluster è superiore a 4 KB, le funzionalità di compressione NTFS non sono più disponibili.

NTFS autoriparante

Il file system NTFS è autoriparante e può mantenere la propria integrità attraverso l'uso di un registro delle azioni intraprese e una serie di altri meccanismi.

NTFS considera ogni operazione che modifica i file di sistema sui volumi NTFS come una transazione e memorizza le informazioni su tale transazione in un registro. Una transazione avviata può essere completamente completata (commit) o ​​annullata (rollback). In quest'ultimo caso, il volume NTFS torna allo stato precedente all'inizio della transazione. Per gestire le transazioni, NTFS scrive tutte le operazioni coinvolte in una transazione in un file di registro prima che venga scritto su disco. Dopo che la transazione è stata completata, vengono eseguite tutte le operazioni. Pertanto, sotto la gestione NTFS, non possono esserci operazioni in sospeso. In caso di guasti del disco, le operazioni in sospeso vengono semplicemente annullate.

Sotto il controllo di NTFS, vengono eseguite anche operazioni che consentono di identificare al volo i cluster danneggiati e di allocare nuovi cluster per le operazioni sui file. Questo meccanismo è chiamato rimappatura del cluster.

In questa recensione, abbiamo esaminato i vari file system supportati in Microsoft Windows 2000, discusso la struttura di ciascuno di essi, notato i loro vantaggi e svantaggi. Il più promettente è il file system NTFS, che ha un ampio set di funzionalità che non sono disponibili in altri file system. La nuova versione di NTFS supportata da Microsoft Windows 2000 ha ancora più funzionalità ed è quindi consigliata per l'utilizzo durante l'installazione del sistema operativo Win 2000.

ComputerPress 7"2000

Molti utenti si trovano di fronte a un malinteso sulle basi del funzionamento dei file system di Windows. Sembrerebbe, perché una teoria inutile? Infatti, è la conoscenza del profondo funzionamento di vari file system che consente di scegliere correttamente l'uno o l'altro file system per l'uno o l'altro supporto di memorizzazione. A volte un errore nella scelta può diventare critico in seguito quando si risolve il problema del recupero delle informazioni o dell'usura prematura dei supporti.

Il file system è costituito da un sistema di gestione dei file e da una raccolta di file su un determinato tipo di supporto (CD, DVD, FDD, HDD, Flash, ecc.). Un sistema di gestione dei file offre agli utenti e alle applicazioni la possibilità di accedere ai file, memorizzarli e mantenere l'integrità del loro contenuto. Il supporto di archiviazione a lungo termine più comune nei moderni sistemi informatici è il disco rigido - "Winchester". Questo termine si applica a qualsiasi disco sigillato con testine di lettura magnetiche dal design aerodinamico.

I file system dei moderni sistemi operativi sono installati su partizioni del disco rigido.

FAT 32. Semplicità e affidabilità.

Esistono tre file system FAT: FAT12 (per floppy disk FDD), FAT16, FAT32. Differiscono nel numero di bit (12, 16, 32) per indicare il numero di cluster nel sistema di gestione dei file. Nei file system FAT, lo spazio su disco logico di qualsiasi unità logica è suddiviso in un'area di sistema e un'area dati. BR - record di avvio Record di avvio; RS - settori riservati; FAT1, FAT2 - tabelle 1 e 2 di allocazione dei file; RDir (directory principale, ROOT) – directory principale. L'area dati è suddivisa in cluster, che sono 1 o più settori contigui. Nella tabella FAT, i cluster appartenenti allo stesso file sono collegati in una catena. La mappa dell'area dati è, infatti, la File Allocation Table (FAT) Ogni elemento della tabella FAT (12, 16 o 32 bit) corrisponde a un cluster del disco e ne caratterizza lo stato: libero, occupato o è un cluster difettoso (gruppo difettoso). Il sistema di gestione file FAT16 utilizza una parola a 16 bit per indicare il numero di cluster e possono essere indirizzati 65536 cluster.

Un cluster è l'unità indirizzabile minima di spazio su disco allocata per un file. Un file o una directory occupa un numero intero di cluster. La suddivisione di un'area dati in cluster invece di utilizzare i settori consente di: ridurre le dimensioni della tabella FAT, ridurre la frammentazione dei file, ridurre la lunghezza delle catene di file, velocizzare l'accesso ai file. L'ultimo cluster potrebbe non essere completamente utilizzato, causando una notevole perdita di spazio su disco se la dimensione del cluster è elevata. Su un floppy disk, un cluster occupa 1 o 2 settori. Sul disco rigido - 4, 8, 16, 32, 64 - settori in un cluster. Ogni elemento ha la seguente struttura: nome file, attributo file, campo fallback, ora creazione, data creazione, data ultimo accesso, fallback, data ultima modifica, ora ultima modifica, numero Fat cluster iniziale, dimensione file.

In questo esempio, il file denominato MyFile.txt viene posizionato a partire dall'ottavo cluster e si estende su 12 cluster. La catena di cluster per questo caso: 8,9,A,B,15,16,17,19,1A,1B,1C,1D. Il cluster numero 18 è contrassegnato come non valido dal codice F7. Non può essere utilizzato per ospitare dati. Questo codice è impostato dalle utilità di formattazione e controllo del disco. Il cluster 1D è contrassegnato con il codice FF come ultimo appartenente a questo file. I cluster liberi sono contrassegnati con il codice 0. Quando un nuovo cluster viene allocato per la scrittura su un file, viene preso il primo cluster libero. Poiché i file sul disco vengono modificati, eliminati, spostati, ingranditi e ridotti, questa regola di posizionamento porta alla frammentazione, ad es. i dati di un file non si trovano in cluster adiacenti e talvolta molto distanti l'uno dall'altro. Si forma una catena complessa. Ciò si traduce in una gestione dei file più lenta. Poiché Fat viene utilizzato molto intensamente quando si accede al disco, viene caricato nella RAM. Fat32 è molto più efficiente in termini di spazio su disco perché utilizza cluster più piccoli rispetto alle versioni precedenti di Fat. Rispetto a Fat16, questo dà un risparmio del 10-16%.

Un elemento directory in un campo attributo può memorizzare i seguenti valori:

1) archivio (installato quando un file viene modificato e rimosso da un programma che esegue il backup dei file su un altro supporto);

2) rubrica;

3) etichetta del volume;

4) sistemico;

5) nascosto;

6) di sola lettura.

I nomi lunghi in FAT32 vengono applicati utilizzando più voci di voci di directory: per un singolo file (una voce è una voce per il nome 8.3 e 24 voci per il nome più lungo, che può essere lungo fino a 256 caratteri. Pertanto, i nomi lunghi non sono consigliato.

Il principale svantaggio di FAT è la lenta gestione dei file. Quando si crea un file, la regola funziona: viene selezionato il primo cluster gratuito. Ciò porta alla frammentazione del disco e a complesse catene di file. Da qui il rallentamento nel lavorare con i file.

Fondamentalmente, il file system FAT è qualcosa da evitare oggi. Pertanto, è fondamentale scegliere quello giusto che ti consentirà di evitare questo file system.

NTFS: convenienza e alta velocità.

Uno dei concetti di base utilizzati quando si lavora con NTFS è il concetto di volume. È possibile creare un volume a tolleranza d'errore che occupi diverse partizioni, ovvero l'uso della tecnologia RAID. NTFS divide l'intero spazio su disco utilizzabile di un volume in cluster: blocchi di dati indirizzati come unità di dati. NTFS supporta dimensioni dei cluster da 512 byte a 64 KB; 2 o 4 KB del disco sono allocati per la zona MFT, lo spazio che può essere occupato dal metafile del servizio MFT principale, aumentando di dimensioni. Non è possibile scrivere dati in quest'area. La zona MFT è vuota in modo che il file di servizio (MFT) non si frammenta il più possibile man mano che cresce.

MFT (tabella file generale): una directory centralizzata di tutti gli altri file su disco, incluso se stesso. La MFT è suddivisa in record di dimensione fissa da 1 KB, ciascun record corrispondente a un file. I primi 16 file sono di natura di servizio e non sono accessibili al sistema operativo: sono chiamati metafile e il primissimo metafile è l'MFT stesso. Questi primi 16 elementi MFT sono l'unica parte del disco che ha una posizione strettamente fissa. Una copia di queste stesse 16 voci è conservata al centro del volume per sicurezza, poiché sono molto importanti. Le parti rimanenti del file MFT possono trovarsi in posizioni arbitrarie sul disco - è possibile ripristinare la sua posizione utilizzando se stesso, "agganciandosi" proprio sulla base - sul primo elemento della MFT. Ogni file in NTFS è rappresentato da flussi, non ha dati, ma "flussi". Uno dei flussi sono i dati del file. È possibile definire più flussi di dati per un singolo file.

Caratteristiche principali di NTFS:

Il lavoro su dischi di grandi dimensioni è efficiente (molto più efficiente che in FAT);

Esistono mezzi per limitare l'accesso a file e directory;

Le partizioni NTFS forniscono sicurezza locale sia per i file che per le directory;

È stato introdotto un meccanismo di transazione, in cui vengono registrate le operazioni sui file;

Aumento significativo dell'affidabilità;

Rimosse molte restrizioni sul numero massimo di settori del disco e/o cluster;

Un nome di file in NTFS, a differenza dei file system FAT e HPFS, può contenere qualsiasi carattere, incluso l'intero set di alfabeti nazionali, poiché i dati sono presentati in Unicode, una rappresentazione a 16 bit che fornisce 65535 caratteri diversi. La lunghezza massima di un nome file in NTFS è di 255 caratteri.

NTFS ha anche una compressione incorporata che puoi applicare a singoli file, intere directory e persino volumi (e quindi sovrascriverli o riassegnarli come meglio credi). Una directory in NTFS è un file speciale che memorizza collegamenti ad altri file e directory.

NTFS fornisce sicurezza a livello di file; ciò significa che i diritti di accesso a volumi, directory e file possono dipendere dall'account utente e dai gruppi a cui appartiene l'utente. Ogni volta che un utente accede a un oggetto del file system, le sue autorizzazioni vengono confrontate con l'elenco delle autorizzazioni dell'oggetto. Se l'utente dispone di un livello sufficiente di diritti, la sua richiesta viene accolta; in caso contrario, la richiesta viene respinta. Questo modello di sicurezza si applica sia all'accesso dell'utente locale su macchine NT che alle richieste di rete remote.

NTFS ha anche alcune funzionalità di autoriparazione. NTFS supporta vari meccanismi per il controllo dell'integrità del sistema, inclusa la registrazione delle transazioni, che consente di riprodurre le operazioni di scrittura dei file su uno speciale registro di sistema.

Lo svantaggio principale del file system NTFS è che i dati di servizio occupano molto spazio (ad esempio, ogni elemento della directory occupa 2 KB): per piccole partizioni, i dati di servizio possono richiedere fino al 25% del volume del supporto.

Pertanto, quando si sceglie un tipo di file system, non scegliamo un'azione astratta, prendiamo una serie di decisioni che influenzano l'intero sistema nel suo insieme. Perché hai bisogno di conoscere tutti i dettagli del file system in modo così dettagliato? Ciò è necessario per il suo possibile recupero, di cui parleremo in uno dei seguenti articoli =)

Oltre a tutte le altre attività, soddisfa il suo scopo principale: organizza il lavoro con i dati secondo una determinata struttura. Per questi scopi, viene utilizzato il file system. Cos'è un FS e cosa può essere, così come altre informazioni su di esso saranno presentate di seguito.

descrizione generale

Il file system è una parte del sistema operativo responsabile dell'inserimento, dell'archiviazione, dell'eliminazione delle informazioni sui supporti, della fornitura di queste informazioni agli utenti e alle applicazioni e della garanzia del loro utilizzo sicuro. Inoltre, è lei che aiuta nel recupero dei dati in caso di guasto hardware o software. Ecco perché il file system è così importante. Cos'è FS e cosa può essere? Ci sono diversi tipi:

Per dischi rigidi, ovvero dispositivi con accesso casuale;

Per nastri magnetici, cioè dispositivi con accesso seriale;

Per supporti ottici;

Sistemi virtuali;

Sistemi di rete.5

L'unità logica di archiviazione dei dati nel file system è un file, ovvero una raccolta ordinata di dati con un nome specifico. Tutti i dati utilizzati dal sistema operativo sono presentati sotto forma di file: programmi, immagini, testi, musica, video, nonché driver, librerie e così via. Ciascuno di questi elementi ha un nome, un tipo, un'estensione, attributi e dimensioni. Quindi, ora sai, il file system è una raccolta di tali elementi, oltre a modi per lavorarci. A seconda della forma in cui viene utilizzato e dei principi ad esso applicabili, si possono distinguere diversi tipi principali di FS.

Approccio al programma

Quindi, se si considera un file system (che cos'è e come lavorarci), va notato che si tratta di una struttura multilivello, al suo livello superiore c'è un interruttore del file system che fornisce un'interfaccia tra il sistema e un'applicazione specifica. Converte le richieste di file in un formato accettato dal livello successivo: i driver. A loro volta, fanno riferimento a driver di dispositivo specifici che memorizzano le informazioni necessarie.

Per le applicazioni client-server, i requisiti per le prestazioni del file system sono piuttosto elevati. I sistemi moderni sono progettati per fornire accesso efficiente, supporto per grandi volumi di supporti, protezione dei dati da accessi non autorizzati e mantenimento dell'integrità delle informazioni.

File system FAT

Questo tipo è stato sviluppato nel 1977 da Bill Gates e Mark McDonald. È stato originariamente utilizzato in OS 86-DOS. Se parliamo di cosa sia il file system FAT, vale la pena notare che inizialmente non era in grado di supportare dischi rigidi, ma funzionava solo con supporti flessibili fino a 1 megabyte. Ora questa restrizione non è più rilevante e questo FS è stato utilizzato da Microsoft per MS-DOS 1.0 e versioni successive. FAT utilizza determinate convenzioni di denominazione dei file:

Il nome deve iniziare con una lettera o un numero, e può contenere qualsiasi carattere ASCII, oltre a spazi ed elementi speciali;

La lunghezza del nome non deve essere superiore a 8 caratteri, dopo di essa viene inserito un punto, quindi viene indicata l'estensione, che consiste di tre lettere;

I nomi dei file possono utilizzare qualsiasi maiuscolo e non vengono distinti o preservati.

Poiché FAT era originariamente progettato per il sistema operativo DOS per utente singolo, non prevedeva l'archiviazione dei dati sul proprietario o sui diritti di accesso. Al momento, questo file system è il più diffuso, la maggior parte lo supporta in un modo o nell'altro.La sua versatilità consente di utilizzarlo su volumi con cui si lavora da diversi sistemi operativi. Questo è un semplice FS che non è in grado di prevenire il danneggiamento dei file a causa di un arresto errato del computer. Come parte dei sistemi operativi basati su di esso, ci sono utilità speciali che controllano la struttura e correggono le incoerenze dei file.

Filesystem NTFS

Questo FS è il più preferito per lavorare con Windows NT, poiché è stato sviluppato appositamente per esso. Il sistema operativo include l'utilità di conversione, che converte i volumi con FAT e HPFS in volumi NTFS. Se parliamo di cos'è il file system NTFS, vale la pena notare che ha notevolmente ampliato la capacità di controllare l'accesso a determinate directory e file, introdotto molti attributi, implementato strumenti di compressione dinamica dei file, tolleranza agli errori e supporta i requisiti del Standard POSIX. In questo FS, puoi utilizzare nomi lunghi fino a 255 caratteri, mentre un nome breve viene generato allo stesso modo di VFAT. Comprendendo cos'è il file system NTFS, vale la pena notare che in caso di guasto del sistema operativo, è in grado di ripristinarsi da solo, quindi il volume del disco rimarrà disponibile e la struttura della directory non ne risentirà.

Caratteristiche di NTFS

Su un volume NTFS, ogni file è rappresentato da una voce nella tabella MFT. Le prime 16 voci della tabella sono riservate dal file system stesso per la memorizzazione di informazioni speciali. La primissima voce descrive la tabella dei file stessa. Quando il primo record viene distrutto, il secondo viene letto per trovare il file mirror MFT, dove il primo record è identico alla tabella principale. Il centro logico del disco contiene una copia del file bootstrap. La terza voce nella tabella contiene il file di registro, utilizzato per il ripristino dei dati. La diciassettesima voce e le successive della tabella dei file contengono informazioni sui file e le directory che si trovano sul disco rigido.

Il registro delle transazioni contiene una serie completa di operazioni che modificano la struttura del volume, comprese le operazioni per creare file, nonché tutti i comandi che influiscono sulla struttura della directory. Il registro delle transazioni è progettato per ripristinare NTFS da un errore di sistema. La voce per la directory principale contiene un elenco delle directory e dei file che si trovano nella directory principale.

Caratteristiche dell'EFS

Encrypting File System (EFS) è una funzionalità di Windows che può archiviare informazioni su un disco rigido in un formato crittografato. La crittografia è diventata la protezione più forte che questo sistema operativo può offrire. In questo caso, la crittografia per l'utente è un'azione abbastanza semplice, per questo è sufficiente selezionare la casella nelle proprietà della cartella o del file. È possibile specificare chi può leggere tali file. I file vengono crittografati quando vengono chiusi e quando vengono aperti sono automaticamente pronti per l'uso.

Caratteristiche di RAW

I dispositivi progettati per l'archiviazione dei dati sono i componenti più vulnerabili, che sono più spesso soggetti a danni non solo fisicamente, ma anche logicamente. Alcuni problemi hardware possono essere fatali, mentre altri hanno soluzioni. A volte gli utenti hanno una domanda: "Cos'è il file system RAW?"

Come sai, per scrivere qualsiasi informazione su un disco rigido o un'unità flash, l'unità deve avere un file system. I più comuni sono FAT e NTFS. E RAW non è nemmeno il file system a cui di solito pensiamo. Si tratta infatti di un errore logico di un sistema già installato, ovvero della sua effettiva assenza per Windows. Molto spesso, RAW è associato alla distruzione della struttura del file system. Successivamente, il sistema operativo non solo accede ai dati, ma non visualizza nemmeno le informazioni tecniche sull'apparecchiatura.

Caratteristiche dell'UDF

L'Universal Disk Format (UDF) è progettato per sostituire CDFS e aggiungere il supporto per i dispositivi DVD-ROM. Se parliamo di cosa si tratta, si tratta di una nuova implementazione della vecchia versione per la quale soddisfa i requisiti ed è caratterizzata da alcune caratteristiche:

I nomi dei file possono avere una lunghezza massima di 255 caratteri;

Il nome può essere minuscolo o maiuscolo;

La lunghezza massima del percorso è di 1023 caratteri.

A partire da Windows XP, questo file system è di lettura/scrittura.

Questo FS viene utilizzato per le unità flash che dovrebbero essere utilizzate quando si lavora con computer diversi che eseguono sistemi operativi diversi, in particolare Windows e Linux. È stato EXFAT a diventare il "ponte" tra di loro, poiché è in grado di lavorare con i dati ricevuti dal sistema operativo, ognuno dei quali ha il proprio file system. Che cos'è e come funziona sarà chiaro nella pratica.

conclusioni

Come è chiaro da quanto sopra, ogni sistema operativo utilizza determinati file system. Sono destinati alla memorizzazione di strutture di dati ordinate su supporti fisici. Se all'improvviso, quando usi un computer, hai una domanda su quale sia il file system finale, allora è del tutto possibile che quando hai provato a copiare un determinato file sul supporto, hai ricevuto un messaggio sul superamento della dimensione consentita. Ecco perché è necessario sapere in quale file system quale dimensione del file è considerata accettabile in modo da non incontrare problemi durante il trasferimento delle informazioni.

Se noti un errore, seleziona una parte di testo e premi Ctrl + Invio
CONDIVIDERE: