Anonim

Quindi, ero curioso di tutti i file system. Sono consapevole che questo è molto seccante per me, ma da quando ho preso il Mac ero curioso di dovermi preoccupare di cose come la deframmentazione. Gli utenti Windows sanno che è necessario deframmentare il disco rigido ogni tanto per garantire il corretto funzionamento del computer. Nel mondo dei Mac, si dice che non è necessario deframmentare. Perchè è questo?

Quindi, ho deciso di esaminare i diversi tipi di file system e cercare una risposta. Il file system utilizzato da Windows è responsabile delle difficoltà?

I diversi file system

File Allocation Table (FAT). Questo è un file system sviluppato da Microsoft per MS-DOS ed è stato utilizzato fino a Windows ME. Un disco formattato utilizzando FAT è costituito da un settore di avvio, tabelle di allocazione dei file e dati. Il settore di avvio contiene il codice necessario per l'avvio del computer. Le tabelle di allocazione dei file sono una mappatura di dove sul disco risiedono determinati file e directory. Quindi hai i tuoi dati stessi. Il problema con il file system FAT è che quando un file viene eliminato o viene rimosso un nuovo file, lo spazio vuoto sull'unità può essere scritto da qualcos'altro. FAT non si occupa della posizione dei nuovi file quando ciò accade e ciò porta alla scrittura di frammenti di file su tutto il disco. Le tabelle di allocazione dei file consentono di trovare i dati, ma la testina di lettura / scrittura sul disco rigido dovrebbe raccogliere i dati da diverse parti del disco. Questo è il motivo per cui si nota una riduzione delle prestazioni. Il file system FAT è particolarmente suscettibile alla frammentazione dal suo stesso design. Ulteriori informazioni su FAT sono disponibili su Wikipedia.

NTFS è l'abbreviazione di New Technology File System. È stato, ancora una volta, sviluppato da Microsoft per la sua linea di sistemi operativi Windows NT. Ciò significa che NTFS viene utilizzato in qualsiasi versione di Windows basata sul kernel NT, inclusi Windows 2000, XP, Server 2003, Server 2008 e il venerabile Windows Vista. La differenza principale con NTFS è che si basa sui metadati. I metadati sono "dati sui dati", secondo Wikipedia. In altre parole, i metadati sono come un piccolo mini-database sull'unità che memorizza tutti i tipi di informazioni sui file e le directory sul disco rigido. NTFS supporta elementi come la compressione, la sicurezza a livello di file e altre cose utili all'azienda e tali attributi sono archiviati nei metadati. La cosa interessante di questo modo di gestire i file è che è estendibile per supportare altre funzionalità. In effetti, Microsoft ha rilasciato cinque diverse versioni di NTFS, ogni aggiornamento successivo che fornisce più funzionalità. Per informazioni su NTFS è possibile trovare su Wikipedia.

Per quanto riguarda la frammentazione, NTFS è molto più migliorato di FAT ed è più efficiente nel modo in cui gestisce la posizione dei dati sul disco rigido. Ma NTFS è soggetto a frammentazione. Per un po 'c'era un mito secondo cui NTFS non era soggetto a frammentazione, ma di nuovo era un mito. Il file system NTFS è molto flessibile. Poiché vengono richiesti nuovi attributi o capacità da NTFS, crea spazio e memorizza tali informazioni nella tabella dei file master. Se una determinata quantità di spazio è stata riservata per un file di piccole dimensioni, e quindi quel file diventa molto grande, porzioni di quel file dovranno essere archiviate in altre aree del disco quando NTFS crea nuove aree di archiviazione dei dati. Inoltre, il file system NTFS utilizzava i cluster, proprio come FAT. Quindi, sì, NTFS potrebbe avere una capacità ridotta di frammentazione, ma è ancora suscettibile.

Ext3 è il file system utilizzato da Linux . Ciò che rende ext3 più evidente in contrasto con qualsiasi file system di Windows è che si tratta di un file system con journaling. Un file system con journal è uno in cui tutte le modifiche a qualsiasi file vengono registrate in un journal prima di essere effettivamente scritte sull'unità. Il journal è memorizzato in un'area designata dell'unità. Per sua natura, un file system registrato su giornale ha molte meno probabilità di essere corrotto. Il journal è un record in esecuzione di TUTTE le azioni da eseguire su un file. Pertanto, in caso di interruzione (come un'interruzione di corrente), gli eventi nel diario possono essere semplicemente "riprodotti" per ricreare la coerenza tra il diario e i file sul disco.

La natura di ext3 rende la frammentazione quasi inesistente. In effetti, Wikipedia afferma che la Guida per l'amministratore del sistema Linux afferma che “i moderni filesystem Linux mantengono al minimo la frammentazione mantenendo vicini tutti i blocchi di un file, anche se non possono essere archiviati in settori consecutivi. Alcuni filesystem, come ext3, allocano efficacemente il blocco libero più vicino ad altri blocchi in un file. Pertanto non è necessario preoccuparsi della frammentazione in un sistema Linux. "

Tuttavia, quando si esamina il file system di OS X, che è anche registrato su giornale, si inizia a capire perché anche Linux è soggetto a frammentazione …

Hierarchical File System (HFS) è il file system utilizzato da Mac OS X. È stato sviluppato dalla stessa Apple. Abbiamo il file system HFS originale (spesso chiamato Mac OS Standard) e la più recente revisione HFS Plus (indicata come Max OS Extended). HFS ha subito molte revisioni. HFS non viene quasi più utilizzato. HFS Plus è stato introdotto con Mac OS 8.1. La cosa più degna di nota della nostra discussione è che Apple ha introdotto il journaling nel proprio file system con Mac OS 10.3, insieme a molte altre funzionalità chiave per il modo in cui OS X opera.

Sembra che ci siano due scuole di pensiero quando si tratta di deframmentazione in OS X. Alcuni dicono che non è necessario perché sta usando un file system journaled. Altri dicono che non è necessario, ma non allo stesso modo di Windows. OS X ha la capacità integrata di occuparsi della frammentazione dei file e lo farà da solo. Tuttavia, ciò che può accadere è la frammentazione dell'unità - piccoli bit di spazio libero tra i file. Per quanto riguarda le prestazioni, è quasi un problema e raramente otterrai alcun vantaggio prestando una deframmentazione tradizionale di una macchina OS X. La frammentazione dell'unità diventa davvero un problema solo se si inizia a riempire l'unità fino a raggiungere quasi la piena capacità. Questo perché OS X esaurirà lo spazio per i propri file di sistema.

Quindi, in breve, non è necessario deframmentare in OS X a meno che non si inizi a riempire il disco rigido. Man mano che procede, potresti iniziare a sperimentare una "stranezza" casuale di OS X a causa del fatto che il sistema operativo sta esaurendo lo spazio per i suoi file temporanei. Quando ciò si verifica (o preferibilmente prima), una deframmentazione del disco rigido eliminerà lo spazio libero tra i file sul disco e ripristinerà lo spazio per l'uso di OS X.

Credo che questo sarà anche il caso di Linux.

Altro contenuto di riferimento:

  • Mac OS X necessita di un trascinatore / ottimizzatore del disco?
  • Manutenzione ordinaria di Macintosh OS X.
  • Perché Linux ha bisogno di deframmentare?

Quindi, in breve

Se stai utilizzando Windows, sei soggetto a frammentazione. I sistemi FAT32 sono MOLTO inclini ad esso. NTFS è meno incline, ma lo è ancora abbastanza. Gli utenti Linux e Mac sono soggetti a frammentazione, ma a differenza di Windows, non causa alcun trascinamento delle prestazioni sulla macchina. Inoltre, gli utenti Mac devono solo preoccuparsi della frammentazione poiché le loro unità si avvicinano alla capacità. Il problema con Linux e Mac non è la frammentazione dei file (come con Windows), ma la frammentazione dell'unità.

Spero che aiuti. E, come sempre, do il benvenuto a tutte le persone con conoscenza di quest'area per commentare. Ho fatto le migliori ricerche possibili su questo, ma è certamente possibile che abbia sbagliato qualcosa. E quando si gettano i "dibattiti" di deframmentazione di Linux e Mac nel mix, ci sono sicuramente delle opinioni su entrambi i lati.

File system - che devono essere deframmentati?