Classificatie, structuur, kenmerken van bestandssystemen !!! Bestandssysteemstructuur

De structuur van het bestandssysteem is afhankelijk van het besturingssysteem. Een van de eerste computers gebruikte het FAT-bestandssysteem (File Allocation Table), dat werd gebruikt in het MS DOS-besturingssysteem.

FAT is ontworpen om te werken met diskettes die kleiner zijn dan 1 MB͵ en bood aanvankelijk geen ondersteuning voor harde schijven. Vervolgens begon FAT bestanden en partities tot 2 GB te ondersteunen.

FAT gebruikt de volgende conventies voor bestandsnaamgeving: de naam moet beginnen met een letter of cijfer en mag elk ASCII-teken bevatten, behalve spaties en "/ \:; | =, ^ *? De naam mag maximaal 8 tekens lang zijn, gevolgd door een punt en een optionele extensie van maximaal 3 tekens lang. bestandsnamen zijn niet hoofdlettergevoelig of behouden.

Het FAT-bestandssysteem kan niet elke sector afzonderlijk besturen; daarom combineert het aangrenzende sectoren tot clusters. Helaas is het totale aantal opslageenheden dat het bestandssysteem moet bewaken, verminderd. FAT-clustergrootte is een macht van twee en wordt bepaald door de grootte van het volume wanneer de schijf wordt geformatteerd. Het cluster vertegenwoordigt de minimale ruimte die een bestand kan innemen. Hierdoor wordt een deel van de schijfruimte verspild.

Besturingssystemen gebruiken de termen directory en map als objecten voor het opslaan en openen van bestanden.

Access is een procedure om verbinding te maken met het geheugen en een daarin opgeslagen bestand voor het schrijven en lezen van gegevens.

Bij het openen van een bestand is het uiterst belangrijk om de exacte locatie van de locatie op te geven. In dit geval, als het bestand wordt geopend vanaf de opdrachtregel, ziet het record er als volgt uit:

c: \ Papka1 \ papka2 \ uchebnik.doc

Zo'n record wordt meestal een route of pad genoemd.

De naam van de logische schijf die voorafgaat aan de bestandsnaam in de specificatie, geeft de logische schijf aan waarop het bestand moet worden gezocht. Op dezelfde schijf is een map georganiseerd waarin de volledige namen van de bestanden zijn opgeslagen, evenals hun kenmerken: datum en tijd van aanmaak; grootte (in bytes); speciale attributen. Naar analogie met het bibliotheeksysteem voor het organiseren van mappen, zal de volledige bestandsnaam die in de map is geregistreerd, dienen als een cijfer waarmee het besturingssysteem de locatie van het bestand op schijf vindt.

Directory-directory van bestanden die de locatie op de schijf aangeven.

In het WINDOWS-besturingssysteem komt het concept van een map overeen met het concept van een map.

Er zijn twee toestanden van de directory - huidig ​​(actief) en passief.

Huidige (actieve) directory - de directory waarin de gebruiker momenteel werkt.

Passieve directory - een directory waarmee momenteel geen verbinding is .

Het besturingssysteem hanteert een hiërarchische directorystructuur: elke schijf heeft altijd een enkele hoofddirectory (root). Het bevindt zich op het nulniveau van de hiërarchische structuur en wordt aangeduid met de "\" - backslash. De hoofdmap die wordt aangemaakt bij het formatteren (initialiseren, partitioneren) van de schijf, heeft een beperkte grootte. De hoofddirectory kan andere directory's en bestanden bevatten die zijn gemaakt door commando's van het besturingssysteem en verwijderd door de corresponderende commando's.

Bovenliggende map - map met submappen .

Subdirectory - een directory die deel uitmaakt van een andere directory .

Bovendien kan elke directory die directory's van het lagere niveau bevat, enerzijds ten opzichte van de bovenliggende directory en aan de andere kant ondergeschikt zijn aan de directory van het hoogste niveau.

De mappenstructuur kan mappen bevatten die geen bestanden of submappen bevatten. Van dergelijke submappen wordt gezegd dat ze leeg zijn. .

De regels voor het benoemen van submappen zijn dezelfde als voor het benoemen van bestanden. Om ze formeel van bestanden te onderscheiden, krijgen submappen meestal alleen namen, hoewel een type kan worden toegevoegd met dezelfde regels als voor bestanden.

Het FAT-bestandssysteem vult de vrije schijfruimte altijd opeenvolgend van begin tot eind. Bij het maken van een nieuw bestand of het wijzigen van een bestaand bestand, zoekt het naar het allereerste vrije cluster in de bestandstoewijzingstabel. Als tijdens het gebruik sommige bestanden zijn verwijderd, terwijl andere in grootte zijn veranderd, zullen de resulterende lege clusters over de schijf worden verspreid. Als de clusters met de bestandsgegevens niet op een rij staan, is het bestand gefragmenteerd. Zwaar gefragmenteerde bestanden verminderen de werkefficiëntie aanzienlijk. Besturingssystemen die FAT ondersteunen, bevatten meestal speciale hulpprogramma's voor schijfdefragmentatie om de prestaties van bestandsbewerkingen te verbeteren.

Het FAT-bestandssysteem heeft een aanzienlijke beperking in het ondersteunen van grote hoeveelheden schijfruimte, de limiet is 2 GB.

Nieuwe generaties harde schijven met grote hoeveelheden schijfruimte vragen om een ​​verbeterd bestandssysteem.

Het Windows-besturingssysteem bevat het FAT32-bestandssysteem, dat harde schijven tot twee terabyte ondersteunt. FAT32 heeft uitgebreide bestandskenmerken om nu de tijd en datum van aanmaak, wijziging en laatste toegang tot een bestand of map op te slaan. Het systeem staat lange bestandsnamen en spaties in de namen toe. Het FAT32-bestandssysteem wordt ondersteund op Windows XP en Windows Vista.

Het is de moeite waard om te zeggen dat er een ander bestandssysteem is ontwikkeld voor de genoemde besturingssystemen: NTFS (New Technology File System)

NTFS heeft de mogelijkheid om de toegang tot individuele bestanden en mappen te controleren aanzienlijk uitgebreid, een groot aantal attributen geïntroduceerd, fouttolerantie geïmplementeerd en dynamische bestandscompressie. NTFS staat bestandsnamen tot 255 tekens toe

NTFS heeft de mogelijkheid om zichzelf te herstellen in het geval van een OS- of hardwarestoring, zodat het schijfvolume toegankelijk blijft en de directorystructuur intact blijft.

Elk bestand op een NTFS-volume wordt vertegenwoordigd door een vermelding in een speciaal bestand - de Master File Table (MFT). NTFS reserveert de eerste 16 records van de tabel, ongeveer 1 MB groot, voor speciale informatie. Records bieden een back-up van de hoofdbestandstabel, bestandsherstel, controleren de status van clusters, definiëren bestandskenmerken.

Om fragmentatie te verminderen, probeert NTFS bestanden altijd in aaneengesloten blokken op te slaan. Het biedt efficiënt zoeken naar bestanden in een map.

NTFS is ontworpen als een herstelbaar bestandssysteem met behulp van een transactieverwerkingsmodel. Elke I/O-bewerking die een bestand op een NTFS-volume wijzigt, wordt door het systeem als een transactie behandeld en kan als een ondeelbaar blok worden uitgevoerd. Wanneer de gebruiker het bestand wijzigt, registreert de registratiebestandsservice alle informatie die nodig is om een ​​transactie te herhalen of terug te draaien.

Een interessant kenmerk van het bestandssysteem is de dynamische versleuteling van bestanden en mappen, wat de betrouwbaarheid van de informatieopslag vergroot.

Vragen voor zelfonderzoek.

1.Wat is een bestandssysteem?

2. Wat is een "bestand"?

3. De belangrijkste componenten van de bestandsstructuur.

4. Wat is een cluster?

5. Noem de belangrijkste parameters die het bestand kenmerken.

6. Hoe wordt de bestandsnaam gevormd?

7. Regels voor het benoemen van bestanden in het FAT-systeem.

8. Waarom is het essentieel om een ​​schijf te defragmenteren?

9. Wat is een map?

10. Leg de begrippen "route", "pad" uit.

11.Waarvoor wordt de extensie gebruikt in bestandsnamen?

12. Het belangrijkste doel van het bestandssysteem.

13. Welke bestandssystemen worden ondersteund door Windows XP, Windows Vista?

1. Een logisch gerelateerde verzameling gegevens of programma's, waarvoor een benoemd gebied is toegewezen in het externe geheugen, is

TROS

2. De minimale eenheid schijfruimte, ĸᴏᴛᴏᴩᴏᴇkan aan een bestand worden toegewezen

3. De volledige bestandsnaam bevat

Naam juiste

Verlenging

4. Bestanden met extensies .ZIP, ARJ, zie:

systemisch

Grafisch

Archief

Tijdelijk

5. Het FAT-bestandssysteem ondersteunt schijfruimte in de hoeveelheid

6. Bestandsnaampatroon dat één teken vervangt

7. Een sjabloon voor bestandsnamen dat dient om elke reeks tekens te vervangen

8. Directory met bestanden die hun locatie op de schijf aangeven

Catalogus

Bestandstoewijzingstabel

TROS

Bestuurder

9 Procedure voor het tot stand brengen van communicatie met een opgeslagen bestand

defragmentatie

Lezing

10. Bestanden met extensies .COM, EXE verwijzen naar

systemisch

Grafisch

Uitvoerbaar

Tijdelijk

SECTIE 3. Software voor de implementatie van informatieprocessen

Onderwerp 3.1. Softwareclassificatie


  • - Implementatie van het bestandssysteem. Algemene bestandssysteemstructuur

    Bestandssystemen worden op schijven opgeslagen. De meeste schijven zijn verdeeld in een aantal partities met een onafhankelijk bestandssysteem op elke partitie. Sector "0" van de schijf wordt de Master Boot Record (MBR) genoemd en wordt gebruikt om de computer op te starten. Aan het einde van de hoofdboot ... [lees meer]


  • -

    [Lees verder]


  • - Bestandssysteemstructuur op schijf

    Overweging van methoden om met schijfruimte te werken, geeft een algemeen idee van de set servicegegevens die nodig zijn om het bestandssysteem te beschrijven. De structuur van de servicegegevens van een typisch bestandssysteem, bijvoorbeeld Unix, op een van de schijfpartities kan dus ...

    [Lees verder]


  • - Bestandssysteemstructuur

    Bestandssystemen implementeren In deze sectie beginnen we te kijken naar de principes en methoden voor het implementeren van bestandssystemen, die worden vervolgd in "Virtuele bestandssystemen (VFS). Implementaties van bestandssystemen. Netwerkbestandssysteem NFS". In deze en de volgende...

  • Balashov Instituut (filiaal) van de Saratov State University. NV Tsjernysjevski

    Cursuswerk werd voltooid door student van 142 groep A.P. Efanov.

    Balasjov 2010

    Invoering

    Momenteel staan ​​er gemiddeld enkele tienduizenden bestanden op één schijf. Hoe al die diversiteit ordenen om het dossier nauwkeurig te adresseren? Het doel van het bestandssysteem is een effectieve oplossing voor dit probleem.

    De ontwikkeling van bestandssystemen van personal computers werd bepaald door twee factoren: de opkomst van nieuwe standaarden voor opslagmedia en de toename van eisen aan de kenmerken van het bestandssysteem door applicatieprogramma's (differentiatie van toegangsniveaus, ondersteuning voor lange bestandssystemen namen in UNICODE-indeling). Aanvankelijk was het voor bestandssystemen van het grootste belang om de snelheid van toegang tot gegevens te verhogen en de hoeveelheid opgeslagen service-informatie te minimaliseren. Vervolgens kwam met de komst van snellere harde schijven en een toename van hun volumes de behoefte aan betrouwbaarheid van informatieopslag naar voren, wat leidde tot de behoefte aan redundante gegevensopslag.

    De evolutie van het bestandssysteem is direct gerelateerd aan de ontwikkeling van relationele databasetechnologieën. Het bestandssysteem maakte gebruik van de nieuwste ontwikkelingen die zijn ontwikkeld voor gebruik in het DBMS: transactiemechanismen, gegevensbescherming, een zelfherstellend systeem als gevolg van een storing.

    De ontwikkeling van bestandssystemen heeft geleid tot een verandering in het concept van een "bestand" van de oorspronkelijke interpretatie als een geordende reeks logische records naar het concept van een bestand als een object met een reeks kenmerken die het karakteriseren (inclusief bestandsnaam , alias, aanmaaktijd en actuele gegevens), geïmplementeerd in NTFS ...

    In zijn 20-jarige geschiedenis is het bestandssysteem veranderd van een eenvoudig systeem dat de bestandsbeheerfuncties overneemt naar een systeem dat een volwaardig DBMS is met een ingebouwd mechanisme voor het loggen en herstellen van gegevens.

    In tegenstelling tot pogingen om een ​​standaard te introduceren voor een protocol dat regels beschrijft voor toegang tot externe bestandssystemen (CIFS, NFS), moet men niet verwachten dat een dergelijke standaard verschijnt die bestandssystemen voor harde schijven beschrijft. Dit kan worden verklaard door het feit dat het bestandssysteem van harde schijven nog steeds een van de belangrijkste onderdelen van het besturingssysteem is dat de prestaties beïnvloedt. Daarom zal elke fabrikant van besturingssystemen ernaar streven om het oorspronkelijke bestandssysteem voor hun besturingssysteem te gebruiken.

    Verdere evolutie van bestandssystemen zal het pad volgen van het verbeteren van mechanismen voor gegevensopslag, het optimaliseren van de opslag van multimediagegevens, met behulp van nieuwe technologieën die in databases worden gebruikt (de mogelijkheid om in volledige tekst te zoeken, bestanden sorteren op verschillende attributen).

    Bestanden worden geïdentificeerd door namen. Gebruikers geven de bestanden symbolische namen, terwijl ze rekening houden met de OS-beperkingen voor zowel de gebruikte tekens als de lengte van de naam. Tot voor kort waren deze grenzen erg smal. Dus in het populaire FAT-bestandssysteem wordt de lengte van namen beperkt door het bekende 8.3-schema (8 tekens voor de naam zelf, 3 tekens voor de naamextensie), en in UNIX System V mag een naam niet meer dan 14 tekens. Het is echter veel handiger voor de gebruiker om met lange namen te werken, omdat u hiermee een bestand een echte geheugennaam kunt geven, waardoor het, zelfs na een voldoende lange tijdsperiode, mogelijk is om te onthouden wat het bestand is bevat. Daarom ondersteunen moderne bestandssystemen over het algemeen lange symbolische bestandsnamen. Zo specificeert Windows NT in het nieuwe NTFS-bestandssysteem dat een bestandsnaam maximaal 255 tekens mag bevatten, het afsluitende null-teken niet meegerekend.

    Als u overstapt op lange namen, ontstaat er een compatibiliteitsprobleem met eerder gemaakte toepassingen die korte namen gebruiken. Om applicaties toegang te geven tot bestanden in overeenstemming met eerdere conventies, moet het bestandssysteem in staat zijn om equivalente korte namen (aliassen) te bieden aan bestanden met lange namen. Een van de belangrijke taken is dus het probleem van het genereren van de bijbehorende korte namen.

    Lange namen worden niet alleen ondersteund door nieuwe bestandssystemen, maar ook door nieuwere versies van bekende bestandssystemen. Windows 95 gebruikt bijvoorbeeld het VFAT-bestandssysteem, een aanzienlijk gewijzigde versie van FAT. Naast vele andere verbeteringen is een van de belangrijkste voordelen van VFAT de ondersteuning voor lange namen. Naast het probleem van het genereren van equivalente korte namen, was bij de implementatie van de nieuwe versie van FAT een belangrijke taak het opslaan van lange namen, op voorwaarde dat in principe de opslagmethode en gegevensstructuur op de schijf niet zouden zijn veranderd.

    Gewoonlijk kunnen verschillende bestanden dezelfde symbolische naam hebben. In dit geval wordt het bestand uniek geïdentificeerd door de zogenaamde DN-naam, wat een reeks symbolische directorynamen is. Sommige systemen kunnen niet meerdere verschillende namen voor hetzelfde bestand krijgen, en andere niet. In het laatste geval kent het besturingssysteem een ​​extra unieke naam toe aan het bestand, zodat een één-op-één overeenkomst tussen het bestand en de unieke naam kan worden vastgesteld. De unieke naam is een numerieke identificatie en wordt gebruikt door besturingssysteemprogramma's. Een voorbeeld van zo'n unieke bestandsnaam is het UNIX-inodenummer.

    Bestand types. Er zijn verschillende soorten bestanden: gewone bestanden, speciale bestanden, directorybestanden.

    Reguliere bestanden zijn op hun beurt onderverdeeld in tekstbestanden en binaire bestanden. Tekstbestanden bestaan ​​uit tekenreeksen die worden weergegeven in ASCII-code. Dit kunnen documenten zijn, broncodes van programma's, etc. Tekstbestanden kunnen op het scherm worden gelezen en op een printer worden afgedrukt. Binaries gebruiken geen ASCII-codes; ze hebben vaak complexe interne structuren, zoals programma-objectcode of een archiefbestand. Alle besturingssystemen moeten ten minste één type bestand kunnen herkennen: hun eigen uitvoerbare bestanden.

    Speciale bestanden zijn bestanden die zijn gekoppeld aan I / O-apparaten waarmee een gebruiker I / O-bewerkingen kan uitvoeren met behulp van de gebruikelijke opdrachten voor schrijven naar bestand of lezen van bestanden. Deze opdrachten worden eerst verwerkt door de programma's van het bestandssysteem en vervolgens, op een bepaald moment in de uitvoering van het verzoek, wordt het besturingssysteem omgezet in opdrachten om het corresponderende apparaat te besturen. Speciale bestanden, zoals I/O-apparaten, zijn onderverdeeld in blokgericht en bytegericht.

    Een directory is aan de ene kant een groep bestanden die om de een of andere reden door de gebruiker is gecombineerd (bijvoorbeeld bestanden met spelprogramma's of bestanden die samen één softwarepakket vormen), en aan de andere kant is het een bestand dat systeembestanden bevat. informatie over een groep bestanden, de componenten ervan. De directory bevat een lijst van bestanden die erin zijn opgenomen en er wordt een overeenkomst tot stand gebracht tussen de bestanden en hun kenmerken (attributen).

    Verschillende bestandssystemen kunnen verschillende kenmerken als attributen gebruiken, bijvoorbeeld:

    informatie over toegestane toegang,

    wachtwoord om toegang te krijgen tot het bestand,

    bestandseigenaar,

    bestandsmaker,

    alleen-lezen vlag,

    teken "verborgen bestand",

    teken "systeembestand",

    teken "archiefbestand",

    attribuut "binair / teken",

    het teken "tijdelijk" (verwijderen na het einde van het proces),

    blokkerend teken,

    recordlengte,

    een aanwijzer naar een sleutelveld in de record,

    sleutel lengte,

    tijden van creatie, laatste toegang en laatste wijziging,

    de huidige bestandsgrootte,

    maximale bestandsgrootte.

    Directory's kunnen direct de waarden van bestandskenmerken bevatten, zoals wordt gedaan in het MS-DOS-bestandssysteem, of verwijzen naar tabellen die deze kenmerken bevatten, zoals wordt gedaan in UNIX (Figuur 1). Directory's kunnen een hiërarchische structuur vormen doordat een directory op een lager niveau kan worden opgenomen in een directory op een hoger niveau (Figuur 2).

    De directoryhiërarchie kan een boomstructuur of een netwerk zijn. Directory's vormen een boomstructuur als een bestand tot slechts één directory mag behoren, en een netwerk - als een bestand tot meerdere directory's tegelijk kan behoren. Op MS-DOS-mappen

    Tekening. 1 Directorystructuur: a - structuur van het MS-DOS-directoryrecord (32 bytes);

    b - structuur van de UNIX OS-directoryvermelding

    Figuur 2 Logische indeling van het bestandssysteem

    a - één niveau; b - hiërarchisch (boom); в - hiërarchisch (netwerk)

    vormen een boomstructuur, en in UNIX "e - een netwerk. Net als elk ander bestand heeft een map een symbolische naam en wordt uniek geïdentificeerd door een samengestelde naam die een reeks symbolische namen bevat van alle mappen waardoor het pad van de root naar de opgegeven directory gaat.

    De programmeur houdt zich bezig met de logische organisatie van een bestand door het bestand voor te stellen als logische records die op een bepaalde manier zijn georganiseerd. Een logische record is het kleinste gegevenselement dat een programmeur kan bedienen bij communicatie met een extern apparaat. Ook als fysieke uitwisseling met het apparaat in grote eenheden plaatsvindt, geeft het besturingssysteem de programmeur toegang tot een apart logisch record. Figuur 3 toont verschillende logische diagrammen voor bestandsorganisatie. Records kunnen een vaste lengte of variabele lengte hebben.

    Afbeelding 3 Manieren om bestanden logisch te ordenen

    Records kunnen sequentieel in een bestand (sequentiële organisatie) of in een complexere volgorde worden gerangschikt met behulp van zogenaamde indextabellen, die snelle toegang tot één enkel logisch record (index-sequentiële

    organisatie).

    Een speciaal veld in het record, een sleutel genaamd, kan worden gebruikt om een ​​record te identificeren. In UNIX- en MS-DOS-bestandssystemen heeft een bestand de eenvoudigste logische structuur: een reeks single-byte records.

    De fysieke organisatie van een bestand beschrijft de regels voor de locatie van een bestand op een extern opslagapparaat, in het bijzonder op een schijf. Het bestand bestaat uit fysieke records - blokken. Een blok is de kleinste gegevenseenheid die een extern apparaat met RAM uitwisselt. Doorlopende plaatsing is de eenvoudigste versie van fysieke organisatie (Figuur 2.34, a), waarbij een bestand wordt voorzien van een reeks schijfblokken die één doorlopend gedeelte van schijfgeheugen vormen. Om het bestandsadres te specificeren, is het in dit geval voldoende om alleen het nummer van het initiële blok op te geven. Een ander voordeel van deze methode is de eenvoud. Maar er zijn ook twee belangrijke nadelen. Ten eerste is tijdens het maken van een bestand de lengte niet van tevoren bekend, wat betekent dat niet bekend is hoeveel geheugen voor dit bestand moet worden gereserveerd, en ten tweede treedt bij deze opstelling onvermijdelijk fragmentatie op en wordt schijfruimte niet efficiënt gebruikt, kleine ruimtes (minimaal 1 blok) mogen niet worden gebruikt.

    De volgende manier van fysieke organisatie is plaatsing in de vorm van een gekoppelde lijst met blokken schijfgeheugen (Figuur 4, b). Bij deze methode staat aan het begin van elk blok een verwijzing naar het volgende blok. In dit geval kan het bestandsadres ook worden gespecificeerd door één nummer - het nummer van het eerste blok. In tegenstelling tot de vorige methode kan elk blok aan een bestand worden geketend, daarom is er geen fragmentatie. Het bestand kan tijdens zijn bestaan ​​veranderen, waardoor het aantal blokken toeneemt. Het nadeel is de complexiteit van de implementatie van toegang tot een willekeurig gespecificeerde locatie in het bestand: om het vijfde blok van het bestand in volgorde te lezen, is het noodzakelijk om de eerste vier blokken opeenvolgend te lezen, waarbij de reeks bloknummers wordt gevolgd. Bovendien is met deze methode de hoeveelheid bestandsgegevens in één blok niet gelijk aan een macht van twee (één woord wordt besteed aan het nummer van het volgende blok), en veel programma's lezen gegevens in blokken waarvan de grootte gelijk is aan een macht van twee.

    Figuur 4 Fysieke organisatie van het bestand

    a - doorlopende plaatsing; b - gekoppelde lijst met blokken;

    c - gekoppelde lijst van indices; d - lijst met bloknummers

    Een populaire techniek, die bijvoorbeeld wordt gebruikt in het MS-DOS FAT-bestandssysteem, is het gebruik van een gekoppelde lijst met indexen. Elk blok is gekoppeld aan een element - een index. Indexen bevinden zich in een apart gedeelte van de schijf (in MS-DOS is dit de FAT-tabel). Als een blok aan een bestand is toegewezen, bevat de index van dit blok het nummer van het volgende blok van dit bestand. Met een dergelijke fysieke organisatie blijven alle voordelen van de vorige methode behouden, maar beide genoemde nadelen zijn verwijderd: ten eerste, om toegang te krijgen tot een willekeurige plaats in het bestand, volstaat het om alleen het indexblok te lezen, het vereiste aantal bestanden te tellen blokken langs de keten en bepalen het nummer van het vereiste blok, en ten tweede nemen de bestandsgegevens het hele blok in beslag, wat betekent dat het een volume heeft dat gelijk is aan een macht van twee.

    Overweeg tot slot om de fysieke locatie van een bestand te definiëren door simpelweg de bloknummers op te sommen die het bestand in beslag neemt. UNIX OS gebruikt een variatie op deze methode om een ​​vaste adreslengte te bieden, ongeacht de bestandsgrootte. Er zijn 13 velden toegewezen om het bestandsadres op te slaan. Als de bestandsgrootte kleiner is dan of gelijk is aan 10 blokken, dan worden de nummers van deze blokken direct vermeld in de eerste tien velden van het adres. Als de bestandsgrootte meer dan 10 blokken is, bevat het volgende 11e veld het blokadres, waarin nog 128 nummers van de volgende bestandsblokken kunnen worden geplaatst. Als het bestand meer dan 10 + 128 blokken is, wordt het 12e veld gebruikt, dat het bloknummer bevat met 128 bloknummers, die 128 bloknummers van dit bestand bevatten. En tot slot, als het bestand groter is dan 10 + 128 + 128 (128, dan wordt het laatste 13e veld gebruikt voor drievoudige indirecte adressering, waarmee u het adres van een bestand kunt specificeren met een maximale grootte van 10+ 128 + 128 ( 128 + 128 (128 (128.

    2.Algemene bestandssysteemconcepten

    De werking van elk bestandssysteem kan worden weergegeven door een model met meerdere niveaus (Figuur 5), waarin elk niveau een bepaalde interface (set van functies) biedt aan het hogere niveau, en zelf op zijn beurt de interface gebruikt (verwerkt een reeks verzoeken) van het lagere niveau om zijn werk uit te voeren.

    De taak van het symbolische niveau is om zijn unieke naam te bepalen uit de symbolische bestandsnaam. In bestandssystemen, waarin elk bestand slechts één symbolische naam kan hebben (bijvoorbeeld MS-DOS), ontbreekt dit niveau, aangezien de symbolische naam die door de gebruiker aan het bestand wordt toegekend tegelijkertijd uniek is en door het besturingssysteem kan worden gebruikt .

    Afbeelding 5 Algemeen bestandssysteemmodel

    Op andere bestandssystemen, waar hetzelfde bestand meer dan één symbolische naam kan hebben, wordt de directoryketen op dit niveau gescand om een ​​unieke bestandsnaam te bepalen. In het UNIX-bestandssysteem is de unieke naam bijvoorbeeld het inodenummer van het bestand (i-node).

    Op het volgende, basisniveau, bepaalt de unieke bestandsnaam zijn kenmerken: toegangsrechten, adres, grootte en andere. Zoals reeds vermeld, kunnen bestandskenmerken in de catalogus worden opgenomen of in aparte tabellen worden opgeslagen. Wanneer een bestand wordt geopend, worden de kenmerken ervan verplaatst van schijf naar RAM om de gemiddelde toegangstijd tot bestanden te verminderen. In sommige bestandssystemen (bijvoorbeeld HPFS) worden, wanneer een bestand wordt geopend, samen met de kenmerken ervan, de eerste paar blokken van het bestand met gegevens naar het RAM verplaatst.

    De volgende stap bij de implementatie van een verzoek aan een bestand is het controleren van de toegangsrechten ervoor. Om dit te doen, worden de machtigingen van de gebruiker of het proces dat het verzoek heeft afgegeven, vergeleken met de lijst met toegestane typen toegang tot dit bestand. Als het gevraagde type toegang is toegestaan, gaat de uitvoering van het verzoek door, zo niet, dan wordt een bericht over de schending van toegangsrechten afgegeven.

    Op logisch niveau worden de coördinaten van het gevraagde logische record in het bestand bepaald, dat wil zeggen dat moet worden bepaald op welke afstand (in bytes) het vereiste logische record zich vanaf het begin van het bestand bevindt. Tegelijkertijd abstraheren ze van de fysieke locatie van het bestand, het wordt weergegeven als een continue reeks bytes. Het algoritme van dit niveau hangt af van de logische organisatie van het bestand. Als een bestand bijvoorbeeld is georganiseerd als een reeks logische records met een vaste lengte l, dan heeft het n-de logische record een offset van l ((n-1) bytes. Dit geeft direct het adres van het logische record aan.

    Afbeelding 6 Fysieke laagfuncties van het bestandssysteem

    Initiële data:

    V - blokgrootte

    N - nummer van het eerste blok van het bestand

    S - offset van het logische record in het bestand

    Het is vereist om op fysiek niveau te definiëren:

    n - nummer van het blok dat het vereiste logische record bevat

    s - offset van het logische record binnen het blok

    n = N +, waarbij het gehele deel van het getal S / V . is

    s = R - fractioneel deel van het getal S / V

    Op fysiek niveau bepaalt het bestandssysteem het fysieke bloknummer dat het vereiste logische record bevat en de offset van het logische record in het fysieke blok. Om dit probleem op te lossen, worden de resultaten van het werk van het logische niveau gebruikt - de offset van het logische record in het bestand, het adres van het bestand op een extern apparaat, evenals informatie over de fysieke organisatie van het bestand, inclusief de blokgrootte. Figuur 6 illustreert de werking van de fysieke laag voor de eenvoudigste fysieke organisatie van een bestand als een aaneengesloten reeks blokken. Laten we benadrukken dat het probleem van de fysieke laag is opgelost, ongeacht hoe het bestand logisch was georganiseerd.

    Na het nummer van het fysieke blok te hebben bepaald, neemt het bestandssysteem contact op met het I/O-systeem om een ​​uitwisselingsoperatie uit te voeren met een extern apparaat. In reactie op dit verzoek wordt het vereiste blok overgebracht naar de buffer van het bestandssysteem, waarin het vereiste logische record wordt geselecteerd op basis van de offset die is verkregen tijdens de werking van de fysieke laag.

    Ontwikkelaars van nieuwe besturingssystemen streven ernaar de gebruiker de mogelijkheid te bieden om met meerdere bestandssystemen tegelijk te werken. In de nieuwe opvatting bestaat het bestandssysteem uit vele componenten, waaronder de bestandssystemen in de traditionele zin.

    Het nieuwe bestandssysteem heeft een gelaagde structuur (Figuur 7), met op het hoogste niveau de zogenaamde bestandssysteemschakelaar (in Windows 95 wordt deze schakelaar bijvoorbeeld de installeerbare bestandssysteembeheerder, IFS) genoemd. Het biedt een interface tussen de verzoeken van een toepassing en het specifieke bestandssysteem waartoe de toepassing toegang heeft. De bestandssysteemschakelaar vertaalt query's naar een formaat dat leesbaar is voor de volgende laag, de bestandssysteemlaag.

    Afbeelding 7 Architectuur van het moderne bestandssysteem

    Elk onderdeel van het bestandssysteemniveau is gemaakt in de vorm van een stuurprogramma voor het bijbehorende bestandssysteem en ondersteunt een specifieke organisatie van het bestandssysteem. De switch is de enige module die toegang heeft tot het stuurprogramma van het bestandssysteem. De applicatie heeft er geen directe toegang toe. Een bestandssysteemstuurprogramma kan worden geschreven als inkomende code, waardoor meerdere toepassingen bestandsbewerkingen tegelijk kunnen uitvoeren. Elk stuurprogramma van het bestandssysteem registreert zich tijdens zijn eigen initialisatie bij de switch en geeft het een tabel met toegangspunten door die bij volgende oproepen naar het bestandssysteem zullen worden gebruikt.

    Om hun functies uit te voeren, wenden bestandssysteemstuurprogramma's zich tot het I / O-subsysteem, dat de volgende laag vormt van het bestandssysteem van de nieuwe architectuur. Het I/O-subsysteem is een integraal onderdeel van het bestandssysteem dat verantwoordelijk is voor het laden, initialiseren en beheren van alle modules op de lagere niveaus van het bestandssysteem. Meestal zijn deze modules poortstuurprogramma's die rechtstreeks met de hardware te maken hebben. Bovendien biedt het I / O-subsysteem enige service aan de stuurprogramma's van het bestandssysteem, waardoor ze verzoeken kunnen doen aan specifieke apparaten. Het I / O-subsysteem moet altijd in het geheugen aanwezig zijn en het gezamenlijke werk van de hiërarchie van apparaatstuurprogramma's organiseren. Deze hiërarchie kan apparaatstuurprogramma's van een bepaald type bevatten (stuurprogramma's voor harde schijf of tapedrives), door leveranciers ondersteunde stuurprogramma's (dergelijke stuurprogramma's onderscheppen verzoeken om apparaten te blokkeren en kunnen het gedrag van een bestaand stuurprogramma van dit apparaat gedeeltelijk veranderen, bijvoorbeeld gegevens versleutelen ), poortstuurprogramma's, die specifieke adapters aansturen.

    Het grote aantal lagen in de bestandssysteemarchitectuur geeft auteurs van apparaatstuurprogramma's veel flexibiliteit - een stuurprogramma kan controle krijgen in elk stadium van de uitvoering van een verzoek, van een toepassing die een functie aanroept die bestanden afhandelt tot het punt waar de laagste- apparaatstuurprogramma op niveau begint te kijken naar controllerregisters ... Het multilevel-mechanisme van het bestandssysteem wordt geïmplementeerd via oproepketens.

    Tijdens de initialisatie kan een apparaatstuurprogramma zichzelf toevoegen aan de oproepketen van een bepaald apparaat en het niveau van daaropvolgende toegang bepalen. Het I / O-subsysteem plaatst het adres van de doelfunctie in de apparaatoproepketen met behulp van het gespecificeerde niveau om de keten correct te ordenen. Terwijl het verzoek wordt uitgevoerd, roept het I / O-subsysteem opeenvolgend alle functies aan die eerder in de oproepketen zijn geplaatst.

    De in de oproepketen geïntroduceerde driverprocedure kan besluiten om het verzoek - in gewijzigde of ongewijzigde vorm - verder door te geven naar het volgende niveau, of, indien mogelijk, de procedure kan aan het verzoek voldoen zonder het verder in de keten door te geven.

    3. Soorten bestandssystemen

    3.1 FAT-bestandssysteem

    De meeste bestaande bestandssystemen zijn gebouwd rond een File Allocation Table (FAT), die datatracks in elk cluster op schijf bevat. Er zijn verschillende soorten FAT-bestandssystemen - FAT 12, FAT 16 en FAT 32. Ze verschillen in het aantal cijfers dat wordt gebruikt in de bestandstoewijzingstabel. Met andere woorden, FAT 32 gebruikt een 32-bits nummer om het gegevensspoor in elk cluster op te slaan, FAT 16 gebruikt een 16-bits nummer, enzovoort. De volgende typen FAT-bestandssystemen bestaan ​​momenteel:

    FAT 12, gebruikt op partities met een maximale capaciteit van 16 MB (bijvoorbeeld een diskette);

    FAT 16, gebruikt op partities van 16 MB tot 2 GB;

    FAT 32, gebruikt (optioneel) op partities van 512 MB tot 2 TB.

    De bestandssystemen FAT 12 en FAT 16 worden oorspronkelijk gebruikt in DOS en Windows en worden door bijna alle bekende besturingssystemen ondersteund. De meeste personal computers worden geleverd met harde schijven waarop een van de FAT-bestandssystemen is geïnstalleerd.

    Het FAT 32-bestandssysteem wordt ondersteund door Windows 95 en hoger en Windows 2000.

    Om gebruikersapplicaties toegang te geven tot bestanden, ongeacht het type schijf dat wordt gebruikt, biedt het besturingssysteem verschillende structuren. Deze structuren worden ondersteund door Windows-systemen en worden hieronder in schijfvolgorde weergegeven:

    opstartsectoren van de hoofd- en extra partities;

    logische schijf opstartsector;

    bestandstoewijzingstabellen (FAT);

    hoofdmap;

    gegevensgebied;

    cilinder voor het uitvoeren van diagnostische lees-/schrijfbewerkingen.

    Informatie over elke partitie wordt opgeslagen in de opstartsector van de partitie (of logische schijf) aan het begin van elke partitie. Er is ook een hoofdpartitielijsttabel geplaatst in de opstartsector van de hoofdpartitie.

    De bootsector van de masterpartitie (of Master Boot Record (MBR)) is de eerste sector op de harde schijf (cilinder 0, kop 0, sector 1) en bestaat uit twee elementen.

    Tabel hoofdsectie. Bevat een lijst met partities op de schijf en de locatie van de opstartsectoren van de bijbehorende logische schijven. Deze tabel is erg klein en kan maximaal vier records bevatten. Om dus meer partities in het besturingssysteem te krijgen (bijvoorbeeld DOS), kunt u één extra partitie maken en er meerdere logische stations in plaatsen.

    Master-opstartcode. Een klein programma dat wordt uitgevoerd door het BIOS. De belangrijkste functie van deze code is om de besturing over te dragen naar een partitie die is aangewezen als actief (of opstartbaar).

    De opstartsector is de eerste sector op een logische DOS-schijf. Op een diskette of op een Zip-disk is dit bijvoorbeeld de allereerste fysieke sector, aangezien een diskette niet kan worden gepartitioneerd en slechts één logische disk heeft. Op een harde schijf bevinden de opstartsector(en) zich aan het begin van elke niet-optionele partitie, of aan het begin van elk gebied van de schijf dat wordt herkend als een logische DOS-schijf.

    Deze sectoren lijken een beetje op de opstartsectoren van partities, omdat ze tabellen bevatten met speciale informatie over de logische schijf.

    Een schijfparameterblok dat specifieke informatie bevat, zoals partitiegrootte, aantal gebruikte schijfsectoren, clustergrootte en volumelabel.

    Opstartcode is het programma dat het opstartproces van het besturingssysteem start. Voor DOS en Windows 9x / Me is dit het Io.sys-bestand.

    De opstartsector van de diskette wordt geladen door het ROM-BIOS en wanneer het systeem wordt opgestart vanaf de harde schijf, draagt ​​de MBR de controle over aan de opstartsector van de actieve partitie. In beide gevallen krijgt de opstartsector van de logische schijf controle. Het voert wat controles uit en probeert vervolgens het eerste systeembestand van schijf te lezen (in DOS / Windows is dit het Io.sys-bestand). De opstartsector is niet zichtbaar omdat deze zich buiten het bestandsopslaggebied van de logische schijf bevindt.

    Een directory is een database met informatie over bestanden die naar schijf zijn geschreven. Elk record erin is 32 bytes lang en er mogen geen scheidingstekens tussen records staan. De directory slaat bijna alle informatie op over het bestand dat het besturingssysteem heeft.

    Bestandsnaam en extensie - acht tekens van de naam en drie tekens van de extensie; de periode tussen bestandsnaam en extensie wordt geïmpliceerd, maar is niet opgenomen in dit item.

    Een bestandskenmerkbyte die een vlag bevat die de standaardbestandskenmerken vertegenwoordigt.

    De tijd en datum waarop het bestand is gemaakt of gewijzigd.

    Informatie over de locatie van het bestand, d.w.z. de locatie van de overige clusters is opgenomen in de FAT.

    Alle mappen hebben dezelfde structuur. De records in deze database slaan belangrijke informatie over de bestanden op, die is gekoppeld aan de informatie die is opgeslagen in de FAT, via een van de recordvelden - het nummer van de eerste cluster op de schijf die door het bestand wordt ingenomen. Als alle bestanden op de schijf de grootte van één cluster niet zouden overschrijden, zou FAT helemaal niet nodig zijn. De FAT bevat informatie over het bestand dat niet in de directory staat - de nummers van de clusters waarin het hele bestand zich bevindt.

    De File Allocation Table (FAT) bevat de clusternummers waar de bestanden zich op schijf bevinden. Elk cluster in FAT komt overeen met één nummer. Sectoren die geen gebruikersgegevens (bestanden) bevatten, worden niet weergegeven in de FAT. Deze sectoren omvatten opstartsectoren, bestandstoewijzingstabellen en hoofdsectoren.

    In het FAT-bestandssysteem wordt schijfruimte niet verdeeld in sectoren, maar in groepen van sectoren die clusters (toewijzingscellen) worden genoemd. Een cluster bevat een of meer sectoren. De clustergrootte wordt bepaald wanneer de schijf wordt gepartitioneerd met behulp van het Fdisk-programma en is afhankelijk van de grootte van de partitie die wordt gemaakt. De kleinste schijfgrootte die een niet-nulbestand kan innemen, is één cluster. Elk bestand gebruikt een geheel aantal clusters. Als een bestand bijvoorbeeld één byte groter is dan de clustergrootte, worden er twee clusters toegewezen om het op schijf te plaatsen.

    FAT is een spreadsheet die de toewijzing van schijfruimte beheert. Elke cel in deze tabel is gekoppeld aan een specifiek cluster op schijf. Het getal in deze cel geeft aan of dit cluster voor een bestand wordt gebruikt en, indien gebruikt, waar het volgende cluster van dit bestand is.

    Het schijfgegevensgebied is het gebied dat volgt op de opstartsector, de bestandstoewijzingstabellen en de hoofdmap op elke logische schijf. Dit gebied wordt beheerd door FAT en de hoofdmap en is verdeeld in plaatsingscellen die clusters worden genoemd. In deze clusters bevinden zich de bestanden die op schijf zijn opgeslagen.

    3.2 FAT-bestandssysteemfouten

    Fouten in het bestandssysteem lijken meer te wijten aan software dan aan hardwarestoringen (bijvoorbeeld het onjuist afsluiten van Windows).

    Verloren clusters. Dit is de meest voorkomende bestandssysteemfout waarbij clusters in FAT worden gemarkeerd als gebruikt, terwijl dat in feite niet het geval is. Deze verweesde clusters worden veroorzaakt door een abnormale afsluiting van een toepassing of een systeemcrash. Schijfreparatieprogramma's kunnen deze clusters detecteren en repareren.

    Programma's voor schijfherstel scannen de schijf en maken een kopie van de FAT in het RAM. Deze kopie wordt vervolgens vergeleken met de "echte" FAT en zo worden de verloren clusters geïdentificeerd. geen eigendom van een van de bestaande bestanden. Bijna alle herstelprogramma's kunnen informatie van verloren clusters opslaan in een bestand en deze vervolgens resetten.

    Het programma Chkdsk maakt bijvoorbeeld bestanden met de namen FILE0001.CHK, FILE0002.CHK, enz. uit ketens van verloren clusters.

    Overlappende bestanden. Deze bestanden verschijnen wanneer twee directory-items onjuist naar hetzelfde cluster verwijzen. Als gevolg hiervan "bevat" het cluster gegevens uit verschillende bestanden, wat natuurlijk onaanvaardbaar is.

    Meestal is een van de overlappende bestanden beschadigd. Programma's voor gegevensherstel lossen het probleem van overlappende bestanden meestal als volgt op: de bestanden worden met nieuwe namen naar de vrije schijfruimte gekopieerd en het overlappende gebied van beide bestanden (en hun andere delen) wordt verwijderd. Merk op dat beide bestanden worden verwijderd, d.w.z. het elimineren van deze fout leidt niet tot nieuwe problemen: een directory-ingang verwijst bijvoorbeeld naar een bestand dat niet bestaat. Door naar de twee herstelde bestanden te kijken, kunt u bepalen welke beschadigd is.

    Ongeldig bestand of map. Soms is de informatie in een directory-item voor:

    bestand of submap is niet waar: het item bevat

    een cluster met een verkeerde datum of verkeerde notatie. Bijna alle schijfherstelprogramma's lossen dit probleem ook op.

    De opdrachten Chkdsk, Recover en Scandisk zijn het DOS "reanimatieteam" dat zich toelegt op het herstellen van beschadigde schijfgegevens. Deze commando's hebben een zeer eenvoudige en niet erg gebruiksvriendelijke interface, het gebruik ervan heeft vaak een aanzienlijke impact op het systeem, maar soms kunnen alleen zij helpen.

    3.3 NTFS-bestandssysteem

    Vergeleken met FAT of FAT32 biedt NTFS de gebruiker een combinatie van voordelen: efficiëntie, betrouwbaarheid en compatibiliteit. Het NTFS-bestandssysteem wordt gebruikt in het besturingssysteem Windows NT / 2000 / XP.

    Net als elk ander systeem verdeelt NTFS alle bruikbare ruimte in clusters - blokken met gegevens die tegelijkertijd worden gebruikt. NTFS ondersteunt bijna elke clustergrootte - van 512 bytes tot 64 KB wordt een cluster van 4 KB als een bepaalde standaard beschouwd

    Bij het installeren van NTFS wordt de schijf in twee ongelijke delen verdeeld: het eerste deel is gereserveerd voor de MFT (Master File Table), de MFT-zone genoemd en neemt ongeveer 12% van de totale schijfgrootte in beslag, het tweede deel wordt ingenomen door uw eigen gegevens. Er is ook nog een derde zone, maar daarover later meer. MFT ligt aan het begin van de schijf, elk record in de MFT komt overeen met een bestand en duurt ongeveer 1 Kb. In de kern is het een map met alle bestanden op de schijf. Opgemerkt moet worden dat elk gegevensitem in NTFS wordt behandeld als een bestand, zelfs als een MFT.

    De MFT-zone wordt altijd leeg gehouden - dit wordt gedaan zodat het belangrijkste servicebestand (MFT) niet gefragmenteerd raakt naarmate het groeit. De resterende 88% van de schijf is conventionele bestandsopslag.

    Vrije schijfruimte omvat echter alle fysiek vrije ruimte - lege delen van de MFT-zone zijn daar ook inbegrepen. Het mechanisme voor het gebruik van de MFT-zone is als volgt: wanneer bestanden niet langer naar de gebruikelijke ruimte kunnen worden geschreven, wordt de MFT-zone eenvoudig verkleind (in de huidige versies van besturingssystemen precies twee keer), waardoor er ruimte vrijkomt voor het schrijven van bestanden. Als er ruimte vrijkomt in het normale MFT-gebied, kan het gebied weer uitbreiden.

    De eerste 16 bestanden (metabestanden) in de MFT-zone zijn een speciale kaste. Ze bevatten service-informatie, hebben een vaste positie en zijn zelfs voor het besturingssysteem ontoegankelijk. Trouwens, de eerste van deze 16 is het MFT-bestand zelf. Er is een kopie van de eerste drie inzendingen.

    De derde zone verdeelt op zijn beurt de schijf in tweeën. Dit is gedaan voor de betrouwbaarheid, bij verlies van informatie in het MFT-bestand kun je de informatie altijd herstellen, en daar is het al een kwestie van techniek, zoals ze zeggen. Alle andere bestanden in de MFT-zone kunnen willekeurig worden gelokaliseerd. Opgemerkt moet worden dat er in theorie niets in de MFT-zone is behalve de servicebestanden. Maar er zijn momenten waarop er geen ruimte meer is op het gedeelte van de schijf dat is gereserveerd voor de gebruiker, en dan wordt de MFT-zone kleiner. Dienovereenkomstig is er ruimte in de tweede helft van de schijf voor het opnemen van gegevens. Wanneer in deze zone voldoende vrije ruimte wordt vrijgemaakt, breidt de MFT-zone weer uit. En dit is waar het probleem zich voordoet. Gewone bestanden komen de MFT-zone binnen en deze begint gefragmenteerd te raken. Maar terug naar de metabestanden. Elk van hen is verantwoordelijk voor een bepaald werkgebied. Ze beginnen met het naamteken $. Laten we een voorbeeld geven van enkele van hen:

    $ MFT is niets meer dan de MFT zelf

    $ MFTmirr - dezelfde kopie die zich in het midden van de schijf bevindt

    $ LogFile is het logbestand

    $ Boot - zoals de naam al aangeeft, Zijne Majesteit is de bootsector

    $ Bitmap - kaart van de vrije ruimte van de partitie

    Informatie over metabestanden bevindt zich in het MFT-bestand. Een dergelijk systeem is uitgevonden om de betrouwbaarheid van NTFS te vergroten en rechtvaardigt zichzelf. NTFS heeft vrijwel geen limiet voor de schijfgrootte (tenminste met de huidige hardeschijftechnologieën). De clustergrootte kan variëren van 512 b tot 64 Kb, hoewel de gebruikelijke grootte 4 Kb is.

    NTFS-map. Dit is een metabestand met een $-symbool. Het is verdeeld in delen, die elk de bestandsnaam, de bijbehorende attributen en een link naar het MFT-bestand bevatten. En de rest van de informatie is er al. De directory is een binaire boom, d.w.z. In de directory is informatie over gegevens op de schijf zo gerangschikt dat bij het zoeken naar een bestand de directory in twee delen werd gesplitst en het antwoord was in welk deel het gewenste deel was. Vervolgens wordt dezelfde bewerking herhaald in de geselecteerde helft. En zo verder totdat het gewenste bestand is gevonden.

    bestanden. Als zodanig bestaan ​​ze niet, er zijn zogenaamde streams. Dat wil zeggen dat elke informatie-eenheid meerdere stromen vertegenwoordigt. Eén stroom zijn de gegevens zelf, het is de belangrijkste. Andere streams zijn bestandskenmerken. Elk ander bestand kan aan elk bestand worden toegevoegd. Simpel gezegd, u kunt een geheel nieuwe stream koppelen aan streams van één data en daar nieuwe data schrijven. Hier zijn slechts informatie over de grootte van het bestand dat wordt ingenomen door het volume van de hoofdstream. Lege of kleine bestanden op schijf verschijnen alleen in metabestanden. Dit wordt gedaan om schijfruimte te besparen. In het algemeen moet worden opgemerkt dat het concept van een bestand veel dieper en breder is en dat het nogal moeilijk is om alle eigenschappen te beschrijven. Houd er rekening mee dat de maximale lengte van de bestandsnaam maximaal 255 tekens kan zijn.

    Bovendien hebben NTFS-bestanden het gecomprimeerde kenmerk. Elk bestand of zelfs elke map kan worden gecomprimeerd. De compressie zelf is onmerkbaar, omdat de snelheid vrij hoog is. Op de heap wordt zogenaamde virtuele compressie gebruikt, d.w.z. het ene deel van het bestand kan worden gecomprimeerd en het andere niet. Compressie gebeurt in blokken. Elk blok is gelijk aan 16 clusters.

    NTFS maakt gebruik van gegevensversleuteling. Dus als u om de een of andere reden het systeem opnieuw moet installeren, kunt u de versleutelde bestanden niet lezen zonder de juiste autorisatie.

    Journalen. NTFS is een fouttolerant systeem dat zichzelf in de juiste staat kan brengen in geval van bijna elke echte storing. Elk modern bestandssysteem is gebaseerd op zo'n concept als een transactie - een actie die volledig en correct wordt uitgevoerd of helemaal niet wordt uitgevoerd. NTFS heeft eenvoudigweg geen tussenliggende (foutieve of onjuiste) toestanden - het gegevensveranderingsquantum kan niet worden onderverdeeld in voor en na de storing, wat vernietiging en verwarring veroorzaakt - het is ofwel perfect of geannuleerd.

    Voorbeeld: er worden gegevens naar schijf geschreven. Plots bleek dat we niet konden schrijven naar de plaats waar we net besloten hadden om het volgende stuk gegevens te schrijven - fysieke schade aan het oppervlak. Het gedrag van NTFS is in dit geval vrij logisch: de hele schrijftransactie wordt teruggedraaid - het systeem realiseert zich dat er niet is geschreven. De locatie wordt als slecht gemarkeerd en de gegevens worden naar een andere locatie geschreven - er wordt een nieuwe transactie gestart.

    Loggen is dus een middel om het aantal fouten en systeemcrashes aanzienlijk te verminderen. Het is onwaarschijnlijk dat een gewone NTFS-gebruiker ooit een systeemfout zal opmerken of gedwongen wordt om chkdsk uit te voeren - de ervaring leert dat NTFS in een volledig correcte staat wordt hersteld, zelfs in het geval van storingen die soms erg belast zijn met schijfactiviteit. U kunt zelfs de schijf optimaliseren en midden in dit proces op reset drukken - de kans op gegevensverlies, zelfs in dit geval, is zeer klein. Het is echter belangrijk om te begrijpen dat NTFS-herstel de juistheid van het bestandssysteem garandeert, niet uw gegevens. Als u naar schijf aan het schrijven was en een crash kreeg, worden uw gegevens mogelijk niet geschreven.

    3.4 Vergelijkende kenmerken van FAT 32 en NTFS. Voor-en nadelen

    Voordelen van NTFS:

    1. Hoge snelheid van toegang tot kleine bestanden;

    2. De grootte van de schijfruimte is tegenwoordig praktisch onbeperkt;

    3. Bestandsfragmentatie heeft geen invloed op het bestandssysteem zelf;

    4. Hoge betrouwbaarheid van gegevensopslag en de bestandsstructuur zelf;

    5. Hoge prestaties bij het werken met grote bestanden;

    Nadelen van NTFS:

    1. Hogere vereisten voor de hoeveelheid RAM in vergelijking met FAT 32;

    2. Werken met middelgrote catalogi is moeilijk vanwege hun fragmentatie;

    3. Lagere werksnelheid vergeleken met FAT 32;

    FAT32 voordelen:

    1. Hoge werksnelheid;

    2. Lage vereiste voor de hoeveelheid RAM;

    3. Effectief werken met bestanden van middelgrote en kleine omvang;

    4. Lagere schijfslijtage door minder bewegingen van de lees-/schrijfkoppen.

    Nadelen van FAT 32:

    1. Lage bescherming tegen systeemstoringen;

    2. Inefficiënt werken met grote bestanden;

    3. Beperking van het maximale volume van een sectie en een bestand;

    4. Prestatievermindering tijdens fragmentatie;

    5. Verminderde prestaties bij het werken met mappen die een groot aantal bestanden bevatten.

    3.5 Linux-bestandssystemen

    Het moderne, krachtige en gratis Linux-besturingssysteem biedt voldoende ruimte voor de ontwikkeling van moderne systemen en aangepaste software. Enkele van de interessantere ontwikkelingen in recente Linux-kernels zijn nieuwe, hoogwaardige technologieën voor het beheren van de opslag, plaatsing en update van gegevens op schijf.

    3.5.1 EXT 2 (het tweede uitgebreide bestandssysteem)

    Ext2 is het standaard Linux-bestandssysteem. Als gevolg van zijn creatie zal een schijfpartitie uit veel gebieden bestaan ​​- groepen blokken, die op hun beurt zijn onderverdeeld in kleinere gebieden.

    Een inode is een verwijzing naar een bestand dat informatie bevat met betrekking tot het bestand: eigenaar, toegangsrechten, datum van laatste wijziging. Elk bestand heeft één inode. Het aantal inodes is constant en wordt ingesteld tijdens het maken van het bestandssysteem (standaard één descriptor voor elke 4096 bytes).

    Superblok - het superblok slaat informatie op over het hele bestandssysteem. Er is een superblok in elke blokgroep, het is slechts een reservekopie van het superblok uit de eerste blokgroep.

    Groepsbeschrijving - informatie over elke groep blokken wordt hier opgeslagen. Het bevat ook verwijzingen naar de inodetabel.

    Block bitmap - Een array van bits die de gebruikte blokken aangeeft.

    Inodetabel - Een tabel met de daadwerkelijk toegewezen inodeblokken voor een bepaalde groep.

    Datablokken zijn blokken die direct data bevatten.

    Figuur 8 toont een diagram van het Linux-bestandssysteem ..

    Afbeelding 8 Bestandssysteem Ext2

    Het ext3-bestandssysteem is in wezen een verbeterde versie van het ext2-bestandssysteem. Deze verbeteringen bieden de volgende voordelen:

    1) Beschikbaarheid

    In het geval van een onverwachte stroomstoring of systeemcrash (een zogenaamde incorrecte systeemafsluiting), moet elk aangekoppeld ext2-bestandssysteem op consistentie worden gecontroleerd met behulp van het e2fsck-programma. Dit is een tijdrovend proces en kan het opstarten van het systeem aanzienlijk vertragen, vooral op grote schijven met veel bestanden. En totdat de controle voorbij is, zijn de gegevens op de schijven ontoegankelijk.

    Door de journaling die door het ext3-bestandssysteem wordt uitgevoerd, is een dergelijke controle van het bestandssysteem na een onjuiste afsluiting van het systeem niet meer nodig. Integriteitscontroles in ext3 worden alleen in zeer zeldzame gevallen uitgevoerd wanneer hardware faalt, zoals een storing van de harde schijf. De tijd die nodig is om een ​​ext3-bestandssysteem te herstellen na een onjuiste afsluiting is onafhankelijk van de grootte van het bestandssysteem of het aantal bestanden, het hangt af van de grootte van het journaal dat wordt gebruikt om de consistentie te behouden. Het duurt ongeveer een seconde om te herstellen met de standaard loggrootte, afhankelijk van de snelheid van de computer.

    2) Gegevensintegriteit

    Het ext3-bestandssysteem zorgt op betrouwbare wijze voor de gegevensintegriteit in het geval van een onjuiste systeemafsluiting. Met het ext3-bestandssysteem kunt u het type en het niveau van bescherming voor uw gegevens kiezen. Standaard bieden ext3-volumes een hoge mate van gegevensconsistentie op basis van de status van het bestandssysteem.

    3) Snelheid:

    Hoewel sommige gegevens herhaaldelijk worden geschreven, is ext3 in de meeste gevallen sneller dan ext2 omdat ext3-journaling de beweging van de kop van de harde schijf optimaliseert. U kunt de snelheid optimaliseren door te kiezen uit drie logging-modi, maar houd er rekening mee dat dit het niveau van gegevensintegriteit beïnvloedt.

    4. Programma's voor het werken met harde schijven en bestandssystemen

    4.1 Acronis Disk Director Suite 10

    Acronis Disk Director Suite 10 biedt mogelijkheden zoals het beheren van harde schijven, het verdelen ervan in partities zonder gegevensverlies, het overbrengen van een besturingssysteem van schijf naar schijf en nog veel meer. Het is professionele software voor harde schijven voor thuisgebruik.

    Om Acronis Disk Director Suite volledig te kunnen gebruiken, moet u beschikken over:

    Besturingssysteem Microsoft Windows 98 SE / Me / NT4.0 / Workstation SP 6/2000 Professional SP 4 / XP SP 2;

    Processor met een kloksnelheid van 300 MHz of hoger;

    256 MB RAM;

    100 MB vrije schijfruimte;

    cd/dvd-schrijver.

    Installatie van het programma geeft geen problemen. Alles is intuïtief.

    De programma-interface is uiterst eenvoudig en duidelijk

    De professionele benadering van het werk is georganiseerd rekening houdend met de vaardigheden van gewone gebruikers. Acronis Disk Director Suite 10 bevat bijgewerkte hulpprogramma's die voorheen alleen afzonderlijk verkrijgbaar waren. Partition Expert helpt u bij het kopiëren, verdelen en verplaatsen van harde schijfpartities zonder gegevens te verliezen. Deze functie is een van de meest populaire en nuttige. U kunt uw besturingssysteem met alle bestanden overzetten naar een nieuwe harde schijf als de oude het begeeft. Dit elimineert de noodzaak om het besturingssysteem opnieuw te installeren met alle programma's. Of u kunt de harde schijf eenvoudig in partities (lokale schijven) verdelen voor gebruiksgemak. Een schijf in meerdere partities snijden zonder gegevens te verliezen is een fluitje van een cent. Om dit te doen, hoeft u slechts een paar muisbewegingen te maken: start het programma, klik met de rechtermuisknop op de harde schijf, selecteer "Formaat wijzigen" en verplaats de visuele grenzen van de sectie, stel de gewenste grootte in. En dat is alles. Ja, nog één ding: om een ​​bewerking afzonderlijk of in één keer uit te voeren, klikt u op de "Voltooien-vlag" (Figuur 9).

    Afbeelding 9: De grootte van een partitie wijzigen

    Disk Editor voert gespecialiseerde bewerkingen uit voor het werken met een harde schijf: van het controleren tot het herstellen van fouten. U kunt uw harde schijf automatisch op fouten controleren als u dit programma voor de eerste keer gebruikt, of zelfs een hex-editor gebruiken. Om een ​​controle uit te voeren, selecteert u gewoon een harde schijf of een partitie door er met de rechtermuisknop op te klikken en "Controleren" te selecteren. Het hulpprogramma zal uw harde schijf opschonen. De Recovery Expert is een professionele tool voor het herstellen en herstellen van verloren of verwijderde partities. Het kan gebeuren dat een partitie op de harde schijf per ongeluk wordt verwijderd of het gebeurt als gevolg van een softwarefout. Dit hulpprogramma kan gegevens met hoge nauwkeurigheid herstellen die zelfs een paar maanden geleden zijn verwijderd. Om dit hulpprogramma aan te roepen, klikt u op het tabblad "Wizard" en selecteert u "Partitieherstel".

    Het programma houdt een logboek bij van gebeurtenissen, u kunt altijd zien wat er met de harde schijf is gebeurd, welke acties het programma zelf heeft ondernomen. Dit is handig als we zijn vergeten hoe we een of andere actie op een harde schijf correct moeten uitvoeren of als we de volgorde van stappen voor het uitvoeren van een bewerking weten. Het programma heeft alle zetten geregistreerd (Figuur 10)!

    Afbeelding 10: Logboek toepassingsgebeurtenissen

    En een andere handige functie van het programma is het maken van een opstartbare schijf. Als Windows plotseling "beveelt om lang te leven", en het ons niet is gelukt een kopie van onze bestanden te maken, denk dan niet dat kostbare informatie voor altijd verloren gaat. Laten we een opstartbare schijf gebruiken: deze kan met een harde schijf werken zonder het besturingssysteem te laden. We kunnen volledig werken met de inhoud van de harde schijf, bestanden overzetten, testen op fouten en proberen het probleem met het laden van het besturingssysteem op te lossen. De functies en het uiterlijk van het programma zullen in dit geval niet verschillen van die in Windows. Een kleine "maar": je moet vooraf een opstartbare schijf maken, bij voorkeur direct na installatie van het programma (Figuur 11).

    Afbeelding 11 Een opstartbare schijf maken

    Het maken van een opstartbare schijf duurt een paar minuten en vereist geen vaardigheden. Hiervoor is een lege CD-R-schijf vereist. Selecteer "Opstartbare schijven maken" op het tabblad "Service". U hoeft alleen maar overal op "Volgende" te klikken en te wachten tot de schijf is gebrand. Dat is alles. Acronis Disk Director Suite 10 staat nu op de cd.

    4.2. Power Quest Partition Magic 8.0

    Power Quest Partition Magic 8.0 werkt met alle versies van Windows, wil minimaal 32 MB RAM zien en een processor die niet lager is dan Pentium-150. Partition Magic 8.0 begrijpt FAT16, FAT32, NTFS, Linux Ext2/3 bestandssystemen, en weet ook wat een partitie is voor een Linux Swap Linux swapbestand.

    Laten we eens kijken wat de ontwikkelaars ons beloven in termen van de vaardigheden van de nieuwe versie van het programma:

    Maak en verwijder partities op uw harde schijf en wijzig het formaat van deze partities zonder gegevens te verliezen. Zoals u kunt zien, rust FDISK.

    Voeg partities samen zonder gegevens te verliezen (u kunt bijvoorbeeld een primaire partitie en een logische schijf samenvoegen tot één geheel).

    Converteer bestandssystemen FAT32 naar FAT16 en NTFS, en NTFS naar FAT32.

    De grootte van het cluster wijzigen om verspilde schijfruimte te verminderen.

    Na het wijzigen van de stationsletter zal het ingebouwde hulpprogramma DriveMapper de paden naar de programma's controleren en, indien nodig, wijzigingen aanbrengen in het register en de nodige correcties aanbrengen in de systeemsnelkoppelingen.

    Harde schijven controleren op beschadigde sectoren.

    Werk met partities tot 160 GB.

    Ondersteuning voor nieuwe apparaten met USB2- en FireWire-communicatieprotocollen (IE 1394).

    Het hulpprogramma Boot Magic 8.0, opgenomen in het Partition Magic 8.0-pakket, zal indien nodig een handig menu maken om het opstarten van een bepaald besturingssysteem te kiezen.

    De mogelijkheid om opstartbare diskettes te maken voor het aanbrengen van wijzigingen of reparaties in de DOS-omgeving. Overigens kunnen deze diskettes (2 stuks) direct tijdens de installatie van het programma worden gemaakt, of daarna door het item Create Rescue Diskettes te selecteren in het menu Start> Programma's> PartitionMagic 8.0 Tools. Wees niet lui om deze operatie uit te voeren, want het leven is onvoorspelbaar.

    Het hoofdvenster van het programma toont onmiddellijk alle beschikbare partities op de harde schijven van uw computer (Figuur 12).

    Afbeelding 12: Partition Magic 8.0 Hoofdvenster

    Bovendien is elke sectie gemarkeerd in een speciale kleur, die Partition Magic bestandssystemen markeert - het zal moeilijk zijn om een ​​fout te maken. De hoeveelheid vrije ruimte in de partitie is ook duidelijk zichtbaar (niet-toegewezen ruimte is wit gemarkeerd). Commando's voor alle bewerkingen met secties zijn zowel in het menu als in het contextmenu beschikbaar. Dus wat hebben we als we naar figuur 9 kijken? De afbeelding geeft aan dat er twee fysieke harde schijven zijn geïnstalleerd in de pc-systeemeenheid.

    De nieuwe versie heeft een actiepaneel aan de linkerkant van het hoofdvenster. De sectie Kies een taak presenteert een reeks "Helpers" voor basisbewerkingen met partities, die beginnende gebruikers helpen de nodige manipulaties uit te voeren om een ​​nieuwe partitie te maken, vrije ruimte opnieuw te verdelen en een nieuw besturingssysteem te installeren. Elke "Wizard" bestaat uit een cyclus van opeenvolgende stappen, die worden uitgevoerd in de vorm van redelijk begrijpelijke vensters.

    Laten we proberen de diensten van deze "meesters" te weigeren, en we zullen zelf alle basishandelingen uitvoeren. Laten we eerst eens kijken naar de situatie met de enige hoofdpartitie (waar Windows is geïnstalleerd) waarin we een logische schijf moeten maken.

    Voor de extra sectie die we maken, hebben we natuurlijk vrije ruimte nodig, die we zullen lenen van de hoofdsectie. Klik met de rechtermuisknop op de afbeelding van de partitie in het Partition Magic-venster en selecteer de opdracht Formaat wijzigen / verplaatsen in het contextmenu. In het gelijknamige venster kunt u direct de grootte van de extra sectie in het veld Nieuwe grootte instellen, of u kunt de schuifregelaar met de cursor verslepen en de gewenste grootte "met het oog" selecteren (Figuur 13).

    Afbeelding 13: Het formaat van de partitie wijzigen

    Het programma geeft onmiddellijk informatie over de minimum- en maximumwaarden voor de grootte van de nieuwe sectie, waardoor we onze vinger niet in de lucht kunnen houden.

    Na de procedure van "eerlijke verwijdering" van schijfruimte van de hoofdpartitie, wordt de vrije ruimte gemarkeerd in een gezichtsloze grijze kleur - Niet toegewezen.

    Op deze "ongebruikte maagdelijke bodem" zullen we een extra partitie maken met een logische schijf. Klik nogmaals met de muis, maar deze keer op het grijze veld, en selecteer vervolgens de opdracht Maken in het contextmenu (Figuur 14):

    Afbeelding 14

    Zodra we een logische schijf willen maken, selecteert u in het veld Maken als de parameter Logical en het FAT32-bestandssysteem, dat door alle systemen van Microsoft wordt begrepen.

    Het is niet nodig om de partitie die wordt gemaakt extra te formatteren, aangezien we het bestandssysteemtype hebben ingesteld, maar als u een logische schijf wilt formatteren, bijvoorbeeld in NTFS, kunnen we de opdracht Format van het contextmenu gebruiken, of dezelfde opdracht in het menu Partitie van het hoofdvenster. Aan het einde van de bovenstaande procedures zal de nieuwe partitie samen met de gloednieuwe logische schijf D: ons zijn schone gezicht laten zien (Figuur 15):

    Afbeelding 15: De logische schijfeenheid is bijna klaar

    Zoals je kunt zien, zorgde het programma zelf voor het toewijzen van een letter aan de nieuwe schijf. Het blijft om op de knop Toepassen te klikken in de linkerbenedenhoek van het hoofdvenster, waarna de wijzigingen direct in de Windows-omgeving van kracht worden (Figuur 16):

    Afbeelding 16: het proces is begonnen

    Maar dit is niet het einde: het ingebouwde hulpprogramma Drive Mapper zal onmiddellijk toestemming vragen om de gewijzigde paden naar de programma's te volgen om correcties in het register aan te brengen, die zullen er al zijn - we hebben tenslotte een nieuwe schijf met de letter D :, en het cd-rom-station begon de letter E te heten: (Afbeelding 17).

    Afbeelding 17

    4.2.1 DOS-versie van Partitin Magiс

    Na het laden van de DOS-versie verschijnt een programmavenster dat niet zo mooi is als in de 32-bits incarnatie, maar waarmee je bijna alle bewerkingen kunt uitvoeren die de gebruiker onder Windows kan bedienen. Om de grootte van een partitie te wijzigen en een nieuwe aan te maken, klikt u gewoon in het veld van de bestaande partitie en selecteert u de opdracht Formaat wijzigen / verplaatsen in het contextmenu - Afbeelding 18.

    Afbeelding 18

    Het venster met de resizing-engine is ons al bekend van de Windows-versie en levert geen problemen op: op dezelfde manier slepen we de engine naar de gewenste grootte van de nieuwe partitie of voeren we onmiddellijk het vereiste aantal megabytes of gigabytes voor de nieuwe partitie in het veld Vrije ruimte na (Afbeelding 19 ).

    Figuur 20

    Selecteer in de lijst Maken als de vereiste parameter: Logische partitie voor een logische schijf of Primaire partitie bij het maken van een andere primaire (primaire) partitie. Noteer in de lijst Partitietype het type bestandssysteem van de toekomstige partitie of logische schijf: FAT32, NTFS of naar eigen goeddunken (Afbeelding 21).

    Afbeelding 21

    Na deze manipulaties verschijnt het PROJECT van de nieuwe structuur van de harde schijf in het programmavenster (Figuur 22).

    Afbeelding 22

    Om de aangebrachte wijzigingen op te slaan, drukt u op de knop Toepassen en antwoordt u Ja op de eeuwenoude vraag - wel of niet zijn (Figuur 23). Na een korte tijd van de programmabewerking (Figuur 24), worden alle wijzigingen van kracht.

    Afbeelding 23

    Afbeelding 24

    Zoals eerder vermeld, kan Partition Magic primaire partities converteren naar logische schijven en vice versa, evenals FAT32> NTFS converteren en vice versa. De DOS-versie doet hetzelfde: als je op de gewenste sectie klikt, moet je het bekende Convert-commando selecteren, waarna er geen venster verschijnt, maar een vervolgkeuzemenu met de beschikbare commando's voor deze sectie. Zo zien de opdrachten voor een logische schijf met het NTFS-bestandssysteem er bijvoorbeeld uit: u kunt er een primaire partitie van maken (Logisch naar Primair) of het bestandssysteem converteren naar FAT32 (NTFS naar FAT32) - Afbeelding 25.

    figuur 25

    En dit is wat u kunt doen met een FAT32-partitie (Figuur 26): zoals u kunt zien, kunt u de hoofdpartitie veranderen in een logische schijf (Primair naar Logisch) en het bestandssysteem converteren naar ... FAT (wat betekent dat het FAT16-systeem ). Waarom is de opdracht voor het converteren naar NTFS niet beschikbaar? Ik zal je een klein geheim vertellen: er waren geen gegevens in deze sectie en daarom was er niets te verliezen, en om het bestandssysteem van de partitie naar NTFS te converteren, moet je de opdracht Format selecteren - dat is alles.

    Afbeelding 26

    Alle opdrachten van het contextmenu van de DOS-versie van Partition Magic zijn beschikbaar in het menu Bewerkingen van het hoofdvenster (Afbeelding 27).

    Afbeelding 27

    Zoals je kunt zien, heeft het Partition Magic 8.0-programma veel mogelijkheden en hulpprogramma's en kan het bijna alle taken oplossen die de gebruiker gaat oplossen bij het werken met schijfpartities.

    Gevolgtrekking

    Het bestandssysteem is, vanuit het oogpunt van de gebruiker, de "ruimte" waarin bestanden zich bevinden. En als wetenschappelijke term is het een onderdeel van het besturingssysteem, dat tot doel heeft een gebruiksvriendelijke interface te bieden bij het werken met gegevens die op schijf zijn opgeslagen, en het delen van bestanden door meerdere gebruikers en processen te verzekeren.

    In brede zin omvat de term "bestandssysteem":

    het verzamelen van alle bestanden op de schijf,

    sets van gegevensstructuren die worden gebruikt om bestanden te beheren, zoals bestandsdirectories, bestandsdescriptors, tabellen voor de toewijzing van vrije en gebruikte schijfruimte,

    een set systeemsoftwaretools die bestandsbeheer implementeren, in het bijzonder: creatie, vernietiging, lezen, schrijven, benoemen, zoeken en andere bewerkingen op bestanden.

    Door de aanwezigheid van het bestandssysteem kunt u bepalen hoe het bestand wordt genoemd en waar het zich bevindt. Aangezien informatie op personal computers voornamelijk op schijven wordt opgeslagen, bepalen de bestandssystemen die erop worden gebruikt de organisatie van gegevens op schijven (meer precies, op logische schijven). Dit artikel bespreekt verschillende soorten bestandssystemen, hun vergelijkende kenmerken.

    Bibliografie

    Guk M. Hardware IBM PC: Bestseller - 2e druk: Peter, 2005.

    Figurnov V.E. "IBM PC voor de gebruiker" - 7e ed., Herzien. en voeg toe. - M. INFA-M, 1998.

    Organisatie van computers en systemen

    Orlov S., Tsilker B. Organisatie van computers en systemen: Peter, 2007, 672 p.

    Melekhin V.F., Pavlovsky E.G. Computermachines, -systemen en -netwerken, 3e druk: M.: Uitgeverijcentrum "Academy", 2007, 560 p.

    AV Gordeev besturingssysteem. Leerboek voor universiteiten. 2e druk: Peter, 2004, 416 d.

    Tanenbaum ES Vertaling: A. Leontiev Moderne besturingssystemen: Peter, 2002, 1040 p.

    Soepele AA Windows XP voor iedereen: Peter, 2005, 208 p.

    Elektronische bronnen

    Overzicht van FAT- en NTFS-bestandssystemen http://support.microsoft.com/kb/100108

    www.powerquest.com

    http://www.acronis.ru/homecomputing/products/diskdirector/

    Bestandssysteemstructuur

    De structuur van het bestandssysteem is afhankelijk van het besturingssysteem. Een van de eerste computers gebruikte het FAT-bestandssysteem (File Allocation Table), dat werd gebruikt in het MS DOS-besturingssysteem.

    FAT is ontworpen om te werken met diskettes die kleiner zijn dan 1 MB en bood aanvankelijk geen ondersteuning voor harde schijven. Vervolgens begon FAT bestanden en partities tot 2 GB te ondersteunen.

    FAT gebruikt de volgende bestandsnaamconventies:
    naam moet beginnen met een letter of cijfer en mag elk ASCII-teken bevatten, behalve spatie en "/ \:; | =, ^ *?
    De naam is maximaal 8 tekens lang, gevolgd door een punt en een optionele extensie van maximaal 3 tekens.
    bestandsnamen zijn niet hoofdlettergevoelig en worden niet bewaard.

    Het FAT-bestandssysteem kan niet elke sector afzonderlijk besturen, dus het combineert aangrenzende sectoren tot clusters. Dit vermindert het totale aantal opslageenheden dat het bestandssysteem moet bijhouden. FAT-clustergrootte is een macht van twee en wordt bepaald door de grootte van het volume wanneer de schijf wordt geformatteerd. Een cluster is de minimale ruimte die een bestand in beslag kan nemen. Hierdoor wordt een deel van de schijfruimte verspild.

    Besturingssystemen gebruiken de termen directory en map als objecten voor het opslaan en openen van bestanden.

    Access is een procedure om verbinding te maken met het geheugen en een daarin opgeslagen bestand voor het schrijven en lezen van gegevens.

    Wanneer u een bestand opent, moet u de exacte locatie van de locatie opgeven. In dit geval, als het bestand wordt geopend vanaf de opdrachtregel, ziet het record er als volgt uit:

    c: \ Papka1 \ papka2 \ uchebnik.doc

    Zo'n record wordt een route of pad genoemd.

    De naam van de logische schijf die voorafgaat aan de bestandsnaam in de specificatie, geeft de logische schijf aan waarop het bestand moet worden gezocht. Op dezelfde schijf is een map georganiseerd waarin de volledige namen van de bestanden zijn opgeslagen, evenals hun kenmerken: datum en tijd van aanmaak; grootte (in bytes); speciale attributen. Naar analogie met het bibliotheeksysteem voor het organiseren van mappen, zal de volledige bestandsnaam die in de map is geregistreerd, dienen als een cijfer waarmee het besturingssysteem de locatie van het bestand op schijf vindt.

    Directory-directory van bestanden die de locatie op de schijf aangeven.

    In het WINDOWS-besturingssysteem komt het concept van een map overeen met het concept van een map.

    Er zijn twee toestanden van de directory - huidig ​​(actief) en passief.

    Huidige (actieve) directory - de directory waarin de gebruiker momenteel werkt.

    Passieve directory - een directory waarmee momenteel geen verbinding is .

    Het besturingssysteem hanteert een hiërarchische directorystructuur, waarbij elke schijf altijd een enkele hoofddirectory (root) heeft. Het bevindt zich op het nulniveau van de hiërarchische structuur en wordt aangeduid met de "\" - backslash. De hoofdmap die wordt aangemaakt bij het formatteren (initialiseren, partitioneren) van de schijf, heeft een beperkte grootte. De hoofddirectory kan andere directory's en bestanden bevatten die zijn gemaakt door commando's van het besturingssysteem en die kunnen worden verwijderd door de bijbehorende commando's.

    Bovenliggende map - map met submappen .

    Subdirectory - een directory die deel uitmaakt van een andere directory .

    Elke directory die de directory's op een lager niveau bevat, kan dus aan de ene kant bovenliggend zijn en aan de andere kant ondergeschikt zijn aan de directory op het hoogste niveau.

    De mappenstructuur kan mappen bevatten die geen bestanden of submappen bevatten. Van dergelijke submappen wordt gezegd dat ze leeg zijn. .

    De regels voor het benoemen van submappen zijn dezelfde als voor het benoemen van bestanden. Om ze formeel van bestanden te onderscheiden, krijgen submappen meestal alleen namen, hoewel een type kan worden toegevoegd met dezelfde regels als voor bestanden.

    Het FAT-bestandssysteem vult de vrije schijfruimte altijd opeenvolgend van begin tot eind. Bij het maken van een nieuw bestand of het wijzigen van een bestaand bestand, zoekt het naar het allereerste vrije cluster in de bestandstoewijzingstabel. Als tijdens het gebruik sommige bestanden zijn verwijderd en andere in grootte zijn veranderd, zullen de resulterende lege clusters over de schijf worden verspreid. Als de clusters met de gegevens van het bestand niet op een rij staan, is het bestand gefragmenteerd. Zwaar gefragmenteerde bestanden verminderen de werkefficiëntie aanzienlijk. Besturingssystemen die FAT ondersteunen, bevatten meestal speciale hulpprogramma's voor schijfdefragmentatie om de prestaties van bestandsbewerkingen te verbeteren.

    Het FAT-bestandssysteem heeft een aanzienlijke beperking in het ondersteunen van grote hoeveelheden schijfruimte, de limiet is 2 GB.

    Nieuwe generaties harde schijven met grote hoeveelheden schijfruimte vragen om een ​​verbeterd bestandssysteem.

    Het Windows-besturingssysteem bevat het FAT32-bestandssysteem, dat harde schijven tot twee terabyte ondersteunt.
    FAT32 heeft uitgebreide bestandskenmerken om nu de tijd en datum van aanmaak, wijziging en laatste toegang tot een bestand of map op te slaan.
    Het systeem staat lange bestandsnamen en spaties in de namen toe.
    Het FAT32-bestandssysteem wordt ondersteund op Windows XP en Windows Vista.

    Voor deze besturingssystemen is een ander bestandssysteem ontwikkeld: NTFS (New Technology File System)

    NTFS heeft de mogelijkheid om de toegang tot individuele bestanden en mappen te controleren aanzienlijk uitgebreid, een groot aantal attributen geïntroduceerd, fouttolerantie geïmplementeerd en dynamische bestandscompressie. NTFS staat bestandsnamen tot 255 tekens toe

    NTFS heeft de mogelijkheid om zichzelf te herstellen in het geval van een OS- of hardwarestoring, zodat het schijfvolume toegankelijk blijft en de directorystructuur intact blijft.

    Elk bestand op een NTFS-volume wordt vertegenwoordigd door een vermelding in een speciaal bestand - de Master File Table (MFT). NTFS reserveert de eerste 16 records van de tabel, ongeveer 1 MB groot, voor speciale informatie. Records bieden een back-up van de hoofdbestandstabel, bestandsherstel, controleren de status van clusters, definiëren bestandskenmerken.

    Om fragmentatie te verminderen, probeert NTFS bestanden altijd in aaneengesloten blokken op te slaan. Het biedt efficiënt zoeken naar bestanden in een map.



    NTFS is ontworpen als een herstelbaar bestandssysteem met behulp van een transactieverwerkingsmodel. Elke I/O-bewerking die een bestand op een NTFS-volume wijzigt, wordt door het systeem als een transactie behandeld en kan als een ondeelbaar blok worden uitgevoerd. Wanneer de gebruiker het bestand wijzigt, registreert de logbestandservice alle informatie die nodig is om de transactie te herhalen of terug te draaien.

    Een interessant kenmerk van het bestandssysteem is de dynamische versleuteling van bestanden en mappen, wat de betrouwbaarheid van de informatieopslag vergroot.

    Vragen voor zelfonderzoek.

    1.Wat is een bestandssysteem?

    2. Wat is een "bestand"?

    3. De belangrijkste componenten van de bestandsstructuur.

    4. Wat is een cluster?

    5. Noem de belangrijkste parameters die het bestand kenmerken.

    6. Hoe wordt de bestandsnaam gevormd?

    7. Regels voor het benoemen van bestanden in het FAT-systeem.

    8. Waarom is het nodig om de schijf te defragmenteren?

    9. Wat is een map?

    10. Leg de begrippen "route", "pad" uit.

    11.Waarvoor wordt de extensie gebruikt in bestandsnamen?

    12. Het belangrijkste doel van het bestandssysteem.

    13. Welke bestandssystemen worden ondersteund door Windows XP, Windows Vista?

    Vroeg of laat wordt een beginnende computergebruiker geconfronteerd met een concept als een bestandssysteem (FS). In de regel komt de eerste kennismaking met deze term voor bij het formatteren van een opslagmedium: logische schijven en plug-in media (flashdrives, geheugenkaarten, externe harde schijf).

    Voordat u gaat formatteren, vraagt ​​het Windows-besturingssysteem u om het type bestandssysteem op de media, de grootte van het cluster, de formatteringsmethode (snel of volledig) te selecteren. Laten we eens kijken wat een bestandssysteem is en waar het voor dient?

    Alle informatie wordt op het medium vastgelegd in een vorm die in een bepaalde volgorde moet worden gerangschikt, anders kunnen het besturingssysteem en de programma's niet met de gegevens werken. Deze volgorde organiseert het bestandssysteem met behulp van bepaalde algoritmen en regels voor het plaatsen van bestanden op de media.

    Wanneer een programma een bestand op schijf nodig heeft, hoeft het niet te weten hoe of waar het is opgeslagen. Het programma hoeft alleen maar de bestandsnaam, grootte en attributen te kennen om deze gegevens door te geven aan het bestandssysteem, dat toegang geeft tot het gewenste bestand. Hetzelfde gebeurt bij het schrijven van gegevens naar een medium: het programma verzendt informatie over het bestand (naam, grootte, attributen) naar het bestandssysteem, dat het opslaat volgens zijn eigen specifieke regels.

    Stel je voor een beter begrip voor dat een bibliothecaris een boek op titel uitdeelt aan een klant. Of in omgekeerde volgorde: de klant geeft het gelezen boek aan de bibliothecaris, die het terug in de opslag plaatst. De cliënt hoeft helemaal niet te weten waar en hoe het boek is opgeslagen, dit is de verantwoordelijkheid van de medewerker van de instelling. De bibliothecaris kent de regels voor het catalogiseren van de bibliotheek en zoekt volgens deze regels de publicatie op of plaatst deze terug, d.w.z. vervult zijn officiële taken. In dit voorbeeld is de bibliotheek het opslagmedium, de bibliothecaris het bestandssysteem en de client het programma.

    De belangrijkste functies van het bestandssysteem

    De belangrijkste functies van het bestandssysteem zijn:

    • plaatsing en bestelling op de gegevensdrager in de vorm van bestanden;
    • bepaling van de maximaal ondersteunde hoeveelheid gegevens op het opslagmedium;
    • het maken, lezen en verwijderen van bestanden;
    • toewijzing en wijziging van bestandskenmerken (grootte, tijdstip van aanmaak en wijziging, eigenaar en maker van het bestand, alleen-lezen, verborgen bestand, tijdelijk bestand, archief, uitvoerbaar bestand, maximale lengte van de bestandsnaam, enz.);
    • het definiëren van de bestandsstructuur;
    • organisatie van mappen voor de logische organisatie van bestanden;
    • bestandsbeveiliging in geval van systeemstoring;
    • bescherming van bestanden tegen ongeoorloofde toegang en wijzigingen in hun inhoud.

    Informatie die is vastgelegd op een harde schijf of een ander medium wordt daarin geplaatst op basis van een clusterorganisatie. Een cluster is een soort cel van een bepaalde grootte, waarin het hele bestand of een deel ervan kan worden geplaatst.

    Als het bestand een clustergrootte heeft, neemt het slechts één cluster in beslag. Als de bestandsgrootte de celgrootte overschrijdt, wordt deze in verschillende clustercellen geplaatst. Bovendien mogen vrije clusters zich niet naast elkaar bevinden, maar verspreid zijn over het fysieke oppervlak van de schijf. Een dergelijk systeem maakt het meest efficiënt gebruik van de ruimte mogelijk bij het opslaan van bestanden. De taak van het bestandssysteem is om het bestand optimaal te ontleden tijdens het schrijven naar vrije clusters, het tijdens het lezen te verzamelen en aan het programma of het besturingssysteem te geven.

    Soorten bestandssystemen

    In het proces van evolutie van computers, opslagmedia en besturingssystemen is een groot aantal bestandssystemen verschenen en verdwenen. Tijdens een dergelijke evolutionaire selectie worden tegenwoordig de volgende typen FS voornamelijk gebruikt om te werken met harde schijven en externe schijven (flashdrives, geheugenkaarten, externe harde schijven, cd's):

    1. FAT32
    2. ISO9660

    De laatste twee systemen zijn ontworpen om met cd's te werken. De bestandssystemen Ext3 en Ext4 werken met op Linux gebaseerde besturingssystemen. NFS Plus is een bestandssysteem voor OS X-besturingssystemen dat wordt gebruikt op Apple-computers.

    De meest voorkomende bestandssystemen zijn NTFS en FAT32, en dit is niet verrassend, aangezien ze zijn ontworpen voor de Windows-besturingssystemen waarop de overgrote meerderheid van de computers ter wereld draait.

    Nu wordt FAT32 actief vervangen door het meer geavanceerde NTFS-systeem vanwege de grotere betrouwbaarheid op het gebied van gegevensveiligheid en -bescherming. Bovendien laten de nieuwste versies van Windows zich eenvoudigweg niet installeren als de harde schijfpartitie in FAT32 is geformatteerd. Het installatieprogramma zal u vragen om de partitie te formatteren naar NTFS.

    Het NTFS-bestandssysteem ondersteunt het werken met schijven van honderden terabytes en een enkel bestand tot 16 terabytes.

    Het FAT32-bestandssysteem ondersteunt schijven tot 8 terabyte en een enkele bestandsgrootte tot 4 GB. Meestal wordt deze FS gebruikt op flashdrives en geheugenkaarten. Het is in FAT32 dat externe schijven in de fabriek worden geformatteerd.

    De limiet voor de bestandsgrootte van 4 GB is tegenwoordig echter al een groot nadeel. vanwege de toename van video van hoge kwaliteit, zal de filmbestandsgrootte deze limiet overschrijden en zal het niet mogelijk zijn om op media op te nemen.

    Deel.

    Classificatie, structuur, kenmerken van bestandssystemen !!!

    1. Concept, structuur en werking van het bestandssysteem.

    Een bestandssysteem is een set (volgorde, structuur en inhoud) van het organiseren van gegevensopslag op opslagmedia, die direct toegang tot opgeslagen gegevens vertegenwoordigt; op huishoudniveau is het een verzameling van alle bestanden en mappen op een schijf. De belangrijkste "eenheden" van het bestandssysteem worden beschouwd als een cluster, bestand, map, partitie, volume, schijf.
    De reeks nullen en enen op de informatiedrager vormt een cluster (de minimale ruimte voor het opslaan van informatie, het is ook gebruikelijk om ze het concept van een sector te noemen, hun grootte is een veelvoud van 512 bytes).
    Bestanden - een benoemde verzameling bytes, verdeeld in sectoren. Afhankelijk van het bestandssysteem kan een bestand een andere set eigenschappen hebben. Voor het gemak worden bij het werken met bestanden hun (symbolische identifiers) namen gebruikt.
    Om de structuur van het bestandssysteem te organiseren, zijn bestanden gegroepeerd in: catalogi .
    Hoofdstuk - een gebied van de schijf dat is gemaakt tijdens het partitioneren en dat een of meer geformatteerde volumes bevat.
    Volume - het gebied van de partitie met het bestandssysteem, de bestandstabel en het gegevensgebied. Een of meer secties make-up schijf .
    Alle informatie over bestanden wordt opgeslagen in een speciaal gedeelte van de sectie - de bestandstabel. Met de bestandstabel kunt u numerieke bestands-ID's en aanvullende informatie hierover (wijzigingsdatum, toegangsrechten, naam, enz.) Koppelen aan de directe inhoud van het bestand dat is opgeslagen in een ander deel van de sectie.

    MBR (Master Boot Record) een speciaal gebied aan het begin van de schijf - met informatie die het BIOS nodig heeft om het besturingssysteem vanaf de harde schijf op te starten.
    De partitietabel bevindt zich ook aan het begin van de schijf, het is de taak om informatie over partities op te slaan: start, lengte, belasting. De opstartpartitie bevat de opstartsector, waarin het opstartprogramma voor het besturingssysteem is opgeslagen.

    Het tellen begint vanaf MBR (van sector met nummer 0) voor alle primaire (primaire) partities, zowel voor regulier als uitgebreid, en alleen voor primair.
    Alle niet-uitgebreide logische partities zijn verschoven vanaf het begin van de uitgebreide partitie waarin ze worden beschreven.
    Alle uitgebreide logische partities zijn verschoven vanaf het begin van de uitgebreide primaire.

    Het opstartproces van het besturingssysteem is als volgt:
    Wanneer de computer wordt aangezet, krijgt het BIOS de controle over de processor, het wordt geladen (opstarten) vanaf de harde schijf, de eerste sector van de schijf (MBR) wordt in het RAM van de computer geladen en de besturing wordt erop overgedragen).

    De MBR kan worden geschreven als een "standaard" bootloader,

    en bootloaders zoals LILO / GRUB.

    De standaard bootloader vindt de eerste partitie met de opstartbare vlag in de primaire partitietabel, leest de eerste sector (bootsector) en draagt ​​de controle over aan de code die in deze bootsector is geschreven. Als er in plaats van de standaard MBR-bootloader een andere is, kijkt deze niet naar de opstartbare vlag, hij kan opstarten vanaf elke partitie (opgegeven in de instellingen).

    Om bijvoorbeeld het besturingssysteem Windows NT / 2k / XP / 2003 op te starten, wordt een code geschreven in de opstartsector die de hoofdlader (ntloader) van de huidige partitie in het geheugen laadt.
    Elk FAT16 / FAT32 / NTFS-bestandssysteem gebruikt zijn eigen bootloader. Het ntldr-bestand moet aanwezig zijn in de hoofdmap van de sectie. Als u het bericht "NTLDR ontbreekt" ziet wanneer u probeert Windows op te starten, dan is dit het geval wanneer het ntldr-bestand ontbreekt. Ook kunnen voor de normale werking van ntldr de bestanden bootfont.bin, ntbootdd.sys, ntdetect.com en een correct geschreven boot.ini nodig zijn.

    Boot.ini voorbeeld

    C: \ boot.ini

    time-out = 8
    standaard = C: \ gentoo.bin

    C: \ gentoo.bin = "Gentoo Linux"
    multi (0) schijf (0) rdisk (0) partitie (1) \ WINDOWS = "Windows XP (32-bit)" / fastdetect / NoExecute = OptIn
    multi (0) schijf (0) rdisk (0) partitie (3) \ WINDOWS = "Windows XP (64-bit)" / fastdetect / usepmtimer

    Voorbeeld configuratiebestand grub.conf

    # grub.conf gegenereerd door anaconda
    #
    #Merk op dat je grub niet opnieuw hoeft uit te voeren nadat je wijzigingen in dit bestand hebt aangebracht
    #
    #OPMERKING: Je hebt een / boot-partitie. Dit betekent dat
    #all kernel- en initrd-paden zijn relatief aan / boot /, bijv.
    #root (hdO.O)
    #kernel / vmlinuz-versie ro root = / dev / sda2
    #initrd /initrd-versie.img
    # boot = / dev / sda standaard = 0 time-out = 5
    splashimage = (hdO, 0) /grub/splash.xpm.gz
    verborgenmenu
    titel Red Hat Enterprise Linux-server (2.6.18-53.el 5)
    wortel (hdO.O)
    kernel /vmlinuz-2.6.18-53.el5 ro root = LABEL = / rhgb stil-
    initrd /initrd-2.6.18-53.el5.img

    Lilo.conf bestandsstructuur

    # LILO configuratiebestand gegenereerd door "liloconfig"
    // Sectie die globale parameters beschrijft
    # Start de globale sectie van LILO
    // Waar naar Lilo wordt geschreven. In dit geval is het MBR
    boot = / dev / hda
    // Het bericht dat wordt weergegeven tijdens het laden
    message = /boot/boot_message.txt
    // Geef de prompt weer
    snel
    // Time-out om het besturingssysteem te kiezen
    time-out = 1200
    # Overschrijf gevaarlijke standaardinstellingen die de partitietabel herschrijven:
    wijzigingsregels
    resetten
    # VESA framebuffer console @ 800x600x256
    // Selecteer de videomodus voor het weergeven van het menu
    vga = 771
    # Einde LILO globale sectie
    // Sectie die de opstartparameters van Windows beschrijft
    # Configuratie van DOS opstartbare partitie begint
    andere = / dev / hda1
    label = Windows98
    tabel = / dev / hda
    # Configuratie van DOS opstartbare partitie eindigt
    // Sectie die QNX-opstartparameters beschrijft
    # QNX opstartbare partitieconfiguratie begint
    // Pad naar het besturingssysteem
    andere = / dev / hda2
    label = QNX
    tabel = / dev / hda
    # QNX opstartbare partitieconfiguratie eindigt
    // Sectie die Linux-opstartparameters beschrijft
    # Configuratie van opstartbare Linux-partitie begint
    // Pad naar de kernelafbeelding
    image = / boot / vmlinuz
    root = / dev / hda4
    label = Slackware
    alleen lezen
    # Configuratie van opstartbare Linux-partitie eindigt


    2. De meest bekende bestandssystemen.

    • Geavanceerd schijfbestandssysteem
    • AdvFS
    • Be File System
    • CSI - DOS
    • Bestandssysteem versleutelen
    • Uitgebreid bestandssysteem
    • Tweede uitgebreid bestandssysteem
    • Derde uitgebreid bestandssysteem
    • Vierde uitgebreid bestandssysteem
    • Bestandstoewijzingstabel (FAT)
    • Bestanden - 11
    • Hiërarchisch bestandssysteem
    • HFS Plus
    • Hoogwaardig bestandssysteem (HPFS)
    • ISO 9660
    • Gejournaliseerd bestandssysteem
    • Macintosh-bestandssysteem
    • MINIX-bestandssysteem
    • Microdos
    • Volgende3
    • Nieuwe implementatie van een log-gestructureerde F (NILFS)
    • Novell-opslagservices
    • Nieuw technologiebestandssysteem (NTFS)
    • Protogon
    • ReiserFS
    • Slim bestandssysteem
    • Squashfs
    • Unix-bestandssysteem
    • Universeel schijfformaat (UDF)
    • Veritas-bestandssysteem
    • Toekomstige Windows-opslag (WinFS)
    • Overal schrijven bestandsindeling
    • Zettabyte-bestandssysteem (ZFS)

    3. De belangrijkste kenmerken van bestandssystemen.

    Het besturingssysteem biedt toepassingen een reeks functies en structuren voor het werken met bestanden. De mogelijkheden van het besturingssysteem leggen extra beperkingen op aan de beperkingen van het bestandssysteem, de belangrijkste beperkingen zijn onder meer:

    De maximale (minimale) volumegrootte;
    - Maximaal (minimaal) aantal bestanden in de rootdirectory;
    - Het maximum aantal bestanden in een niet-rootmap;
    - Beveiliging op bestandsniveau;
    - Ondersteuning voor lange bestandsnamen;
    - Zelfgenezing;
    - Compressie op bestandsniveau;
    - Het bijhouden van transactielogboeken;

    4. Een korte beschrijving van de meest voorkomende bestandssystemen FAT, NTFS, EXT.

    FAT-bestandssysteem.

    FAT staat voor bestandstoewijzingstabel.
    In het FAT-bestandssysteem is de logische schijfruimte van elke logische schijf in twee gebieden verdeeld:
    - systeemgebied;
    - gegevensgebied.
    Het systeemgebied wordt gemaakt bij het formatteren en bijgewerkt bij het manipuleren van de bestandsstructuur. Het gegevensgebied bevat bestanden en mappen die ondergeschikt zijn aan de root en is toegankelijk via de gebruikersinterface. Het systeemgebied bestaat uit de volgende componenten:
    - opstartrecord;
    - gereserveerde sectoren;
    - bestandstoewijzingstabellen (FAT);
    - de hoofdmap.
    De bestandstoewijzingstabel is een kaart (afbeelding) van het gegevensgebied, die de toestand van elke sectie van het gegevensgebied beschrijft. Het datagebied is opgedeeld in clusters. Een cluster is een of meer aaneengesloten sectoren in een logische schijfadresruimte (alleen gegevensgebied). In de FAT-tabel zijn clusters die tot hetzelfde bestand behoren (niet-rootdirectory) aan elkaar geketend. Het FAT16-bestandsbeheersysteem gebruikt een 16-bits woord om het clusternummer op te geven, zodat u maximaal 65536 clusters kunt hebben.
    Een cluster is de kleinste adresseerbare schijfruimte die is toegewezen aan een bestand of een niet-hoofdmap. Het bestand of de map neemt een geheel aantal clusters in beslag. In dit geval wordt het laatste cluster mogelijk niet volledig betrokken, wat zal leiden tot een merkbaar verlies van schijfruimte bij een grote clustergrootte.
    Omdat FAT zeer intensief wordt gebruikt bij het benaderen van de schijf, wordt het in het RAM geladen en blijft het daar zo lang mogelijk.
    De hoofdmap verschilt van een gewone map doordat deze zich op een vaste locatie op een logische schijf bevindt en een vast aantal elementen heeft. Voor elk bestand en elke map slaat het bestandssysteem informatie op volgens de volgende structuur:
    - bestands- of mapnaam - 11 bytes;
    - bestandskenmerken - 1 byte;
    - reserveveld - 1 byte;
    - aanmaaktijd - 3 bytes;
    - aanmaakdatum - 2 bytes;
    - datum van laatste toegang - 2 bytes;
    - Gereserveerd - 2 bytes;
    - tijd van de laatste wijziging - 2 bytes;
    - nummer van de initiële cluster in FAT - 2 bytes;
    - bestandsgrootte - 4 bytes.
    De structuur van het bestandssysteem is hiërarchisch.

    Het bestandssysteem is FAT32.
    FAT32 is een volledig onafhankelijk 32-bits bestandssysteem en bevat tal van verbeteringen en toevoegingen ten opzichte van FAT16. Het fundamentele verschil tussen FAT32 is een efficiënter gebruik van schijfruimte: FAT32 gebruikt kleinere clusters, wat leidt tot besparingen op schijfruimte.
    FAT32 kan de hoofdmap verplaatsen en een FAT-back-up gebruiken in plaats van de standaard. Met FAT32 Extended Boot Record kunt u kopieën maken van kritieke datastructuren, wat de veerkracht van schijven tegen FAT-structuurschendingen vergroot in vergelijking met eerdere versies. De hoofdmap is een regelmatige keten van clusters, zodat deze zich op elke plaats op de schijf kan bevinden, waardoor de beperking op de grootte van de hoofdmap wordt opgeheven.


    Bestandssysteem NTFS.
    Het NTFS-bestandssysteem (New Technology File System) bevat een aantal belangrijke verbeteringen en wijzigingen die het aanzienlijk onderscheiden van andere bestandssystemen. Vanuit het oogpunt van de gebruiker worden bestanden nog steeds in mappen opgeslagen, maar werken op grote schijven in NTFS is veel efficiënter:
    - er zijn tools om de toegang tot bestanden en directories te beperken;
    - mechanismen geïntroduceerd die de betrouwbaarheid van het bestandssysteem aanzienlijk verhogen;
    - veel beperkingen op het maximale aantal schijfsectoren en/of clusters verwijderd.

    De belangrijkste kenmerken van het NTFS-bestandssysteem:
    - betrouwbaarheid. Krachtige computers en gedeelde systemen moeten een grotere betrouwbaarheid hebben, hiervoor is een transactiemechanisme geïntroduceerd waarin bestandsbewerkingen worden gelogd;
    - uitgebreide functionaliteit. NTFS introduceert nieuwe functies: verbeterde fouttolerantie, emulatie van andere bestandssystemen, krachtig beveiligingsmodel, parallelle verwerking van gegevensstromen, creatie van door de gebruiker gedefinieerde bestandskenmerken;
    - POSIX standaard ondersteuning. Basisfuncties zijn onder meer het optionele gebruik van hoofdlettergevoelige bestandsnamen, opslag van de laatste keer dat een bestand is geopend en een aliasmechanisme waarmee meerdere namen naar hetzelfde bestand kunnen verwijzen;
    - flexibiliteit. De toewijzing van schijfruimte is zeer flexibel: de clustergrootte kan variëren van 512 bytes tot 64 KB.
    NTFS werkt goed met grote hoeveelheden gegevens en grote volumes. De maximale volume- (en bestandsgrootte) is 16 EB. (1 EB is gelijk aan 2 ** 64 of 16000 miljard gigabyte.) Het aantal bestanden in de root- en niet-rootdirectory is onbeperkt. Aangezien de NTFS-directorystructuur is gebaseerd op een efficiënte gegevensstructuur die een "binaire boom" wordt genoemd, is de zoektijd voor bestanden in NTFS niet lineair gerelateerd aan hun aantal.
    NTFS heeft een aantal zelfherstellende functies en ondersteunt verschillende mechanismen voor het controleren van de systeemintegriteit, waaronder transactieregistratie, waarmee u de schrijfbewerkingen van bestanden kunt volgen aan de hand van het systeemlogboek.
    Het NTFS-bestandssysteem ondersteunt het beveiligingsobjectmodel en behandelt alle volumes, mappen en bestanden als onafhankelijke NTFS-objecten. Toegangsrechten tot volumes, mappen en bestanden zijn afhankelijk van het gebruikersaccount en de groep waartoe het behoort.
    Het NTFS-bestandssysteem heeft ingebouwde compressie die kan worden toegepast op volumes, mappen en bestanden.

    Bestandssysteem Ext3.
    Het ext3-bestandssysteem kan bestanden tot 1 TB groot ondersteunen. Met Linux-kernel 2.4 wordt het bestandssysteem beperkt door de maximale blokgrootte van het apparaat, die 2 terabyte is. Linux 2.6 (voor 32-bits processors) heeft een maximale blokgrootte van 16TB, maar ext3 ondersteunt slechts tot 4TB.
    Ext3 heeft een goede NFS-compatibiliteit en heeft geen prestatieproblemen als er een gebrek aan vrije schijfruimte is.Een ander voordeel van ext3 is het feit dat het gebaseerd is op ext2-code. De ext2- en ext3-schijfformaten zijn identiek; hieruit volgt dat het ext3-bestandssysteem indien nodig zonder problemen als ext2 kan worden gemount. En dat is niet alles. Omdat ext2 en ext3 identieke metadata gebruiken, is het mogelijk om ext2 hot te upgraden naar ext3.
    Ext3-betrouwbaarheid
    Naast ext2-compatibel, erft ext3 andere voordelen van het algemene metadataformaat. Ext3-gebruikers hebben al jaren een bewezen fsck-tool tot hun beschikking. De belangrijkste reden om over te stappen op het journaling-bestandssysteem is natuurlijk het elimineren van de noodzaak van periodieke en langdurige controles op de consistentie van metadata op schijf. "Journaling" biedt echter geen bescherming tegen kernelcrashes of beschadiging van het schijfoppervlak (of iets dergelijks). In geval van nood zult u het op prijs stellen dat ext3 is geërfd van ext2 met zijn fsck.
    Ext3-journaal.
    Nu u een algemeen begrip van het probleem heeft, gaan we eens kijken hoe ext3 omgaat met journaling. De journaalcode voor ext3 gebruikt een speciale API die de Journaling Block Device-laag of JBD wordt genoemd. JBD is ontworpen om op elk blokapparaat te worden ingelogd. Ext3 is gekoppeld aan de JBD API. De ext3-bestandssysteemcode vertelt JBD om een ​​wijziging aan te brengen en vraagt ​​JBD om toestemming om het te doen. Het logboek wordt beheerd door JBD namens het ext3-bestandssysteemstuurprogramma. Deze conventie is erg handig omdat JBD evolueert als een apart, generiek object en in de toekomst kan worden gebruikt voor journaling naar andere bestandssystemen.
    Ext3-gegevensbescherming
    Nu kunnen we praten over hoe het ext3-bestandssysteem journaling biedt voor zowel data als metadata. Er zijn eigenlijk twee methoden om consistentie in ext3 te garanderen.
    Ext3 is oorspronkelijk ontworpen voor het bijhouden van volledige gegevens en metagegevens. In deze modus (de zogenaamde "data = journaal"-modus), registreert de JBD alle wijzigingen aan het bestandssysteem met betrekking tot zowel gegevens als metagegevens. Daarbij kan JBD het logboek gebruiken om metadata en data terug te draaien en te herstellen. Het nadeel van "volledige" journaling is de vrij lage prestatie en het verbruik van een grote hoeveelheid schijfruimte voor het journaal.
    Onlangs is een nieuwe journaling-modus toegevoegd voor ext3, die hoge prestaties combineert met de garantie van een consistente bestandssysteemstructuur na een crash (zoals "normale" journaling-bestandssystemen). De nieuwe werkwijze bedient alleen metadata. Het stuurprogramma van het ext3-bestandssysteem houdt echter nog steeds de verwerking van hele stukken gegevens bij (als ze het wijzigen van metagegevens inhouden) en groepeert ze in een afzonderlijk object dat een transactie wordt genoemd. De transactie wordt pas voltooid nadat alle gegevens naar de schijf zijn geschreven. Een "neveneffect" van deze "grove" techniek (de modus "data = geordend") is dat ext3 een grotere kans op gegevensretentie biedt (vergeleken met "geavanceerde" bestandssystemen voor journaling), terwijl de consistentie van metagegevens wordt gegarandeerd. In dit geval worden alleen wijzigingen in de structuur van het bestandssysteem geregistreerd. Ext3 gebruikt deze modus standaard.
    Ext3 heeft veel voordelen. Het is ontworpen voor eenvoudige implementatie. Het is gebaseerd op jarenlange bewezen ext2-code en heeft de prachtige fsck-tool geërfd. Ext3 is in de eerste plaats bedoeld voor toepassingen die geen ingebouwde mogelijkheden voor gegevensintegriteitsborging hebben. Over het algemeen is ext3 een geweldig bestandssysteem en een waardige opvolger van ext 2. Een ander kenmerk dat ext3 onderscheidt van andere journaled bestandssystemen onder Linux is de hoge betrouwbaarheid.

    Het ext4-bestandssysteem is een waardige evolutionaire voortzetting van het ext-bestandssysteem.