Anonim

Dus ik was nieuwsgierig naar, van alle dingen, bestandssystemen. Ik weet dat dit erg nerdy van me is, maar sinds ik de Mac heb gekocht, was ik nieuwsgierig of ik me zorgen moest maken over dingen als defragmentatie. Windows-gebruikers weten dat u uw harde schijf om de zoveel tijd moet defragmenteren om uw computer soepel te laten werken. In de wereld van Mac wordt gezegd dat je niet hoeft te defragmenteren. Waarom is dit?

Dus besloot ik om naar de verschillende soorten bestandssystemen te kijken en een antwoord te zoeken. Is het bestandssysteem dat Windows gebruikt verantwoordelijk voor de problemen?

De verschillende bestandssystemen

Bestandstoewijzingstabel (FAT). Dit is een bestandssysteem ontwikkeld door Microsoft voor MS-DOS en werd gebruikt tot Windows ME. Een schijf die met FAT is geformatteerd, bestaat uit een opstartsector, bestandstoewijzingstabellen en de gegevens. De opstartsector bevat de code die nodig is om uw computer op te starten. De bestandstoewijzingstabellen zijn een afbeelding van waar zich bepaalde bestanden en mappen op de schijf bevinden. Dan heb je je gegevens zelf. Het probleem met het FAT-bestandssysteem is dat wanneer een bestand wordt verwijderd of een nieuw bestand wordt verwijderd, naar die lege ruimte op de schijf kan worden geschreven door iets anders. FAT zorgt niet voor de locatie van nieuwe bestanden wanneer dit gebeurt en dat leidt ertoe dat bestandsfragmenten over de hele schijf worden geschreven. Met de bestandstoewijzingstabellen kunnen de gegevens worden gevonden, maar de lees- / schrijfkop op de harde schijf zou uw gegevens van verschillende delen van de schijf moeten verzamelen. Daarom zie je een prestatievermindering. Het FAT-bestandssysteem is bijzonder gevoelig voor fragmentatie door het ontwerp zelf. Meer informatie over FAT is te vinden op Wikipedia.

NTFS staat voor New Technology File System. Het werd opnieuw door Microsoft ontwikkeld voor zijn Windows NT-lijn van besturingssystemen. Dat betekent dat NTFS wordt gebruikt in elke versie van Windows op basis van de NT-kernel, inclusief Windows 2000, XP, Server 2003, Server 2008 en het eerbiedwaardige Windows Vista. Het grote verschil met NTFS is dat het gebaseerd is op metadata. Metagegevens zijn "gegevens over gegevens", volgens Wikipedia. Met andere woorden, de metagegevens zijn als een kleine minidatabase op de schijf die allerlei informatie over de bestanden en mappen op de harde schijf opslaat. NTFS ondersteunt zaken als compressie, beveiliging op bestandsniveau en andere zaken die nuttig zijn voor ondernemingen en die attributen worden opgeslagen in de metagegevens. Het leuke van deze manier van omgaan met bestanden is dat het uitbreidbaar is om andere functies te ondersteunen. Microsoft heeft zelfs vijf verschillende versies van NTFS uitgebracht, waarbij elke opeenvolgende update meer functies biedt. Voor informatie over NTFS is te vinden op Wikipedia.

Wat betreft fragmentatie, NTFS is veel beter dan FAT en is efficiënter in hoe het omgaat met gegevenslocatie op de harde schijf. Maar NTFS is onderhevig aan fragmentatie. Er was een tijdje een mythe dat NTFS niet onderhevig was aan fragmentatie, maar nogmaals, het was een mythe. Het NTFS-bestandssysteem is zeer flexibel. Omdat nieuwe attributen of capaciteit worden gevraagd vanuit NTFS, maakt het ruimte en slaat die informatie op in de hoofdbestandstabel. Als een bepaalde hoeveelheid ruimte is gereserveerd voor een klein bestand en dat bestand erg groot wordt, moeten delen van dat bestand in andere delen van de schijf worden opgeslagen, omdat NTFS nieuwe gegevensopslaggebieden creëert. Ook gebruikte het NTFS-bestandssysteem clusters, net als FAT. Dus ja, NTFS heeft misschien een verminderde capaciteit voor fragmentatie, maar het is nog steeds vatbaar.

Ext3 is het bestandssysteem dat wordt gebruikt door Linux . Wat ext3 het meest opmerkelijk maakt in tegenstelling tot elk Windows-bestandssysteem is dat het een gejournaliseerd bestandssysteem is. Een gejournaliseerd bestandssysteem is een systeem waarbij alle wijzigingen in elk bestand worden vastgelegd in een dagboek voordat het daadwerkelijk naar de schijf wordt geschreven. Het journaal wordt opgeslagen in een aangewezen gebied van de schijf. Door zijn aard is een gejournaliseerd bestandssysteem veel minder waarschijnlijk beschadigd. Het journaal is een record van ALLE acties die in een bestand moeten worden uitgevoerd. Dus in het geval van een onderbreking (zoals een stroomstoring) kunnen de gebeurtenissen in het journaal eenvoudig worden "overgespeeld" om de consistentie tussen het journaal en de bestanden op de schijf te herstellen.

De aard van ext3 maakt fragmentatie vrijwel onbestaande. Wikipedia zegt zelfs dat in de Linux System Administrator Guide staat: “Moderne Linux-bestandssystemen houden fragmentatie tot een minimum door alle blokken in een bestand dicht bij elkaar te houden, zelfs als ze niet in opeenvolgende sectoren kunnen worden opgeslagen. Sommige bestandssystemen, zoals ext3, wijzen effectief het vrije blok toe dat zich het dichtst bij andere blokken in een bestand bevindt. Daarom is het niet nodig om je zorgen te maken over fragmentatie in een Linux-systeem. "

Als je echter kijkt naar het bestandssysteem van OS X, dat ook in het journaal is opgenomen, begin je te zien waarom Linux ook onderhevig is aan fragmentatie …

Hiërarchisch bestandssysteem (HFS) is het bestandssysteem dat wordt gebruikt door Mac OS X. Het werd ontwikkeld door Apple zelf. We hebben het originele HFS-bestandssysteem (vaak Mac OS Standard genoemd) en de recentere revisie HFS Plus (aangeduid als Max OS Extended). HFS heeft veel revisies ondergaan. HFS wordt nauwelijks meer gebruikt. HFS Plus werd geïntroduceerd met Mac OS 8.1. Het meest opvallend aan onze discussie is dat Apple journaling in hun bestandssysteem introduceerde met Mac OS 10.3, samen met verschillende andere functies die belangrijk zijn voor de manier waarop OS X werkt.

Er lijken twee denkrichtingen te zijn als het gaat om defragmentatie in OS X. Sommigen zeggen dat dit niet nodig is omdat het een gejournaliseerd bestandssysteem gebruikt. Anderen zeggen dat het onnodig is, maar niet op dezelfde manier als Windows. OS X heeft de ingebouwde mogelijkheid om bestandsfragmentatie te verzorgen en doet dit alleen. Wat echter kan gebeuren is schijffragmentatie - kleine stukjes vrije ruimte tussen bestanden. Qua prestaties is het bijna geen probleem en je zult zelden prestatieverbetering behalen door een traditionele defragmentatie van een OS X-machine uit te voeren. Schijffragmentatie wordt pas echt een probleem als u uw schijf tot bijna volledige capaciteit begint te vullen. Dit komt omdat OS X geen ruimte meer heeft voor zijn eigen systeembestanden.

Kortom, het is niet nodig om te defragmenteren in OS X tenzij u uw harde schijf begint te vullen. Naarmate dit vordert, kunt u willekeurige OS X "raarheid" ervaren omdat het besturingssysteem onvoldoende ruimte heeft voor zijn tijdelijke bestanden. Wanneer dit gebeurt (of bij voorkeur eerder), zal een defragmentatie van uw harde schijf alle speling tussen bestanden op de schijf verwijderen en ruimte vrijmaken voor het gebruik van OS X.

Ik geloof dat dit ook het geval zal zijn met Linux.

Andere referentie-inhoud:

  • Heeft Mac OS X een disk dragmenter / optimizer nodig?
  • Macintosh OS X routineonderhoud
  • Waarom heeft Linux defragmentatie nodig?

Dus kort gezegd

Als u Windows gebruikt, bent u onderhevig aan fragmentatie. FAT32-systemen zijn ERG vatbaar voor. NTFS is minder gevoelig, maar toch voldoende. Linux- en Mac-gebruikers zijn onderhevig aan fragmentatie, maar in tegenstelling tot Windows veroorzaakt dit geen prestatieverlies op de machine. Mac-gebruikers hoeven zich eigenlijk alleen maar zorgen te maken over fragmentatie, omdat hun schijven bijna vol zijn. Het probleem met Linux en Mac is geen bestandsfragmentatie (zoals bij Windows), maar schijffragmentatie.

Hoop dat het helpt. En zoals altijd verwelkom ik mensen met kennis van dit gebied om te reageren. Ik heb hier het beste onderzoek naar gedaan, maar het is zeker mogelijk dat ik iets mis heb. En wanneer je Linux en Mac "debatten defragmenteert" in de mix, zijn er zeker meningen aan beide kanten.

Bestandssystemen - welke moeten worden gedefragmenteerd?