Diagnostiek en technologie voor het repareren van harde schijven. Harde schijf partities en bestandssystemen. Basisconcepten en basisprincipes van werk

Materiaal voor de overzichtslezing nr. 33

voor studenten van de specialiteit

"Informatietechnologie software"

Universitair hoofddocent van de afdeling ICT, Ph.D. Livak EN

BESTANDSBEHEERSYSTEMEN

Basisconcepten, feiten

Afspraak. Kenmerken van bestandssystemenVET,VFAT,VET 32,HPFS,NTFS. Bestandssystemen UNIX OS (s5, ufs), Linux Ext2FS Systeemgebieden van een schijf (partities, volumes). Principes van het plaatsen van bestanden en het opslaan van informatie over de locatie van bestanden. Organisatie van mappen. Toegang tot bestanden en mappen beperken.

Vaardigheden

Kennis over de structuur van het bestandssysteem gebruiken om computerinformatie (bestanden en mappen) te beschermen en te herstellen. Organisatie van toegangscontrole tot bestanden.

Bestandssystemen. Bestandssysteemstructuur

Gegevens op schijf worden opgeslagen als bestanden. Een bestand is een benoemd gedeelte van een schijf.

Bestandsbeheersystemen zijn ontworpen om bestanden te beheren.

Het bestandssysteem biedt de mogelijkheid om op logisch niveau om te gaan met gegevens die in bestanden zijn opgeslagen. Het is het bestandssysteem dat bepaalt hoe gegevens op elk opslagmedium worden georganiseerd.

Dus, bestandssysteem is een reeks specificaties en de bijbehorende software die verantwoordelijk zijn voor het maken, vernietigen, organiseren, lezen, schrijven, wijzigen en verplaatsen van bestandsinformatie, evenals het controleren van de toegang tot bestanden en het beheren van de bronnen die door bestanden worden gebruikt.

Het bestandsbeheersysteem is het belangrijkste subsysteem in de overgrote meerderheid van moderne besturingssystemen.

Het bestandsbeheersysteem gebruiken

· Alle systeemverwerkingsprogramma's zijn gekoppeld volgens de gegevens;

· Lost het probleem van gecentraliseerde distributie van schijfruimte en gegevensbeheer op;

· De gebruiker krijgt de mogelijkheid om bewerkingen uit te voeren op bestanden (creatie, enz.), om gegevens uit te wisselen tussen bestanden en verschillende apparaten, om bestanden te beschermen tegen ongeoorloofde toegang.

Sommige besturingssystemen hebben mogelijk meerdere bestandsbeheersystemen, waardoor ze met meerdere bestandssystemen kunnen werken.

Laten we proberen onderscheid te maken tussen het bestandssysteem en het bestandsbeheersysteem.

De term "bestandssysteem" definieert de principes van toegang tot gegevens die in bestanden zijn georganiseerd.

Termijn "Bestandsbeheersysteem" verwijst naar de specifieke implementatie van het bestandssysteem, d.w.z. het is een set softwaremodules die werken met bestanden in een specifiek besturingssysteem.

Om dus met bestanden te werken die volgens een bepaald bestandssysteem zijn georganiseerd, moet voor elk besturingssysteem een ​​bijbehorend bestandsbeheersysteem worden ontwikkeld. Dit UV-systeem werkt alleen op het besturingssysteem waarvoor het is ontworpen.

Voor de Windows OS-familie worden voornamelijk de bestandssystemen gebruikt: VFAT, FAT 32, NTFS.

Laten we eens kijken naar de structuur van deze bestandssystemen.

In het bestandssysteem VET de schijfruimte van elke logische schijf is verdeeld in twee gebieden:

Systeemgebied en

· Gegevensgebied.

Systeemgebied gemaakt en geïnitialiseerd bij het formatteren en vervolgens bijgewerkt bij het manipuleren van de bestandsstructuur.

Het systeemgebied bestaat uit de volgende componenten:

· De opstartsector die het opstartrecord bevat;

· Gereserveerde sectoren (mogelijk niet aanwezig);

Bestandstoewijzingstabellen (FAT, bestandstoewijzingstabel);

Hoofdmap (ROOT).

Deze componenten bevinden zich één voor één op de schijf.

Gegevensgebied bevat bestanden en mappen ondergeschikt aan de root.

Het datagebied is opgedeeld in zogenaamde clusters. Een cluster is een of meer aaneengesloten sectoren van een gegevensgebied. Aan de andere kant is een cluster de kleinste adresseerbare schijfruimte die aan een bestand is toegewezen. Die. het bestand of de map neemt een geheel aantal clusters in beslag. Om een ​​nieuw bestand aan te maken en naar schijf te schrijven, wijst het besturingssysteem er verschillende vrije schijfclusters aan toe. Deze clusters hoeven elkaar niet op te volgen. Voor elk bestand wordt een lijst bijgehouden van alle clusternummers die aan dat bestand zijn verstrekt.

Door het gegevensgebied in clusters te verdelen in plaats van sectoren te gebruiken, kunt u:

· Verminder de grootte van de FAT;

· Verminder bestandsfragmentatie;

De lengte van de vijlkettingen verkorten Þ bestandstoegang wordt versneld.

Een te grote clusteromvang leidt echter tot inefficiënt gebruik van het datagebied, zeker bij een groot aantal kleine bestanden (per bestand gaat immers gemiddeld een half cluster verloren).

In moderne bestandssystemen (FAT 32, HPFS, NTFS) wordt dit probleem opgelost door de clustergrootte te beperken (maximaal 4 KB)

De kaart van het gegevensgebied is: t bestandstoewijzingstabel (File Allocation Table - FAT) Elk element van de FAT-tabel (12, 16 of 32 bits) komt overeen met één schijfcluster en kenmerkt zijn status: vrij, bezet of slecht cluster.

· Als het cluster is toegewezen aan een bestand (d.w.z. bezet), dan bevat het bijbehorende FAT-element het nummer van het volgende cluster van het bestand;

· De laatste cluster van het bestand is gemarkeerd met een nummer in het bereik FF8h - FFFh (FFF8h - FFFFh);

· Als het cluster vrij is, bevat het de nulwaarde 000h (0000h);

· Een onbruikbaar (slecht) cluster is gemarkeerd met het nummer FF7h (FFF7h).

In de FAT-tabel worden dus clusters die tot hetzelfde bestand behoren, aan elkaar geketend.

De bestandstoewijzingstabel wordt direct na het opstartrecord van de logische schijf opgeslagen, de exacte locatie wordt beschreven in een speciaal veld in de opstartsector.

Het wordt bewaard in twee identieke exemplaren, die elkaar opvolgen. Wanneer het eerste exemplaar van de tabel wordt vernietigd, wordt het tweede gebruikt.

Vanwege het feit dat FAT zeer veel wordt gebruikt bij het benaderen van schijf, wordt het meestal in het RAM geladen (in de I / O-buffer of cache) en blijft het daar zo lang mogelijk.

Het grootste nadeel van FAT is de trage verwerking van bestanden. Bij het maken van een bestand werkt de regel - het eerste vrije cluster wordt toegewezen. Dit leidt tot schijffragmentatie en complexe bestandsketens. Vandaar de vertraging in het werken met bestanden.

Om de FAT-tabel te bekijken en te bewerken, kunt u gebruik maken van nutSchijfEditor.

De details van het bestand zelf worden opgeslagen in een andere structuur die de rootdirectory wordt genoemd. Elke logische schijfeenheid heeft zijn eigen hoofdmap (ROOT).

Hoofdmap beschrijft bestanden en andere mappen. Een directory-item is een bestandsdescriptor (descriptor).

Elk bestand en elke mapbeschrijving bevat het

· naam

· verlenging

Datum van aanmaak of laatste wijziging

Tijdstip van aanmaak of laatste wijziging

Attributen (archief, directorykenmerk, volumeattribuut, systeem, verborgen, alleen-lezen)

Bestandslengte (voor een map - 0)

Een gereserveerd veld dat niet wordt gebruikt

· Nummer van het eerste cluster in de keten van clusters dat is toegewezen aan een bestand of directory; Na dit nummer te hebben ontvangen, vindt het besturingssysteem, verwijzend naar de FAT-tabel, alle andere clusternummers van het bestand.

Dus de gebruiker start het bestand voor uitvoering. Het besturingssysteem zoekt naar het bestand met de juiste naam door te kijken naar de bestandsbeschrijvingen in de huidige directory. Wanneer het vereiste item in de huidige directory wordt gevonden, leest het besturingssysteem het nummer van de eerste cluster in dit bestand en bepaalt vervolgens de resterende clusternummers uit de FAT-tabel. Gegevens uit deze clusters worden in het RAM ingelezen en gecombineerd tot één doorlopend gedeelte. Het besturingssysteem draagt ​​de controle over aan het bestand en het programma begint te draaien.

Om de rootdirectory ROOT te bekijken en te bewerken, kunt u ook gebruik maken van nutSchijfEditor.

Bestandssysteem VFAT

Het VFAT-bestandssysteem (virtual FAT) verscheen voor het eerst in Windows for Workgroups 3.11 en is ontworpen voor bestands-I/O in beveiligde modus.

Dit bestandssysteem wordt gebruikt in Windows 95.

Het wordt ook ondersteund in Windows NT 4.

VFAT is het native Windows 95 32-bit bestandssysteem en wordt bestuurd door het VFAT .VXD-stuurprogramma.

VFAT gebruikt 32-bits code voor alle bestandsbewerkingen en kan 32-bits stuurprogramma's voor beveiligde modus gebruiken.

MAAR de invoer in de bestandstoewijzingstabel blijft 12 of 16 bit, dus dezelfde gegevensstructuur (FAT) wordt op schijf gebruikt. Die. F tabelformaatVFAT is hetzelfde net als het FAT-formaat.

VFAT samen met de namen "8.3" ondersteunt lange bestandsnamen... (Er wordt vaak gezegd dat VFAT FAT is met ondersteuning voor lange namen).

Het belangrijkste nadeel van VFAT zijn hoge clusterverliezen voor grote logische schijfgroottes en beperkingen op de grootte van de logische schijf zelf.

Bestandssysteem VET 32

Dit is een nieuwe implementatie van het idee om de FAT-tabel te gebruiken.

FAT 32 is een volledig stand-alone 32-bit bestandssysteem.

Voor het eerst gebruikt in Windows OSR 2 (OEM Service Release 2).

FAT 32 wordt momenteel gebruikt in Windows 98 en Windows ME.

Het bevat tal van verbeteringen en toevoegingen ten opzichte van eerdere FAT-implementaties.

1. Veel efficiënter gebruik van schijfruimte vanwege het feit dat het kleinere clusters (4 KB) gebruikt - er wordt geschat dat het tot 15% bespaart.

2. Heeft een uitgebreid opstartrecord waarmee u kopieën van kritieke gegevensstructuren kunt maken Þ verhoogt de weerstand van de schijf tegen schendingen van de structuren van de schijf

3. Kan FAT-back-up gebruiken in plaats van standaard.

4. Kan de hoofdmap verplaatsen, met andere woorden, de hoofdmap kan overal zijn Þ verwijdert de beperking op de grootte van de hoofdmap (512 elementen, aangezien ROOT één cluster zou bezetten).

5. Verbeterde structuur van de hoofdmap

Extra velden toegevoegd, bijvoorbeeld aanmaaktijd, aanmaakdatum, laatste toegangsdatum, controlesom

Er worden nog steeds meerdere descriptors gebruikt voor de lange bestandsnaam.

Bestandssysteem HPFS

HPFS (High Performance File System) is een hoogwaardig bestandssysteem.

HPFS verscheen voor het eerst in OS/2 1.2 en LAN Manager.

We vermelden belangrijkste kenmerken van HPFS.

· Het belangrijkste verschil is de basisprincipes van het plaatsen van bestanden op schijf en de principes van het opslaan van informatie over de locatie van bestanden. Dankzij deze principes heeft HPFS: hoge prestaties en fouttolerantie, is betrouwbaar bestandssysteem.

Schijfruimte in HPFS wordt niet toegewezen door clusters (zoals in FAT), maar blokken. In de moderne implementatie wordt de blokgrootte gelijk aan één sector genomen, maar in principe kan deze een andere grootte hebben. (In feite is een blok een cluster, alleen een cluster is altijd gelijk aan één sector). Bestanden in zulke kleine blokken plaatsen maakt het mogelijk efficiënter gebruik van schijfruimte, aangezien de overhead van vrije ruimte gemiddeld slechts (een halve sector) 256 bytes per bestand is. Bedenk dat hoe groter de clustergrootte, hoe meer schijfruimte er wordt verspild.

HPFS probeert het bestand in aaneengesloten blokken te rangschikken, of, als dit niet mogelijk is, het op schijf te plaatsen op een zodanige manier dat omvang(fragmenten van) het dossier stonden fysiek zo dicht mogelijk bij elkaar. Deze aanpak is essentieel vermindert de tijd voor het positioneren van de lees-/schrijfkoppen harde schijf en latency (de vertraging tussen de installatie van de lees-/schrijfkop op het gewenste spoor). Bedenk dat in een FAT-bestand het eerste vrije cluster eenvoudig wordt toegewezen.

omvang(omvang) - bestandsfragmenten die zich in aangrenzende sectoren van de schijf bevinden. Het bestand heeft ten minste één extensie als het niet gefragmenteerd is en anders meerdere extensies.

· Gebruikt methode gebalanceerde binaire bomen voor het opslaan en zoeken van informatie over de locatie van bestanden (mappen worden opgeslagen in het midden van de schijf, daarnaast is er automatische sortering van mappen), wat essentieel is verhoogt de productiviteit HPFS (versus FAT).

HPFS heeft speciale uitgebreide bestandskenmerken waarmee: toegang tot bestanden en mappen beheren.

Uitgebreide attributen (uitgebreide attributen, EA's ) kunt u aanvullende informatie over het bestand opslaan. Elk bestand kan bijvoorbeeld worden gekoppeld aan zijn unieke afbeelding (pictogram), bestandsbeschrijving, opmerking, informatie over de eigenaar van het bestand, enz.

C-structuur van de HPFS-partitie


Aan het begin van de partitie waarop HPFS is geïnstalleerd, zijn er drie: controle blokken:

Opstartblok,

Een extra blok (superblok) en

Reserve blok.

Ze bezetten 18 sectoren.

De rest van de schijfruimte in HPFS is opgesplitst in delen van aangrenzende sectoren - strepen(band - strook, band). Elke rij neemt 8 MB schijfruimte in beslag.

Elke baan en heeft zijn eigen bitmap voor sectortoewijzing De bitmap laat zien welke sectoren van een bepaalde band bezet zijn en welke vrij zijn. Elke sector van een gegevensstrook heeft één bit in zijn bitmap. Als bit = 1, dan is de sector bezet, indien 0 - vrij.

De bitmaps van de twee strepen bevinden zich naast elkaar op de schijf en de strepen zelf bevinden zich ook. Dat wil zeggen, de volgorde van strepen en kaarten ziet eruit als in Fig.

Vergelijken metVET... Er is slechts één "bitmap" voor de hele schijf (FAT-tabel). En om ermee te werken, moet je de lees-/schrijfkoppen gemiddeld over de helft van de schijf verplaatsen.

Het is om de tijd voor het positioneren van de lees-/schrijfkoppen van de harde schijf te verminderen, in HPFS is de schijf verdeeld in strepen.

Overwegen controle blokken.

Opstartblok (bagageruimteblok)

Bevat de volumenaam, het serienummer, het BIOS-instellingenblok en het bootstrap-programma.

Het bootstrap-programma vindt het bestand OS 2 LDR , leest het in het geheugen en draagt ​​de controle over aan dit OS-opstartprogramma, dat op zijn beurt de OS/2-kernel van schijf in het geheugen laadt - OS 2 KRNL. En al OS 2 KRIML informatie uit bestand gebruiken CONFIG. SYS laadt alle andere vereiste programmamodules en datablokken in het geheugen.

Het opstartblok bevindt zich in de sectoren 0 tot en met 15.

SuperBlok(super blok))

bevat

Een aanwijzer naar een bitmapbloklijst. Deze lijst bevat alle blokken op de schijf die de bitmaps bevatten die worden gebruikt om vrije sectoren te detecteren;

· Pointer naar de slechte blokkeerlijst. Wanneer het systeem een ​​beschadigd blok detecteert, wordt het aan deze lijst toegevoegd en wordt het niet langer gebruikt om informatie op te slaan;

Een verwijzing naar een directoryband,

Een verwijzing naar het bestandsknooppunt (F -knooppunt) van de hoofdmap,

· Datum van de laatste sectiecontrole door het CHKDSK-programma;

· Informatie over de grootte van de streep (in de huidige implementatie van HPFS - 8 MB).

Superblok bevindt zich in sector 16.

Reserveblok(reserveblok)

bevat

Pointer naar de noodvervangingskaart (hotfixkaart of hotfix -gebieden);

Aanwijzer naar de directory noodvrije blokkeerlijst

· Een aantal systeemvlaggen en descriptors.

Dit blok bevindt zich in de 17e sector van de schijf.

Het reserveblok biedt een hoge fouttolerantie van het HPFS-bestandssysteem en stelt u in staat beschadigde gegevens op de schijf te herstellen.

Principe voor bestandstoewijzing

omvang(omvang) - bestandsfragmenten die zich in aangrenzende sectoren van de schijf bevinden. Het bestand heeft ten minste één extensie als het niet gefragmenteerd is en anders meerdere extensies.

Om de positioneringstijd van de lees-/schrijfkoppen van de harde schijf te verminderen, streeft HPFS ernaar om:

1) plaats het bestand in aaneengesloten blokken;

2) als dit niet mogelijk is, plaats dan de extensies van het gefragmenteerde bestand zo dicht mogelijk bij elkaar,

Om dit te doen, gebruikt HPFS statistieken en probeert het ook voorwaardelijk minimaal 4 kilobytes aan ruimte te reserveren aan het einde van bestanden die groeien.

Principes voor het opslaan van informatie over de locatie van bestanden

Elk bestand en elke map van de schijf heeft zijn eigen bestandsknooppunt F-knooppunt... Het is een structuur die informatie bevat over de locatie van een bestand en de uitgebreide attributen.

Elke F-Node neemt één sector en bevindt zich altijd in de buurt van het bestand of de map (meestal direct voor het bestand of de map). F-Node-object bevat

Lengte,

De eerste 15 tekens van de bestandsnaam,

Speciale service-informatie,

Statistieken over bestandstoegang,

Uitgebreide bestandskenmerken,

· De lijst met toegangsrechten (of slechts een deel van deze lijst, als deze erg groot is); als de uitgebreide attributen te groot zijn voor het bestandsknooppunt, wordt er een verwijzing naar geschreven.

Associatieve informatie over de locatie en ondergeschiktheid van het bestand, enz.

Als het bestand aaneengesloten is, wordt de locatie op de schijf beschreven door twee 32-bits nummers. Het eerste getal is een verwijzing naar het eerste blok van het bestand en het tweede is de lengte van de omvang (het aantal opeenvolgende blokken dat bij het bestand hoort).

Als een bestand gefragmenteerd is, wordt de toewijzing van zijn omvang beschreven in het bestandsknooppunt door extra paren van 32-bits getallen.

Een bestandsknooppunt kan informatie hosten voor maximaal acht bestandsextensies. Als het bestand meer begrenzingen heeft, wordt een aanwijzer naar een toewijzingsblok geschreven naar zijn bestandsknooppunt, dat tot 40 verwijzingen naar begrenzingen kan bevatten of, vergelijkbaar met een directorystructuurblok, naar andere toewijzingsblokken.

Directorystructuur en plaatsing

Om mappen op te slaan, gebruik middenband.

Deze strip heet mapband.

Als het vol is, begint HPFS de bestandsmappen in andere banen te ordenen.

De locatie van deze informatiestructuur in het midden van de schijf vermindert de gemiddelde positioneringstijd van de lees-/schrijfkoppen aanzienlijk.

Echter, het gebruik van methode evenwichtige binaire bomen voor het opslaan en ophalen van bestandslocatie-informatie.

Onthoud dat in het bestandssysteem VET de map heeft een lineaire structuur, niet speciaal geordend, daarom moet u bij het zoeken naar een bestand er vanaf het begin achtereenvolgens doorheen kijken.

In HPFS is de directorystructuur: evenwichtige boom met vermeldingen in alfabetische volgorde.

Elk item in de boom bevat

Bestandskenmerken,

Een verwijzing naar het bijbehorende bestandsknooppunt,

Informatie over het tijdstip en de datum waarop het dossier is aangemaakt, het tijdstip en de datum van de laatste update en het beroep,

De lengte van gegevens met uitgebreide attributen,

Een teller van bestandstoegangen,

De lengte van de bestandsnaam

De naam zelf,

· En andere informatie.

Het HPFS-bestandssysteem doorzoekt alleen de takken van de binaire boom die nodig zijn om een ​​bestand in een map te vinden. Deze methode is vele malen efficiënter dan het achtereenvolgens lezen van alle vermeldingen in de directory, wat het geval is in het FAT-systeem.

De grootte van elk van de blokken in termen van welke mappen zijn toegewezen in de huidige HPFS-implementatie is 2 KB. De grootte van het record dat het bestand beschrijft, hangt af van de grootte van de bestandsnaam. Als de naam 13 bytes is (voor 8.3-indeling), kan een blok van 2 KB maximaal 40 bestandsdescriptors bevatten. De blokken zijn via een lijst aan elkaar gekoppeld.

Problemen

Bij het hernoemen van bestanden kan een zogenaamde tree rebalancing optreden. Het maken, hernoemen of wissen van bestanden kan resulteren in: trapsgewijze directoryblokken... In feite kan het hernoemen mislukken vanwege onvoldoende schijfruimte, zelfs als het bestand zelf niet groter is geworden. Om deze "ramp" te voorkomen, houdt HPFS een kleine pool van gratis blokken bij die kunnen worden gebruikt in het geval van een "crash". Deze bewerking vereist mogelijk de toewijzing van extra blokken op een volledige schijf. Een verwijzing naar deze pool van vrije blokken wordt opgeslagen in het SpareBlock,

Principes van het plaatsen van bestanden en mappen op schijf inHPFS:

· Informatie over de locatie van bestanden is verspreid over de schijf, terwijl de records van elk specifiek bestand (indien mogelijk) in aangrenzende sectoren en in de buurt van hun locatiegegevens worden geplaatst;

· Directory's bevinden zich in het midden van de schijfruimte;

· Directory's worden opgeslagen als een binaire, evenwichtige boom met vermeldingen in alfabetische volgorde.

Betrouwbaarheid van gegevensopslag in HPFS

Elk bestandssysteem moet een manier hebben om fouten te corrigeren die optreden bij het schrijven van informatie naar schijf. HPFS gebruikt noodvervangingsmechanisme ( hotfix).

Als het HPFS-bestandssysteem een ​​probleem tegenkomt tijdens het schrijven van gegevens naar schijf, wordt een passend foutbericht op het scherm weergegeven. De HPFS slaat vervolgens de informatie op die naar de defecte sector had moeten worden geschreven in een van de reservesectoren die vooraf voor dit geval waren gereserveerd. De reserve-reservebloklijst wordt opgeslagen in het HPFS-reserveblok. Als er een fout wordt gedetecteerd tijdens het schrijven van gegevens naar een normaal blok, selecteert HPFS een van de vrije reserveblokken en slaat de gegevens daarin op. Dan wordt het bestandssysteem bijgewerkt noodvervangingskaart in de back-upeenheid.

Deze kaart is slechts een paar dubbele woorden, die elk een 32-bits sectornummer zijn.

Het eerste cijfer geeft de defecte sector aan en het tweede geeft de sector aan van de beschikbare reservesectoren die is geselecteerd om deze te vervangen.

Nadat de defecte sector door een reserve is vervangen, wordt de noodvervangingskaart naar de schijf geschreven en verschijnt er een pop-upvenster op het scherm waarin de gebruiker wordt geïnformeerd over de fout bij het schrijven naar de schijf. Elke keer dat het systeem een ​​sector van de schijf schrijft of leest, kijkt het naar de noodvervangingskaart en vervangt het alle slechte sectornummers door de reservesectornummers met de bijbehorende gegevens.

Opgemerkt moet worden dat deze nummervertaling geen significante invloed heeft op de systeemprestaties, omdat deze alleen wordt uitgevoerd bij fysieke toegang tot de schijf, maar niet bij het lezen van gegevens uit de schijfcache.

Bestandssysteem NTFS

Het NTFS-bestandssysteem (New Technology File System) bevat een aantal belangrijke verbeteringen en wijzigingen die het aanzienlijk onderscheiden van andere bestandssystemen.

Merk op dat met zeldzame uitzonderingen, met NTFS-partities zijn alleen rechtstreeks toegankelijk vanaframenNT, hoewel er overeenkomstige implementaties van bestandsbeheersystemen zijn voor een aantal besturingssystemen voor het lezen van bestanden van NTFS-volumes.

Er zijn echter nog geen volwaardige implementaties voor het werken met NTFS buiten het Windows NT-systeem.

NTFS wordt niet ondersteund in de reguliere besturingssystemen Windows 98 en Windows Millennium Edition.

Belangrijkste kenmerken:NT FS

· Werken op grote schijven is efficiënt (veel efficiënter dan in FAT);

Er zijn tools om de toegang tot bestanden en mappen te beperken Þ NTFS-partities bieden lokale beveiliging voor zowel bestanden als mappen;

Er is een transactiemechanisme geïntroduceerd, waarbij: loggen bestandsbewerkingen Þ aanzienlijke toename van de betrouwbaarheid;

· Veel beperkingen op het maximale aantal schijfsectoren en/of clusters verwijderd;

· De bestandsnaam in NTFS kan, in tegenstelling tot de FAT- en HPFS-bestandssystemen, alle tekens bevatten, inclusief de volledige set nationale alfabetten, aangezien de gegevens worden weergegeven in Unicode - een 16-bits weergave die 65535 verschillende tekens geeft. De maximale lengte van een bestandsnaam in NTFS is 255 tekens.

· NTFS heeft ook ingebouwde compressietools die kunnen worden toegepast op individuele bestanden, hele mappen en zelfs volumes (en vervolgens geannuleerd of toegewezen zoals u wilt).

Volumestructuur met NTFS-bestandssysteem

Een NTFS-partitie wordt een volume genoemd. De maximaal mogelijke volumegroottes (en bestandsgroottes) zijn 16 EB (exabytes 2 ** 64).

Net als andere systemen verdeelt NTFS de schijfruimte op een volume in clusters - gegevensblokken die worden aangesproken als gegevenseenheden. NTFS ondersteunt clustergroottes van 512 bytes tot 64 KB; de standaard wordt beschouwd als een cluster van 2 of 4 KB.

Alle schijfruimte in NTFS is verdeeld in twee ongelijke delen.


De eerste 12% van de schijf is bestemd voor de zogenaamde MFT-zone - de ruimte die groter kan worden, de belangrijkste dienst metabestand MFT.

Er kunnen geen gegevens naar dit gebied worden geschreven. De MFT-zone wordt altijd leeg gehouden - dit wordt gedaan zodat het MFT-bestand niet zo veel mogelijk gefragmenteerd raakt naarmate het groeit.

De overige 88% van het volume is reguliere bestandsopslag.

MFT (meesterhet dossiertafel - common file table) is in wezen een directory van alle andere bestanden op de schijf, inclusief zichzelf. Het is ontworpen om de locatie van bestanden te bepalen.

De MFT bestaat uit records van vaste grootte. De MFT-recordgrootte (minimaal 1 KB en maximaal 4 KB) wordt bepaald tijdens het formatteren van het volume.

Elke invoer komt overeen met een bestand.

De eerste 16 vermeldingen hebben een servicekarakter en zijn niet beschikbaar voor het besturingssysteem - ze worden genoemd metabestanden, en het allereerste metabestand is de MFT zelf.

Deze eerste 16 elementen van de MFT zijn het enige deel van de schijf dat een strikt vaste positie heeft. Een kopie van deze 16 records wordt in het midden van het volume bewaard voor betrouwbaarheid.

De rest van het MFT-bestand kan, net als elk ander bestand, op willekeurige plaatsen op de schijf worden geplaatst.

Metabestanden hebben een servicekarakter - elk van hen is verantwoordelijk voor een bepaald aspect van de systeemwerking. De metabestanden bevinden zich in de hoofdmap van het NTFS-volume. Ze beginnen allemaal met het teken "$", hoewel het moeilijk is om er op standaard wijze informatie over te krijgen. Tafel toont de belangrijkste metabestanden en hun doel.

Metabestandsnaam

Metabestand doel

$ MFT

De hoofdbestandstabel zelf

$ MFTmirr

Een kopie van de eerste 16 MFT-records in het midden van het volume

$ Logbestand

Ondersteuningsbestand loggen

$ Volume

Service-informatie - volumelabel, bestandssysteemversie, enz.

$ AttrDef

Lijst met standaard bestandskenmerken op een volume

Hoofdmap

$ Bitmap

Volume vrije ruimte kaart

$ Opstarten

Opstartsector (als de partitie opstartbaar is)

$ Quotum

Het bestand waarin de rechten van gebruikers om schijfruimte te gebruiken zijn vastgelegd (dit bestand begon pas te werken in Windows 2000 met NTFS 5.0)

$ Upcase

Bestand - een tabel met correspondentie tussen hoofdletters en kleine letters in bestandsnamen. In NTFS worden bestandsnamen geschreven naar Unicode (dat is 65 duizend verschillende karakters) en het zoeken naar grote en kleine equivalenten is in dit geval geen triviale taak

Alle informatie over het bestand wordt opgeslagen in het bijbehorende MFT-record:

· Bestandsnaam,

· de grootte;

· Bestandskenmerken;

Positie op de schijf van individuele fragmenten, enz.

Als één MFT-record ter informatie ontbreekt, worden meerdere records gebruikt, en niet noodzakelijkerwijs opeenvolgende.

Als het bestand niet erg groot is, worden de bestandsgegevens direct in de MFT opgeslagen, in de ruimte die overblijft van de hoofdgegevens binnen één MFT-record.

Het bestand op het NTFS-volume wordt geïdentificeerd door de zogenaamde bestandslink(Bestandsreferentie), die wordt weergegeven als een 64-bits getal.

Het bestandsnummer dat overeenkomt met het recordnummer in de MFT,

· En volgnummers. Dit nummer wordt verhoogd wanneer het opgegeven nummer opnieuw wordt gebruikt in de MFT, waardoor het NTFS-bestandssysteem interne consistentiecontroles kan uitvoeren.

Elk bestand in NTFS wordt weergegeven met: stromen(streams), dat wil zeggen, het heeft niet "alleen data" als zodanig, maar er zijn streams.

Een van de stromen is de bestandsgegevens.

De meeste bestandskenmerken zijn ook streams.

Het blijkt dus dat het bestand maar één basisentiteit heeft - het nummer in de MFT en al het andere, inclusief de streams, is optioneel.

Deze benadering kan effectief worden gebruikt - u kunt bijvoorbeeld een andere stream aan een bestand "plakken" door er gegevens naar te schrijven.

De standaardkenmerken voor bestanden en mappen op een NTFS-volume hebben vaste namen en typecodes.

Catalogus in NTFS is het een speciaal bestand dat koppelingen naar andere bestanden en mappen opslaat.

Het catalogusbestand is verdeeld in blokken, die elk:

· Bestandsnaam,

Basiskenmerken en

De hoofdmap van de schijf verschilt niet van gewone mappen, behalve een speciale link ernaar vanaf het begin van het MFT-metabestand.

De interne structuur van de directory is een binaire boom zoals in HPFS.

Het aantal bestanden in de root- en niet-rootdirectory is onbeperkt.

Het NTFS-bestandssysteem ondersteunt het NT-beveiligingsobjectmodel: NTFS behandelt mappen en bestanden als heterogene objecten en onderhoudt afzonderlijke (zij het overlappende) toegangslijsten voor elk type.

NTFS biedt beveiliging op bestandsniveau; dit betekent dat toegangsrechten tot volumes, mappen en bestanden kunnen afhangen van het gebruikersaccount en de groepen waartoe het behoort. Elke keer dat een gebruiker een object in het bestandssysteem benadert, worden zijn toegangsrechten vergeleken met de lijst met machtigingen van dit object. Als de gebruiker voldoende rechten heeft, wordt aan zijn verzoek voldaan; anders wordt het verzoek afgewezen. Dit beveiligingsmodel is van toepassing op zowel lokale gebruikersaanmelding op NT-computers als op externe netwerkverzoeken.

NTFS heeft ook enkele zelfherstellende functies. NTFS ondersteunt verschillende mechanismen voor het controleren van de integriteit van het systeem, waaronder het loggen van transacties, waarmee u schrijfbewerkingen voor bestanden kunt herhalen op basis van een speciaal systeemlogboek.

Bij loggen bestandsbewerkingen registreert het bestandsbeheersysteem wijzigingen in een speciaal servicebestand. Aan het begin van een bewerking met betrekking tot het wijzigen van de bestandsstructuur, wordt een overeenkomstige notitie gemaakt. Als er een storing optreedt tijdens bewerkingen op bestanden, blijft de genoemde markering over het begin van de bewerking aangegeven als onvolledig. Als u de integriteit van het bestandssysteem controleert na het opnieuw opstarten van de machine, worden deze onvoltooide bewerkingen ongedaan gemaakt en worden de bestanden in hun oorspronkelijke staat hersteld. Als de bewerking van het wijzigen van gegevens in bestanden normaal wordt voltooid, wordt de bewerking gemarkeerd als voltooid in dit ondersteuningsservicebestand voor logboekregistratie.

Het grootste nadeel van het bestandssysteemNTFS- servicegegevens nemen veel ruimte in beslag (elk element van de catalogus neemt bijvoorbeeld 2 KB in beslag) - voor kleine partities kunnen servicegegevens tot 25% van het mediavolume in beslag nemen.

Þ NTFS kan niet worden gebruikt om diskettes te formatteren. Gebruik het niet om partities kleiner dan 100 MB te formatteren.

OS-bestandssysteem UNIX

In de UNIX-wereld zijn er verschillende soorten bestandssystemen met hun eigen externe geheugenstructuur. De meest bekende zijn het traditionele UNIX System V (s5) bestandssysteem en de BSD UNIX familie van bestanden (ufs).

Overweeg s 5.

Een bestand op UNIX is een set willekeurige toegangstekens.

Het bestand heeft een zodanige structuur dat de gebruiker het oplegt.

Het Unix-bestandssysteem is een hiërarchisch bestandssysteem voor meerdere gebruikers.

Het bestandssysteem heeft een boomstructuur. De toppen (tussenliggende knooppunten) van de boom zijn mappen met links naar andere mappen of bestanden. De bladeren van de boom komen overeen met bestanden of lege mappen.

Opmerking. In feite is het Unix-bestandssysteem niet boomachtig. Het is een feit dat het systeem de mogelijkheid heeft om de hiërarchie te doorbreken in de vorm van een boom, omdat het mogelijk is om te associëren meerdere namen met dezelfde bestandsinhoud.

Schijfstructuur

De schijf is verdeeld in blokken. De grootte van het datablok wordt bepaald bij het formatteren van het bestandssysteem met het mkfs-commando en kan worden ingesteld op 512, 1024, 2048, 4096 of 8192 bytes.

We tellen 512 bytes (sectorgrootte).

Schijfruimte is verdeeld in de volgende gebieden (zie afbeelding):

· Opstartblok;

· Controle superblok;

· Array van i -knooppunten;

· Een gebied voor het opslaan van de inhoud (gegevens) van bestanden;

· Een set gratis blokken (gekoppeld in een lijst);

Opstartblok

Superblok

ik - knoop

. . .

ik - knoop

Opmerking. Voor het UFS-bestandssysteem - dit alles wordt herhaald voor de cilindergroep (behalve voor het Boot-blok) + een speciaal gebied is toegewezen om de cilindergroep te beschrijven

Opstartblok

Het blok bevindt zich in blok # 0. (Bedenk dat de plaatsing van dit blok in systeemapparaatblok nul door hardware wordt bepaald, aangezien de hardware-bootloader altijd verwijst naar systeemapparaatblok nul. Dit is de laatste bestandssysteemcomponent die hardwareafhankelijk is.)

Boot block bevat een booster-programma dat wordt gebruikt om het UNIX-besturingssysteem voor de eerste keer te starten. In s 5-bestandssystemen wordt alleen het opstartblok van het rootbestandssysteem daadwerkelijk gebruikt. Aanvullende bestandssystemen hebben dit gebied, maar worden niet gebruikt.

Superblok

Het bevat operationele informatie over de status van het bestandssysteem, evenals informatie over de instellingen voor het bestandssysteem.

In het bijzonder bevat het superblok de volgende informatie:

· Het aantal i -nodes (inodes);

· De grootte van de sectie ???;

· Lijst met gratis blokken;

· Lijst met gratis i -nodes;

· en andere.

Let op! Formulieren voor vrije schijfruimte gekoppelde lijst met gratis blokken... Deze lijst wordt opgeslagen in een superblok.

De elementen van de lijst zijn arrays van 50 elementen (als blok = 512 bytes, dan element = 16 bits):

· In de elementen van array nr. 1 tot en met 48 worden de aantallen vrije blokken van de ruimte van bestandsblokken van 2 tot 49 geschreven.

· Item # 0 bevat een verwijzing naar het vervolg van de lijst, en

· Het laatste element (nr. 49) bevat een pointer naar een vrij element in de array.

Als een proces een vrij blok nodig heeft om het bestand uit te breiden, dan selecteert het systeem een ​​array-element per aanwijzer (naar een vrij element), en het blok met het nummer dat in dit element is opgeslagen, wordt aan het bestand gegeven. Als het bestand wordt ingekort, worden de vrijgekomen nummers toegevoegd aan de vrije blokarray en wordt de aanwijzer naar een vrij element aangepast.

Aangezien de grootte van de array 50 elementen is, zijn er twee kritieke situaties mogelijk:

1. Wanneer we blokken bestanden vrijmaken, en ze passen niet in deze array. In dit geval wordt één vrij blok geselecteerd uit het bestandssysteem en wordt de volledig gevulde reeks vrije blokken naar dit blok gekopieerd, waarna de waarde van de aanwijzer naar het vrije element op nul wordt gezet, en in het nul-element van de array, dat zich in het superblok bevindt, wordt het nummer van het blok geschreven dat het systeem heeft gekozen om de inhoud van de array te kopiëren... Op dit punt wordt een nieuw element van de vrije lijst gemaakt (elk 50 elementen).

2. Wanneer de inhoud van de elementen van de array van vrije blokken is uitgeput (in dit geval is het nul-element van de array gelijk aan nul) Als dit element niet gelijk is aan nul, betekent dit dat er een uitbreiding is van de reeks. Dit vervolg wordt ingelezen in een kopie van het superblok in RAM.

Lijst met gratisik -nodes... Dit is een buffer van 100 elementen. Het bevat informatie over 100 i-node nummers die op dit moment vrij zijn.

Het superblok bevindt zich altijd in RAM

Þ alle bewerkingen (vrijgave en inbeslagname van blokken en i-nodes vinden plaats in RAM Þ minimalisering van uitwisselingen met de schijf.

Maar! Als de inhoud van het superblok niet naar de schijf wordt geschreven en de stroom wordt uitgeschakeld, zullen er problemen ontstaan ​​(een discrepantie tussen de werkelijke toestand van het bestandssysteem en de inhoud van het superblok). Maar dit is al een vereiste voor de betrouwbaarheid van de systeemhardware.

Opmerking... Meerdere exemplaren van het superblok worden ondersteund op UFS-bestandssystemen om de veerkracht te verbeteren (één exemplaar per cilindergroep)

Inode gebied

Dit is een reeks bestandsbeschrijvingen genaamd i -knooppunten (l -knooppunt)(64 bytes?)

Elke inodedescriptor (i -node) van het bestand bevat:

Bestandstype (bestand / map / speciaal bestand / fifo / socket)

Attributen (toegangsrechten) - 10

Bestandseigenaar-ID

De groeps-ID van de eigenaar van het bestand

Tijd voor het maken van bestanden

Tijd voor bestandswijziging

Het tijdstip van de laatste toegang tot het bestand

Bestandslengte

Het aantal links naar een bepaald i -knooppunt uit verschillende mappen

Blokkeringsadressen bestand

!Opmerking... Er is hier geen bestandsnaam

Laten we eens nader bekijken hoe het is georganiseerd adressering blokkeren waar het bestand zich bevindt. In het veld met adressen staan ​​dus de nummers van de eerste 10 blokken van het bestand.

Als het bestand de tien blokken overschrijdt, begint het volgende mechanisme te werken: het 11e element van het veld bevat het bloknummer, dat 128 (256) links naar de blokken van dit bestand bevat. In het geval dat het bestand nog groter is, wordt het 12e element van het veld gebruikt - het bevat het bloknummer, dat 128 (256) bloknummers bevat, waarbij elk blok 128 (256) bloknummers van het bestandssysteem bevat. En als het bestand nog groter is, wordt element 13 gebruikt - waarbij de nestdiepte van de lijst met nog één wordt vergroot.

We kunnen dus een bestand met de grootte (10 + 128 + 128 2 + 128 3) * 512 krijgen.

Dit kan als volgt worden weergegeven:

Adres van het 1e blok van het bestand

Adres van het 2e blok van het bestand

Adres van het 10e blok van het bestand

Indirect blokadres (blok met 256 blokadressen)

Blokadres van de 2e indirecte adressering (blok met 256 adressen van blokken met adressen)

Blokadres van de 3e indirecte adressering (blok met blokadressen met blokadressen met adressen)

Bestandsbeveiliging

Laten we nu letten op de eigenaar- en groeps-ID's en de beveiligingsbits.

Unix OS gebruikt gebruikershiërarchie op drie niveaus:

Het eerste niveau is alle gebruikers.

Het tweede niveau zijn gebruikersgroepen. (Alle gebruikers zijn onderverdeeld in groepen.

Het derde niveau is een specifieke gebruiker (Groepen bestaan ​​uit echte gebruikers). Vanwege deze drieledige gebruikersorganisatie heeft elk bestand drie kenmerken:

1) De eigenaar van het bestand. Dit attribuut is gekoppeld aan één specifieke gebruiker, die automatisch door het systeem wordt toegewezen als de eigenaar van het bestand. U kunt standaard de eigenaar worden door een bestand aan te maken en er is ook een opdracht waarmee u de eigenaar van een bestand kunt wijzigen.

2) Bescherming van de toegang tot het bestand. De toegang tot elk bestand is beperkt tot drie categorieën:

· Eigenaarsrechten (wat de eigenaar in het algemeen met dit bestand kan doen - niet per se iets);

· De rechten van de groep waartoe de eigenaar van het bestand behoort. De eigenaar is hier niet opgenomen (het bestand kan bijvoorbeeld worden gesloten om te worden gelezen door de eigenaar en alle andere leden van de groep kunnen vrijelijk uit dit bestand lezen;

· Alle andere gebruikers van het systeem;

Drie acties worden geregeld door deze drie categorieën: uit een bestand lezen, naar een bestand schrijven en een bestand uitvoeren (respectievelijk in de systeemgeheugensteuntjes R, W, X). In elk bestand worden deze drie categorieën gedefinieerd - welke gebruiker kan lezen, welke kan schrijven en wie het als een proces kan uitvoeren.

Directory's ordenen

Vanuit het oogpunt van het besturingssysteem is een map een normaal bestand dat informatie bevat over alle bestanden die bij de map horen.

Het catalogusitem bestaat uit twee velden:

1) het nummer van de i -node (het rangtelwoord in de array van i -nodes) en

2) bestandsnaam:

Elke directory bevat twee speciale namen: ‘.’ Is de directory zelf; ‘..’ is de bovenliggende directory.

(Voor de hoofdmap verwijst de ouder naar zichzelf.)

In het algemeen kan de directory meerdere items bevatten die verwijzen naar dezelfde i -node, maar de directory mag geen items met dezelfde naam bevatten. Dat wil zeggen, een willekeurig aantal namen kan worden gekoppeld aan de inhoud van het bestand. Het heet verbindend... Een directory-item dat verwijst naar één bestand heet communicatie.

Bestanden bestaan ​​onafhankelijk van directory-items en directorykoppelingen verwijzen in feite naar fysieke bestanden. Het bestand "verdwijnt" wanneer de laatste link die ernaar verwijst wordt verwijderd.

Dus, om toegang te krijgen tot een bestand op naam, besturingssysteem

1.vindt deze naam in de map die het bestand bevat,

2. krijgt het nummer van de i-node van het bestand,

3. vindt uit het nummer de i-node in de regio van i-nodes,

4.van de i-node ontvangt de adressen van de blokken waarin de bestandsgegevens zich bevinden,

5. door blokadressen leest blokken uit het gegevensgebied.

Schijfpartitiestructuur in EXT2 FS

De gehele partitieruimte is opgedeeld in blokken. Een blok kan 1, 2 of 4 kilobytes groot zijn. Een blok is een adresseerbare eenheid schijfruimte.

Blokken in hun gebied worden gecombineerd tot groepen blokken. Groepen blokken in het bestandssysteem en blokken binnen een groep worden opeenvolgend genummerd, beginnend bij 1. Het eerste blok op een schijf is genummerd 1 en behoort tot groep genummerd 1. Het totale aantal blokken op een schijf (in een schijfpartitie) is een deler van de schijfgrootte uitgedrukt in sectoren. En het aantal blokgroepen is niet nodig om het aantal blokken te verdelen, omdat de laatste groep blokken mogelijk niet compleet is. Het begin van elke groep blokken heeft een adres, dat kan worden verkregen als ((groepsnummer - 1) * (aantal blokken in de groep)).

Elke groep blokken heeft dezelfde structuur. De structuur is weergegeven in de tabel.

Het eerste element van deze structuur (superblok) is hetzelfde voor alle groepen, en de rest is individueel voor elke groep. Het superblok wordt opgeslagen in het eerste blok van elke blokgroep (behalve groep 1, die het opstartrecord in het eerste blok bevat). Superblok is het startpunt van het bestandssysteem. Het is 1024 bytes groot en bevindt zich altijd op 1024 bytes vanaf het begin van het bestandssysteem. De aanwezigheid van meerdere exemplaren van het superblok is te wijten aan het extreme belang van dit element van het bestandssysteem. Dubbele superblokken worden gebruikt voor het herstellen van crashes van het bestandssysteem.

De informatie die is opgeslagen in het superblok wordt gebruikt om de toegang tot de rest van de gegevens op de schijf te organiseren. Het superblok bepaalt de grootte van het bestandssysteem, het maximale aantal bestanden in de partitie, de hoeveelheid vrije ruimte en bevat informatie over waar te zoeken naar niet-toegewezen gebieden. Wanneer het besturingssysteem opstart, wordt het superblok in het geheugen ingelezen en worden alle wijzigingen in het bestandssysteem eerst weergegeven in de kopie van het superblok in het besturingssysteem en slechts periodiek naar schijf geschreven. Dit verbetert de systeemprestaties, aangezien veel gebruikers en processen voortdurend bestanden bijwerken. Aan de andere kant, wanneer het systeem wordt uitgeschakeld, moet het superblok naar de schijf worden geschreven, waardoor het niet mogelijk is de computer uit te zetten door simpelweg de stroom uit te schakelen. Anders komt de informatie die in het superblok is geschreven bij de volgende keer opstarten niet overeen met de werkelijke toestand van het bestandssysteem.

Na het superblok volgen de groepsdescriptoren. Deze beschrijving bevat:

Het adres van het blok dat de blokbitmap van de gegeven groep bevat;

Het adres van het blok dat de inode-bitmap voor de groep bevat;

Het adres van het blok dat de inodetabel van de groep bevat;

Teller van het aantal vrije blokken in deze groep;

Het aantal vrije inodes in deze groep;

Het aantal inodes in deze groep die mappen zijn

en andere gegevens.

De informatie die is opgeslagen in de groepsbeschrijving wordt gebruikt om de blok- en inode-bitmaps en de inode-tabel te lokaliseren.

Bestandssysteem Ext 2 wordt gekenmerkt door:

  • hiërarchische structuur,
  • consistente verwerking van data-arrays,
  • dynamische bestandsextensie,
  • bescherming van informatie in bestanden,
  • het behandelen van randapparatuur (zoals terminals en tape-apparaten) als bestanden.

Interne weergave van bestanden

Elk bestand in Ext 2 heeft een unieke index. De index bevat de informatie die elk proces nodig heeft om toegang te krijgen tot het bestand. Processen toegangsbestanden gebruiken een goed gedefinieerde set systeemaanroepen en identificeren het bestand met een reeks tekens die fungeren als de onderscheidende bestandsnaam. Elke DN-naam identificeert een bestand op unieke wijze, zodat de kernel die naam vertaalt in een index voor het bestand.De index bevat een tabel met adressen voor de locatie van de informatie van het bestand op schijf. Aangezien elk blok op schijf wordt geadresseerd door zijn eigen nummer, slaat deze tabel een verzameling schijfbloknummers op. Voor flexibiliteit voegt de kernel stukjes tegelijk aan een bestand toe, zodat de informatie van het bestand door het bestandssysteem kan worden verspreid. Maar deze lay-out bemoeilijkt de taak om gegevens te vinden. De adrestabel bevat een lijst met bloknummers met informatie die bij het bestand hoort.

Bestandsinodes

Elk bestand op de schijf heeft een bijbehorende bestands-inode, die wordt geïdentificeerd door het volgnummer - de bestandsindex. Dit betekent dat het aantal bestanden dat op een bestandssysteem kan worden gemaakt, wordt beperkt door het aantal inodes, dat ofwel expliciet wordt gespecificeerd wanneer het bestandssysteem wordt gemaakt, ofwel wordt berekend op basis van de fysieke grootte van de schijfpartitie. Inodes bestaan ​​op schijf in statische vorm en de kernel leest ze in het geheugen voordat ze ermee gaan werken.

De inode van het bestand bevat de volgende informatie:

- Het type en de toegangsrechten tot dit bestand.

Eigenaar Uid.

Bestandsgrootte in bytes.

Het tijdstip van de laatste toegang tot het bestand (toegangstijd).

Het tijdstip waarop het bestand is gemaakt.

Het tijdstip waarop het bestand voor het laatst is gewijzigd.

Tijd voor het verwijderen van bestanden.

Groepsidentificatie (GID).

Koppelingen tellen.

Het aantal blokken dat door het bestand wordt ingenomen.

Bestandsvlaggen

Gereserveerd voor besturingssysteem

Verwijzingen naar de blokken waarin de bestandsgegevens zijn geschreven (een voorbeeld van directe en indirecte adressering in Fig. 1)

Bestandsversie (voor NFS)

ACL-bestand

Directory ACL

Fragment adres

Fragmentnummer

Fragmentgrootte

Catalogi

Directory's zijn bestanden.

De kernel slaat gegevens op in een directory, net als in een gewoon bestand, met behulp van een indexstructuur en blokken met voorwaartse en indirecte adresseringsniveaus. Processen kunnen gegevens uit directory's lezen op dezelfde manier als gewone bestanden, maar exclusieve schrijftoegang tot de directory is gereserveerd door de kernel om ervoor te zorgen dat de directorystructuur correct is.).

Wanneer een proces een bestandspad gebruikt, zoekt de kernel in de mappen naar het juiste inodenummer. Nadat een bestandsnaam is geconverteerd naar een inodenummer, wordt die descriptor in het geheugen geplaatst en vervolgens in volgende verzoeken gebruikt.

Extra functies van EXT2 FS

Naast de standaard Unix-functies biedt EXT2fs enkele extra functies die gewoonlijk niet worden ondersteund door Unix-bestandssystemen.

Met bestandskenmerken kunt u de reactie van de kernel wijzigen wanneer u met bestandssets werkt. U kunt attributen instellen voor een bestand of map. In het tweede geval nemen bestanden die in deze map zijn gemaakt deze kenmerken over.

Op het moment van systeemmontage kunnen sommige functies met betrekking tot bestandskenmerken zijn geïnstalleerd. Met de koppeloptie kan de beheerder kiezen hoe de bestanden worden gemaakt. In een BSD-specifiek bestandssysteem worden bestanden gemaakt met dezelfde groeps-ID als de bovenliggende map. De functies van System V zijn iets complexer. Als een directory de setgid bit set heeft, dan zullen de gegenereerde bestanden de groeps-ID van die directory infecteren, en subdirectories erven de group ID en setgid bit. Anders worden bestanden en mappen gemaakt met de primaire groeps-ID van het aanroepende proces.

Het EXT2fs-systeem kan synchrone gegevensmodificatie gebruiken, vergelijkbaar met het BSD-systeem. Met de mount-optie kan de beheerder specificeren dat alle gegevens (inodes, bitblokken, indirecte blokken en directoryblokken) synchroon naar schijf worden geschreven wanneer ze worden gewijzigd. Dit kan worden gebruikt om een ​​hoge gegevensschrijfdoorvoer te bereiken, maar verslechtert ook de prestaties. In feite wordt deze functie meestal niet gebruikt omdat het, naast het verslechteren van de prestaties, kan leiden tot het verlies van gebruikersgegevens die niet zijn gemarkeerd bij het controleren van het bestandssysteem.

Met EXT2fs kunt u de grootte van het logische blok kiezen bij het maken van een bestandssysteem. Het kan 1024, 2048 of 4096 bytes groot zijn. Het gebruik van grote blokken leidt tot snellere I/O-operaties (omdat het aantal verzoeken naar de schijf afneemt) en dus tot minder hoofdbewegingen. Aan de andere kant leidt het gebruik van grote blokken tot verlies van schijfruimte. Gewoonlijk wordt het laatste blok van een bestand niet volledig gebruikt voor het opslaan van informatie, dus met een toename in de grootte van een blok, neemt de hoeveelheid verspilde schijfruimte toe.

Met EXT2fs kunt u versnelde symbolische koppelingen gebruiken. Bij gebruik van dergelijke koppelingen worden de gegevensblokken van het bestandssysteem niet gebruikt. De naam van het bestemmingsbestand wordt niet in het datablok opgeslagen, maar in de inode zelf. Met deze structuur kunt u schijfruimte besparen en de verwerking van symbolische koppelingen versnellen. Uiteraard is de ruimte gereserveerd voor de descriptor beperkt, dus niet elke link kan als versneld gepresenteerd worden. De maximale lengte van een bestandsnaam in een versnelde link is 60 tekens. Het is de bedoeling om deze regeling in de nabije toekomst uit te breiden voor kleine bestanden.

EXT2fs bewaakt de status van het bestandssysteem. De kernel gebruikt een apart veld in het superblok om de status van het bestandssysteem aan te geven. Als het bestandssysteem in de lees-/schrijfmodus is aangekoppeld, wordt de status ingesteld op "Niet opschonen". Als het wordt gedemonteerd of opnieuw wordt geïnstalleerd in de modus alleen-lezen, wordt de status ingesteld op "Opschonen". Tijdens het opstarten van het systeem en het controleren van de status van het bestandssysteem, wordt deze informatie gebruikt om te bepalen of het bestandssysteem moet worden gecontroleerd. De kernel plaatst ook enkele fouten in dit veld. Wanneer de kernel een mismatch detecteert, wordt het bestandssysteem gemarkeerd als "Erroneous". De bestandssysteemcontrole test deze informatie om het systeem te controleren, zelfs als de status in feite "Schoon" is.

Het langdurig negeren van de bestandssysteemtest kan soms tot problemen leiden, daarom bevat EXT2fs twee methoden om het systeem regelmatig te controleren. Het superblok bevat de systeemaankoppelteller. Deze teller wordt elke keer verhoogd als het systeem in de lees-/schrijfmodus wordt geplaatst. Als de waarde zijn maximum bereikt (deze wordt ook opgeslagen in het superblok), dan begint het testprogramma voor het bestandssysteem het te controleren, zelfs als de status "Schoon" is. De laatste controletijd en het maximale interval tussen controles worden ook opgeslagen in het superblok. Wanneer het maximale interval tussen controles is bereikt, wordt de status van het bestandssysteem genegeerd en wordt de controle gestart.

Prestaties optimaliseren

Het EXT2fs-systeem bevat veel functies die de prestaties optimaliseren, wat leidt tot een snellere informatie-uitwisseling bij het lezen en schrijven van bestanden.

EXT2fs maakt actief gebruik van de schijfbuffer. Wanneer een blok moet worden gelezen, geeft de kernel een I / O-verzoek uit voor verschillende nabijgelegen blokken. De kernel probeert er dus voor te zorgen dat het volgende te lezen blok al in de schijfbuffer is geladen. Dergelijke bewerkingen worden gewoonlijk uitgevoerd door het achtereenvolgens lezen van bestanden.

Het EXT2fs-systeem bevat ook een groot aantal optimalisaties voor informatieplaatsing. Blokgroepen worden gebruikt om overeenkomstige inodes en datablokken te combineren. De kernel probeert altijd de datablokken van een bestand in dezelfde groep te plaatsen, evenals de descriptor. Dit is bedoeld om de beweging van de aandrijfkoppen te verminderen bij het lezen van de descriptor en de bijbehorende datablokken.

Bij het schrijven van gegevens naar een bestand wijst EXT2fs vooraf maximaal 8 aaneengesloten blokken toe bij het toewijzen van een nieuw blok. Met deze methode kunt u hoge prestaties bereiken wanneer het systeem zwaar wordt belast. Het maakt het ook mogelijk om aaneengesloten blokken met bestanden toe te wijzen, waardoor latere lezingen sneller gaan.

Bestandssysteem Ligt aan de ene kant gegevensbeheersysteem opgeslagen op een extern opslagapparaat. Om gegevensopslag op een extern apparaat te organiseren, toegang te krijgen tijdens bewerkingen, bouwt het besturingssysteem speciale tabellen en naslagwerken. Schijfruimte kan op verschillende manieren worden georganiseerd. Daarom, aan de andere kant, bestandssysteem- het is jezelf gegevens en service-informatie, gebruikt om deze gegevens op één apparaat te beheren, hun invoer en opslag te organiseren, bewerkingen erop uit te voeren (één apparaat - één bestandssysteem). De manier waarop gegevensopslag op externe apparaten wordt georganiseerd, hangt af van de bestandssystemen die in het besturingssysteem worden gebruikt.

Momenteel gebruiken verschillende Microsoft-besturingssystemen verschillende typen bestandssystemen... Elk van hen heeft zijn eigen kenmerken en helaas worden ze mogelijk niet herkend door "niet-native" besturingssystemen.

Het oude FAT16 bestandssysteem wordt herkend door alle besturingssystemen sinds MS-DOS, het wordt ondersteund door Windows, Windows NT, OS/2 en Unix, maar het is erg inefficiënt, er gaat veel schijfruimte verloren. FAT32 kan problemen veroorzaken bij het installeren van meerdere besturingssystemen op een pc. De onderstaande tabel toont de mogelijkheden van het besturingssysteem om verschillende bestandssystemen te ondersteunen.

FAT-bestandssysteem ontworpen voor kleine stations en eenvoudige directorystructuren. De basis van de organisatie is de FAT-tabel (File Allocation Table). Dit systeem werkt alleen op logische schijfeenheden die niet groter zijn dan 256 MB. Schijfruimte bij het plaatsen van gegevens met FAT kan alleen in zijn geheel worden toegewezen clusters, dus schijfruimte kan worden verspild als het toegewezen bestand niet het hele cluster vult dat het laatst eraan is toegewezen (als de clustergrootte bijvoorbeeld 32 KB is, zal het plaatsen van een 10 KB-bestand op schijf geen 22 KB van de schijf gebruiken geheugen toegewezen aan dit bestand).

In het geval van een storing (bijvoorbeeld een plotselinge stroomuitval), kan de locatie-informatie van de keten van clusters die door het bestand worden ingenomen, verloren gaan. De informatie in de FAT kan beschadigd zijn. Dit kan leiden tot het verschijnen van "vuilnis" op de schijf - clusters die ontoegankelijk zijn voor gebruik.

Om het bestandssysteem te herstellen, bevat het besturingssysteem speciale hulpprogramma's die: scannen(controleer) de schijf en zoek naar fysieke schade en fouten in het bestandssysteem.

De algemene schijfgroottelimiet bij gebruik van FAT is 2 GB. Bij gebruik van FAT is de grootte van de hoofdmap beperkt (512 bestanden of mappen, en zelfs minder bij gebruik van lange namen).

De FAT wordt aan het begin van de schijf opgeslagen. Om de betrouwbaarheid van het werk te vergroten, wordt er een kopie van gemaakt.



FAT32-bestandssysteem Biedt voordelen ten opzichte van de FAT-implementatie: schijven tot 2 TB worden ondersteund; efficiënter gebruik van schijfruimte (clusters van 4, 8, 16 en 32 KB worden gebruikt); de beperking van de grootte van de hoofdmap wordt verwijderd (deze wordt, net als alle andere mappen en bestanden, opgeslagen in de vorm van een keten van clusters); biedt grotere betrouwbaarheid en sneller laden van programma's.

Het belangrijkste doel van de implementatie bestandssysteem NTFS(NT File System) moest een combinatie bieden van hoge prestaties, betrouwbaarheid en efficiëntie. Dit systeem implementeert snelle uitvoering van standaardbewerkingen op bestanden (zoeken, lezen, schrijven). NTFS ondersteunt gegevenstoegangscontrole en eigenaarsrechten. In dit systeem kunt u rechten (bevoegdheid) toekennen voor toegang tot apparaten, mappen en individuele bestanden.

Het NTFS-bestandssysteem heeft de volgende extra functies: logboekregistratie van schijfactiviteiten (transactielogboek) stelt u in staat om snel schijfherstel uit te voeren na storingen (elke I/O-bewerking die een bestand wijzigt, wordt beschouwd als een transactie, dwz een ondeelbare bewerking die volledig moet worden uitgevoerd voltooid en in geval van storing keert het systeem terug naar het begin); flexibele formatteringsopties zorgen voor een efficiënter gebruik van schijfruimte; compressie-opties stellen u in staat om individuele bestanden en mappen te comprimeren (met clustergroottes tot 4 KB); volumes kunnen uitbreiden en schijfruimte gebruiken die niet aan andere partities is toegewezen; gestreepte volumes bieden de mogelijkheid om gegevenstoegang te versnellen; gespiegelde en RAID-5-volumes bieden fouttolerante gegevensopslag.

Het NTFS 5-bestandssysteem introduceert nieuwe functies: Windows ondersteunt gedistribueerd bestandssysteem(DFS - Distributed File System), waarmee u alle netwerkbronnen in een enkel logisch volume kunt combineren, en versleuteld bestandssysteem(EFS staat voor Encrypting File System), een add-on op NTFS die deze aanvult met mogelijkheden voor gegevenscodering.

Bestandssystemen

Informatie over schijven wordt vastgelegd in sectoren van vaste lengte, en elke sector en locatie van elk fysiek record (sector) op de schijf wordt uniek geïdentificeerd door drie cijfers: de nummers van het schijfoppervlak, de cilinder en de sector op een spoor. En de schijfcontroller werkt in deze termen met de schijf. En de gebruiker wil geen sectoren, cilinders en oppervlakken gebruiken, maar bestanden en mappen. Daarom moet het besturingssysteem of een ander programma, bij het werken met bestanden en mappen op schijven, zich vertalen in acties die begrijpelijk zijn voor de controller: het lezen en schrijven van bepaalde sectoren van de schijf. En hiervoor is het noodzakelijk om de regels vast te stellen waarmee deze vertaling wordt uitgevoerd, dat wil zeggen, in de eerste plaats om te bepalen hoe informatie op schijven moet worden opgeslagen en georganiseerd.

Een bestandssysteem is een reeks conventies die de organisatie van gegevens op opslagmedia regelen. De aanwezigheid van deze overeenkomsten stelt het besturingssysteem, andere programma's en gebruikers in staat om met bestanden en mappen te werken.

Het bestandssysteem definieert:

1. hoe bestanden en mappen op schijf worden opgeslagen;

2. welke informatie wordt opgeslagen over bestanden en mappen;

3. hoe u kunt achterhalen welke delen van de schijf vrij zijn en welke niet;

4. formaat van catalogi en andere service-informatie op de schijf.

Om schijven te gebruiken die met een bepaald bestandssysteem zijn geschreven, moet het besturingssysteem of een speciaal programma dit bestandssysteem ondersteunen.

Informatie wordt voornamelijk op schijven opgeslagen en de bestandssystemen die erop worden gebruikt, bepalen de organisatie van gegevens op harde magnetische schijven.

De besturingssystemen van de MS Windows-familie gebruiken de volgende bestandssystemen: FAT, FAT 32, NTFS.

FAT-bestandssysteem

FAT is het eenvoudigste bestandssysteem dat wordt ondersteund door Windows NT. De basis van het FAT-bestandssysteem is de bestandstoewijzingstabel, die zich helemaal aan het begin van het volume bevindt. Twee exemplaren van deze tabel worden op schijf bewaard in geval van beschadiging. Bovendien moeten de bestandstoewijzingstabel en de hoofdmap op een specifieke locatie op schijf worden opgeslagen (om de locatie van de opstartbestanden correct te bepalen). Een schijf die is geformatteerd met het FAT-bestandssysteem is verdeeld in clusters, waarvan de grootte afhangt van de grootte van het volume. Gelijktijdig met het aanmaken van het bestand wordt een vermelding in de directory aangemaakt en wordt het nummer van het eerste cluster met de gegevens ingesteld. Dit item in de bestandstoewijzingstabel geeft aan dat dit de laatste cluster in het bestand is, of verwijst naar de volgende cluster.

Het bijwerken van de bestandstoewijzingstabel is belangrijk en tijdrovend. Als u de bestandstoewijzingstabel niet regelmatig bijwerkt, kan dit leiden tot gegevensverlies. De duur van de operatie wordt verklaard door de noodzaak om de leeskoppen naar het logische nulspoor van de schijf te verplaatsen telkens wanneer de FAT-tabel wordt bijgewerkt. De FAT-directory heeft geen specifieke structuur en bestanden worden geschreven naar de eerste vrije schijfruimte die wordt gevonden. Bovendien ondersteunt het FAT-bestandssysteem slechts vier bestandskenmerken: Systeem, Verborgen, Alleen-lezen en Archief.

Op een Windows NT-computer kan het verwijderen niet ongedaan worden gemaakt op een van de ondersteunde bestandssystemen. Uninstall Undo probeert rechtstreeks toegang te krijgen tot hardware, wat niet mogelijk is met Windows NT. Als het bestand zich echter op een FAT-partitie bevond en de computer in MS-DOS-modus opstart, kunt u het verwijderen van het bestand ongedaan maken. Het FAT-bestandssysteem is het meest geschikt voor gebruik op schijven en partities tot 200 MB omdat het opstart met minimale overhead.

Over het algemeen moet u het FAT-bestandssysteem niet gebruiken voor schijven en partities die groter zijn dan 200 MB. Dit komt omdat naarmate de omvang van het volume toeneemt, de prestaties van het FAT-bestandssysteem snel afnemen. U kunt geen machtigingen instellen voor bestanden die zich op FAT-partities bevinden. FAT-partities zijn beperkt in grootte: 4 GB voor Windows NT en 2 GB voor MS-DOS.

Bestandssystemen begrijpen

Windows 2000 ondersteunt de volgende bestandssystemen: FAT, FAT32 en NTFS. Deze sectie geeft een kort overzicht van deze bestandssystemen. De volgende factoren zijn van invloed op de keuze van het bestandssysteem:

Het doel waarvoor de computer bedoeld is.

Hardwareplatform.

Het aantal harde schijven en hun capaciteit.

Veiligheidseisen.

Toepassingen die in het systeem worden gebruikt

Windows 2000 ondersteunt gedistribueerd bestandssysteem(Distributed File System, DFS) en encryptie bestandssysteem(Encrypting File System, EFS). Hoewel DFS en EPS "bestandssystemen" worden genoemd, zijn ze dat niet, in de strikte zin van het woord. DFS is bijvoorbeeld een uitbreiding van een netwerkservice waarmee u netwerkbronnen in partities met verschillende bestandssystemen kunt combineren tot één logisch volume. Wat betreft EPS, het is een add-on op NTFS die NTFS aanvult met mogelijkheden voor gegevenscodering.

FAT- en FAT32-bestandssystemen

FAT (meestal FAT 16 in een hoofdstuk) is een eenvoudig bestandssysteem dat is ontworpen voor kleine schijven en eenvoudige directorystructuren. De naam komt van de naam van de methode die wordt gebruikt om bestanden te ordenen - de File Allocation Table (FAT). Deze tabel bevindt zich aan het begin van het volume. Om het volume te beschermen, worden er twee exemplaren van de FAT op opgeslagen. In geval van schade aan het eerste exemplaar van FAT

schijfhulpprogramma's (zoals Scandisk) kunnen de tweede kopie gebruiken om het volume te herstellen. De bestandstoewijzingstabel en de hoofdmap moeten zich op strikt vaste adressen bevinden, zodat de bestanden die nodig zijn om het systeem te starten, correct worden gelokaliseerd.

Volgens het constructieprincipe is de FAT vergelijkbaar met de inhoudsopgave van een boek, aangezien het besturingssysteem het gebruikt om een ​​bestand te vinden en de clusters te bepalen die dit bestand op de harde schijf inneemt. Microsoft ontwikkelde oorspronkelijk FAT voor het beheren van bestanden op diskettes, en nam het toen pas over als de standaard voor MS-DOS-schijfbeheer. Aanvankelijk gebruikten diskettes en kleine harde schijven (minder dan 16 MB) de 12-bits versie van FAT (FAT12 genaamd). In MS-DOS v. 3.0 een 16-bits versie van PAT werd geïntroduceerd voor grotere schijven. FAT 12 wordt momenteel gebruikt op zeer kleine media (of zeer oude schijven). Alle 1,44 MB 3,5-inch diskettes zijn bijvoorbeeld geformatteerd voor FAT16 en alle 5,25-inch diskettes zijn geformatteerd voor FAT12.

Een volume dat is geformatteerd voor FAT12 en FAT16 wordt gepartitioneerd door: clusters. De standaard clustergrootte wordt bepaald door de volumegrootte (meer informatie over clustergroottes vindt u verderop in dit hoofdstuk). De bestandslocatietabel en de bijbehorende back-up bevatten de volgende informatie over elk cluster in het volume:

Ongebruikt (cluster wordt niet gebruikt).

Cluster in gebruik door een bestand.

Slecht cluster

Laatste cluster in een bestand.

De hoofdmap bevat vermeldingen voor elk bestand en elke map die zich in de hoofdmap bevindt. Het enige verschil tussen de hoofdmap en de rest is dat deze een goed gedefinieerde ruimte op de schijf in beslag neemt en een vaste grootte heeft (niet meer dan 512 vermeldingen voor een harde schijf; voor diskettes wordt deze grootte bepaald door hun grootte ).

Naam (in 8.3-formaat).

Attribuutbyte (8 bits nuttige informatie, die hieronder wordt beschreven).

Aanmaaktijd (24 bits).

Aanmaakdatum (16 bits).

Laatste toegangsdatum (16 bits).

Tijdstip van laatste wijziging (16 bits).

Datum van laatste wijziging (16 bits).

Het startclusternummer van het bestand in de bestandslocatietabel (16 bits).

Bestandsgrootte (32 bits).

De FAT-mapstructuur is niet goed georganiseerd en de bestanden krijgen de eerste beschikbare clusteradressen op het volume toegewezen. Het startclusternummer van het bestand is het adres van het eerste cluster dat door het bestand in de bestandslocatietabel wordt ingenomen. Elk cluster bevat een verwijzing naar het volgende cluster dat door het bestand wordt gebruikt, of een indicator (OxFFFF) die aangeeft dat dit cluster het laatste cluster in het bestand is.

De mapinformatie wordt gebruikt door besturingssystemen die het FAT-bestandssysteem ondersteunen. Bovendien kan Windows 2000 mappen opslaan in de items aanvullende tijdelijke informatie(tijdstempels). Deze aanvullende tijdelijke kenmerken geven aan wanneer het bestand is gemaakt en wanneer het voor het laatst is geopend. Er worden voornamelijk extra attributen gebruikt door POSIX-applicaties.

Bestanden op schijven hebben 4 kenmerken die door de gebruiker kunnen worden gereset en ingesteld: Archief, Systeem, Verborgen en Alleen-lezen.

In Windows NT 3.5 en later gebruiken bestanden die zijn gemaakt of hernoemd op FAT-volumes attribuutbits om lange bestandsnamen te ondersteunen op een manier die niet in strijd is met de volumetoegangsmethoden die worden gebruikt door MS-DOS en OS / 2. Voor een bestand met een lange naam genereert Windows NT / 2000 een korte naam in 8.3-indeling. Naast dit standaardelement maakt Windows NT / 2000 een of meer extra vermeldingen voor het bestand, één voor elke 13 tekens van de lange naam. Elk van deze extra vermeldingen bevat het overeenkomstige deel van de lange bestandsnaam in Unicode-indeling. Windows NT / 2000 stelt volumekenmerken in voor extra vermeldingen en een alleen-lezen verborgen systeembestand zodat:

markeer ze als onderdeel van een lange bestandsnaam, MS-DOS en OS / 2 negeren meestal directory-items waarvoor al deze kenmerken zijn ingesteld, zodat ze voor hen onzichtbaar zijn. In plaats daarvan hebben MS-DOS en OS/2 toegang tot het bestand met de standaard 8.3 korte bestandsnaam.

Windows NT 3.5 en later ondersteunt lange bestandsnamen op FAT-volumes. Deze standaardoptie kan worden uitgeschakeld door de registerwaarde Win31FileSystem in te stellen op 1 in de volgende registersleutel:

HKEY_LOCAL_MACH IN E \ System \ CiirrentControlSet \ Control \ FileSystem

Als u deze waarde instelt, wordt voorkomen dat Windows NT lange bestandsnamen maakt op FAT-volumes, maar heeft dit geen invloed op lange bestandsnamen die al zijn gemaakt.

In Windows NT/2000 werkt FAT16 precies hetzelfde als in MS-DOS, Windows 3.1x en Windows 95/98. Ondersteuning voor dit bestandssysteem is opgenomen in Windows 2000 omdat het compatibel is met de meeste besturingssystemen van andere softwareleveranciers. Bovendien biedt het gebruik van FAT16 de mogelijkheid om eerdere versies van Windows-besturingssystemen te upgraden naar Windows 2000.

Het 32-bits FAT32-bestandssysteem werd geïntroduceerd met de release van Windows 95 OSR2 en wordt ondersteund in Windows 98 en Windows 2000. Het biedt optimale toegang tot harde schijven, cd-roms en netwerkbronnen, waardoor de snelheid en prestaties van alle I / O operaties. FAT32 is een verbeterde versie van FAT die is ontworpen voor gebruik op volumes groter dan 2 GB.

Een volume dat is geformatteerd om FAT32 te gebruiken, zoals een FAT16-volume, wordt opgedeeld in clusters. De standaardclustergrootte wordt bepaald door de grootte van het volume. Tafel 7.1 vergelijkt de clustergroottes voor FAT16 en FAT32, afhankelijk van de grootte van de schijf.

Om maximale compatibiliteit met bestaande applicaties, netwerken en apparaatstuurprogramma's te garanderen, is FAT32 geïmplementeerd met een minimum aan mogelijke wijzigingen in de architectuur en interne datastructuren. Alle schijfhulpprogramma's van Microsoft (Format, FDISK, Defrag en ScanDisk) zijn opnieuw ontworpen om FAT32 te ondersteunen. Bovendien levert Microsoft uitstekend werk door toonaangevende fabrikanten van apparaatstuurprogramma's en schijfhulpprogramma's te ondersteunen bij het bieden van FAT32-ondersteuning in hun producten. Tafel 7.2 er wordt getracht de kenmerken van FAT16 en FAT32 te vergelijken.

Bestandssysteem NTFS

Het Windows NT-bestandssysteem (NTFS) biedt een combinatie van prestaties, betrouwbaarheid en efficiëntie die met geen van de FAT-implementaties (zowel FAT16 als FAT32) kan worden bereikt. De belangrijkste doelen van de ontwikkeling van NTFS waren het leveren van snelle prestaties van standaardbewerkingen op bestanden (inclusief lezen, schrijven, zoeken) en het bieden van extra mogelijkheden, waaronder het repareren van een beschadigd bestandssysteem op extreem grote schijven.

NTFS heeft beveiligingsfuncties die gegevenstoegangscontrole en eigenaarsrechten ondersteunen die essentieel zijn voor het waarborgen van de integriteit van gevoelige, gevoelige gegevens. Aan NTFS-mappen en -bestanden kunnen toegangsrechten worden toegewezen, of ze nu openbaar zijn of niet. NTFS is het enige bestandssysteem in Windows NT / 2000 waarmee u toegangsrechten aan afzonderlijke bestanden kunt toewijzen. Als een bestand echter wordt gekopieerd van een NTFS-partitie of -volume naar een FAT-partitie of -volume, gaan alle NTFS-machtigingen en andere unieke kenmerken verloren.

Het NTFS-bestandssysteem gebruikt, net als FAT, clusters als de fundamentele eenheid van schijfruimte. Op NTFS, de standaard clustergrootte (indien niet gespecificeerd door de format-opdracht of de module) Schijfbeheer) hangt af van de grootte van het volume. Als u het opdrachtregelprogramma FORMAT gebruikt om een ​​NTFS-volume te formatteren, kunt u de gewenste clustergrootte opgeven als parameter voor deze opdracht. De standaard clustergroottes worden weergegeven in de tabel. 7.3.

Het formatteren van een volume voor NTFS creëert meerdere systeembestanden en hoofdbestandstabel(Hoofdbestandstabel, MFT). De MFT bevat informatie over alle bestanden en mappen op het NTFS-volume. NTFS is een objectgeoriënteerd bestandssysteem dat alle bestanden behandelt als objecten met attributen. Bijna alle objecten die op een volume bestaan, zijn bestanden en alles in een bestand is attributen - inclusief gegevensattributen, beveiligingsattributen, bestandsnaamattributen. Elke bezette sector op een NTFS-volume hoort bij een bestand. Zelfs de metadata van het bestandssysteem (informatie die een beschrijving is van het bestandssysteem zelf) maakt deel uit van het bestand.

Windows 2000 introduceerde een nieuwe versie van NTFS - NTFS 5.0. Nieuwe gegevensstructuren die met deze implementatie zijn geïntroduceerd, maken nieuwe functies van Windows 2000 mogelijk, zoals quota voor schijfgebruik per gebruiker, bestandscodering, het volgen van links, overgangspunten(knooppunten), ingebouwde eigenschappensets(oorspronkelijk

eigenschappensets). Bovendien kunt u extra schijfruimte toevoegen aan NTFS 5.0-volumes zonder opnieuw op te starten. Nieuwe functies van NTFS 5.0 worden weergegeven in de tabel. 7.4.

NTFS is de beste keuze voor het verwerken van grote volumes. Houd er rekening mee dat als er hogere eisen aan het systeem worden gesteld (waaronder beveiliging en het gebruik van een effectief compressie-algoritme), sommige daarvan alleen met NTFS kunnen worden geïmplementeerd. Daarom moet u in sommige gevallen NTFS zelfs op kleine volumes gebruiken.

Beperkingen van het bestandssysteem en compatibiliteitsproblemen

De onderstaande tabellen (tabellen 7.5 en 7.6) geven een overzicht van de compatibiliteit van NTFS- en FAT-bestandssystemen, evenals de beperkingen die aan elk van deze bestandssystemen worden opgelegd.

tafel

Verschillende besturingssystemen ondersteunen verschillende bestandssystemen. Uw verwisselbare schijf zou FAT32 moeten gebruiken voor een betere compatibiliteit, maar als u van plan bent grote bestanden op te slaan, formatteer dan met NTFS. Mac formatteert schijven naar de HFS + -standaard, die niet werkt met Windows. Linux heeft ook zijn eigen bestandssystemen.

Waarom zijn er zoveel?

Bestandssysteem 101

Verschillende bestandssystemen zijn gewoon verschillende manieren om bestanden te organiseren en op te slaan op uw harde schijf, flashstation of een ander opslagapparaat. Elk opslagapparaat heeft een of meer secties en elke sectie moet worden "geformatteerd" naar een specifieke bestandssysteemmodus. Het formatteringsproces creëert een leeg bestandssysteem van dit type op het apparaat.

Bestandssysteem biedt een manier om gegevens op een schijf te verdelen in afzonderlijke brokken, die bestanden zijn. Het biedt ook een manier om informatie over deze bestanden op te slaan, bijvoorbeeld hun namen, machtigingen en andere kenmerken. Bestandssysteem biedt ook een indexlijst van de bestanden op de schijf en waar ze zich op de schijf bevinden, zodat het besturingssysteem op één plek kan zien wat er op de schijf staat en het niet de hele schijf hoeft te doorlopen om de het dossier.

Het besturingssysteem moet het bestandssysteem begrijpen, zodat het de inhoud ervan kan weergeven, bestanden kan openen en er bestanden op kan opslaan. Als uw besturingssysteem het bestandssysteem niet begrijpt, kunt u een bestandssysteemstuurprogramma installeren dat ondersteuning biedt voor dat bestandssysteem.

Het bestandssysteem van een computerschijf kan worden vergeleken met een documentarchiefsysteem - de stukjes gegevens op een computer worden "bestanden" genoemd en ze zijn georganiseerd in een "bestandssysteem", zoals papieren bestanden kunnen worden georganiseerd in archiefkasten. Er zijn verschillende manieren om deze bestanden te organiseren en gegevens op te slaan - dit zijn "bestandssystemen".

Waarom zijn er zoveel bestandssystemen

Niet alle bestandssystemen zijn gelijk gemaakt. Verschillende bestandssystemen hebben verschillende manieren om hun gegevens te organiseren. Sommige bestandssystemen zijn sneller dan andere, sommige hebben extra beveiligingsfuncties en sommige ondersteunen schijven met grotere hoeveelheden geheugen, terwijl andere alleen werken op schijven met minder geheugen. Sommige bestandssystemen zijn betrouwbaarder en bestand tegen bestandscorruptie, terwijl andere de betrouwbaarheid verminderen omwille van de snelheid.

Bestaat niet beter bestandssysteem dat zou geschikt zijn voor alle doeleinden. Elk computerbesturingssysteem heeft de neiging om zijn eigen bestandssysteem te gebruiken, waar de ontwerpers van het besturingssysteem ook aan werken. Microsoft, Apple en de Linux-kernelontwikkelaars werken aan hun bestandssystemen. Nieuwe bestandssystemen kunnen sneller en stabieler zijn, beter schalen voor grotere opslagapparaten en meer mogelijkheden hebben dan oudere.

Het bestandssysteem ziet er niet uit als een partitie dat is gewoon een stukje opbergruimte. Het bestandssysteem bepaalt hoe bestanden worden ontleed, georganiseerd, geïndexeerd en hoe metagegevens eraan worden gekoppeld. Er is altijd een mogelijkheid om de manier waarop dit wordt gedaan aan te passen en te verbeteren.

Van bestandssysteem wisselen

Elke sectie heeft een bestandssysteem. Soms kunt u het bestandssysteem van een partitie "converteren", maar dit is zelden mogelijk. In plaats daarvan zult u waarschijnlijk eerst belangrijke gegevens van de partitie moeten kopiëren.

Besturingssystemen formatteren tijdens de installatie automatisch partities naar het juiste bestandssysteem. Als je een Windows-geformatteerde partitie hebt waarop je Linux wilt installeren, zal Linux tijdens het installatieproces de NTFS- of FAT32-partitie formatteren naar het Linux-bestandssysteem dat de voorkeur heeft van je Linux-distributie.

Dus als je een opslagapparaat hebt en een ander bestandssysteem wilt gebruiken, kopieer dan de bestanden ervan om een ​​back-up te maken. Gebruik dan de tool Schijfbeheer op ramen gparted op Linux of schijfhulpprogramma op Mac OS.

Een overzicht van veelvoorkomende bestandssystemen

Hier is een kort overzicht van enkele van de meest voorkomende bestandssystemen die u tegenkomt. Het is niet uitputtend - er zijn veel andere bestandssystemen voor speciale doeleinden:

  • FAT32: is een van de oudste Windows-bestandssystemen, maar wordt nog steeds gebruikt op verwisselbare media - klein van formaat. Grote externe harde schijven van 1 TB of meer worden sowieso geformatteerd met NTFS. FAT32 heeft alleen zin om te gebruiken met kleine opslagapparaten of voor compatibiliteit met andere apparaten zoals digitale camera's, gameconsoles, consoles en andere apparaten die alleen FAT32 maar NTFS ondersteunen.
  • NTFS: moderne versie van het Windows-bestandssysteem - gebruikt sinds Windows XP. Externe schijven kunnen worden geformatteerd met FAT32 of NTFS.
  • HFS + Mac gebruikt HFS+ voor zijn interne partities, het formatteert externe schijven - voor het gebruik van een externe harde schijf met Time Machine moeten bestandssysteemkenmerken aan de back-up worden toegevoegd. Macs kunnen ook bestanden lezen en schrijven naar FAT32-bestandssystemen, maar u hebt software van derden nodig om vanaf de Mac naar NTFS-bestandssystemen te schrijven.
  • Ext2 / Ext3/Ext4: Je zult vaak ext2, ext3 en ext4 bestandssystemen zien op Linux. Ext2 is een ouder bestandssysteem en mist belangrijke functies zoals journaling - als de stroom uitvalt of de computer crasht tijdens het schrijven naar de ext2-drive, kunnen gegevens verloren gaan. Ext3 voegt deze robuustheidskenmerken toe ten koste van enige snelheid. Ext4 is een modernere en snellere optie en is het standaard bestandssysteem op de meeste Linux-distributies. Windows en Mac ondersteunen deze bestandssystemen niet - u hebt een hulpprogramma van derden nodig om toegang te krijgen tot bestanden op dergelijke bestandssystemen. Linux kan echter zowel FAT32 als NTFS lezen en schrijven.
  • Btrfs: Dit is een nieuw Linux-bestandssysteem dat nog in ontwikkeling is. Het is momenteel niet standaard op de meeste Linux-distributies, maar zal waarschijnlijk op een dag Ext4 vervangen. Het doel is om extra functionaliteit te bieden waarmee Linux kan schalen naar grote opslagvolumes.
  • Ruil: In Linux is het "swap" bestandssysteem niet echt een bestandssysteem. Een partitie die is geformatteerd als "swap" kan worden gebruikt als pagingruimte van het besturingssysteem — net als het Windows-wisselbestand, maar vereist een speciale partitie.

Er zijn andere bestandssystemen, vooral op Linux en andere Unix-achtige systemen.

De typische computergebruiker hoeft niet veel van dit materiaal te weten - maar als u de basis kent, kunt u vragen begrijpen zoals "waarom werkt deze Mac-drive niet met mijn Windows-pc?" en "moet ik deze USB-harde schijf formatteren als FAT32 of NTFS?"