Failisüsteem - mis see on? Failisüsteem NTFS, FAT, RAW, UDF. Failisüsteem. Failisüsteemi põhifunktsioonid

Materjal retsensoorseks loenguks nr 33

eriala üliõpilastele

"Infotehnoloogia tarkvara"

IKT osakonna dotsent, Ph.D. Livak E.N.

FAILIDE HALDUSSÜSTEEMID

Põhimõisted, faktid

Kohtumine. Failisüsteemide omadusedrasv,VFAT,FAT32,hpfs,NTFS. Failisüsteemid OS UNIX (s5, ufs), OS Linux Ext2FS. Ketta süsteemialad (sektsioon, maht). Failide paigutamise ja failide asukohta käsitleva teabe säilitamise põhimõtted. Kataloogide korraldus. Failidele ja kataloogidele juurdepääsu piiramine.

Oskused

Kasutades teadmisi failisüsteemi struktuuri kohta arvutiteabe (failide ja kataloogide) kaitsmiseks ja taastamiseks. Failidele juurdepääsu kontrolli korraldamine.

failisüsteemid. Failisüsteemi struktuur

Andmed salvestatakse kettale failidena. Fail on ketta nimega osa.

Failihaldussüsteemid on loodud failide haldamiseks.

Võimaluse käsitleda failidesse salvestatud andmeid loogilisel tasemel annab failisüsteem. See on failisüsteem, mis määrab, kuidas andmed salvestusmeediumil korraldatakse.

Seega failisüsteem on spetsifikatsioonide ja nendega seotud tarkvara kogum, mis vastutab failiteabe loomise, hävitamise, korrastamise, lugemise, kirjutamise, muutmise ja teisaldamise eest, samuti failidele juurdepääsu kontrollimise ja failide kasutatavate ressursside haldamise eest.

Failihaldussüsteem on enamiku kaasaegsete operatsioonisüsteemide peamine alamsüsteem.

Failihaldussüsteemi kasutamine

· kõik süsteemi töötlemisprogrammid on ühendatud vastavalt andmetele;

· lahendatud on kettaruumi tsentraliseeritud jaotamise ja andmehalduse probleemid;

· kasutajale on tagatud võimalus teha failidega toiminguid (loomine jne), vahetada andmeid failide ja erinevate seadmete vahel, kaitsta faile volitamata juurdepääsu eest.

Mõnel operatsioonisüsteemil võib olla mitu failihaldussüsteemi, mis võimaldab neil töötada mitme failisüsteemiga.

Proovime teha vahet failisüsteemil ja failihaldussüsteemil.

Mõiste "failisüsteem" määratleb failidesse organiseeritud andmetele juurdepääsu põhimõtted.

Tähtaeg "failihaldussüsteem" viitab failisüsteemi konkreetsele teostusele, st. see on tarkvaramoodulite komplekt, mis pakub tööd konkreetse OS-i failidega.

Nii et mõne failisüsteemi järgi korraldatud failidega töötamiseks tuleb iga OS-i jaoks välja töötada sobiv failihaldussüsteem. See UV-süsteem töötab ainult OS-is, mille jaoks see loodi.

Windowsi OS-i perekonna jaoks kasutatakse peamiselt failisüsteeme: VFAT, FAT 32, NTFS.

Mõelge nende failisüsteemide struktuurile.

Failisüsteemis RASV Iga loogilise draivi kettaruum on jagatud kaheks piirkonnaks:

süsteemi ala ja

andmeala.

Süsteemi ala luuakse ja lähtestatakse vormindamisel ning seejärel värskendatakse failistruktuuriga manipuleerimisel.

Süsteemiala koosneb järgmistest komponentidest:

Alglaadimiskirjet (boot record) sisaldav alglaadimissektor;

Reserveeritud sektorid (need ei pruugi olla);

failijaotuse tabelid (FAT, failide eraldamise tabel);

Juurkataloog (ROOT).

Need komponendid asuvad kettal üksteise järel.

Andmeala sisaldab juurtele alluvaid faile ja katalooge.

Andmeala on jagatud nn klastriteks. Klaster on andmeala üks või mitu külgnevat sektorit. Teisest küljest on klaster failile eraldatud kettaruumi väikseim adresseeritav ühik. Need. fail või kataloog hõlmab täisarvu klastreid. Uue faili loomiseks ja kettale kirjutamiseks eraldab operatsioonisüsteem selle jaoks mitu tasuta kettaklastrit. Need klastrid ei pea üksteisele järgnema. Iga faili jaoks salvestatakse loend kõigist sellele failile antud klastrinumbritest.

Andmeala jagamine klastriteks sektorite kasutamise asemel võimaldab teil:

· vähendada FAT tabeli suurust;

Vähendage failide killustatust

Vähendab failiahelate pikkust Þ kiirendada juurdepääsu failidele.

Liiga suur klastri suurus toob aga kaasa andmeala ebaefektiivse kasutamise, eriti suure hulga väikeste failide puhul (kaob ju iga faili kohta keskmiselt pool klastrit).

Kaasaegsetes failisüsteemides (FAT 32, HPFS , NTFS ) lahendatakse see probleem klastri suuruse piiramisega (maksimaalselt 4 KB)

Andmeala kaart on T failide eraldamise tabel (File Allocation Table - FAT) FAT tabeli iga element (12, 16 või 32 bitti) vastab ühele kettaklastrile ja iseloomustab selle olekut: vaba, hõivatud või on halb klaster.

· Kui klaster on eraldatud suvalisele failile (st hõivatud), siis sisaldab vastav FAT element järgmise failiklastri numbrit;

· faili viimane klaster on tähistatud numbriga vahemikus FF8h - FFFh (FFF8h - FFFFh);

· kui klaster on vaba, sisaldab see nullväärtust 000h (0000h);

· Kasutamiskõlbmatu (ebaõnnestunud) klaster on tähistatud numbriga FF7h (FFF7h).

Seega on FAT-tabelis samasse faili kuuluvad klastrid ahelates lingitud.

Failide eraldamise tabel salvestatakse kohe pärast loogilise ketta alglaadimiskirjet, selle täpset asukohta kirjeldatakse alglaadimissektori spetsiaalsel väljal.

Seda säilitatakse kahes identses koopias, mis järgnevad üksteisele. Kui tabeli esimene eksemplar hävitatakse, kasutatakse teist.

Kuna FAT-i kasutatakse kettale juurdepääsul väga palju, laaditakse see tavaliselt RAM-i (I / O puhvrisse või vahemällu) ja jääb sinna nii kauaks kui võimalik.

FAT-i peamiseks puuduseks on aeglane failitöötlus. Faili loomisel reegel toimib – valitakse esimene vaba klaster. See põhjustab ketta killustumist ja keerulisi failikette. Sellest tuleneb failidega töötamise aeglustumine.

FAT-tabeli vaatamiseks ja muutmiseks võite kasutada kasulikkustkettaleToimetaja.

Üksikasjalik teave faili enda kohta salvestatakse teises struktuuris, mida nimetatakse juurkataloogiks. Igal loogilisel kettal on oma juurkataloog (ROOT, inglise keeles - root).

Juurkataloog kirjeldab faile ja muid katalooge. Kataloogi element on faili deskriptor (deskriptor).

Iga faili ja kataloogi deskriptor sisaldab seda

· Nimi

· pikendamine

loomise või viimase muutmise kuupäev

loomise või viimase muutmise aeg

atribuudid (arhiiv, kataloogi atribuut, köiteatribuut, süsteem, peidetud, kirjutuskaitstud)

faili pikkus (kataloogi jaoks - 0)

reserveeritud väli, mida ei kasutata

· failile või kataloogile määratud klastrite ahela esimese klastri number; Pärast selle numbri saamist saab operatsioonisüsteem FAT-tabelile viidates teada ka kõik muud failiklastrite arvud.

Seega käivitab kasutaja faili täitmiseks. Operatsioonisüsteem otsib soovitud nimega faili, vaadates failikirjeldusi praeguses kataloogis. Kui vajalik element leitakse praegusest kataloogist, loeb operatsioonisüsteem selle faili esimese klastri numbri ja seejärel määrab FAT-tabelist ülejäänud klastri numbrid. Nende klastrite andmed loetakse RAM-i, mis ühendatakse üheks pidevaks jaotiseks. Operatsioonisüsteem annab juhtimise üle failile ja programm hakkab tööle.

JUURkataloogi vaatamiseks ja redigeerimiseks võite kasutada ka kasulikkustkettaleToimetaja.

Failisüsteem VFAT

VFAT (virtuaalne FAT) failisüsteem ilmus esmakordselt operatsioonisüsteemis Windows for Workgroups 3.11 ja see oli mõeldud kaitstud režiimis failide sisend-/väljundi jaoks.

Seda failisüsteemi kasutatakse operatsioonisüsteemis Windows 95.

Seda toetab ka Windows NT 4.

VFAT on Windows 95 "natiivne" 32-bitine failisüsteem. Seda juhib VFAT .VXD draiver.

VFAT kasutab kõigi failitoimingute jaoks 32-bitist koodi ja saab kasutada 32-bitise kaitstud režiimi draivereid.

AGA failijaotuse tabeli kirjed jäävad 12- või 16-bitiseks, seega kasutatakse kettal sama andmestruktuuri (FAT). Need. f tabeli formaatVFAT on sama, täpselt nagu FAT-vormingus.

VFAT koos "8.3" nimedega toetab pikki failinimesid. (Tihti öeldakse, et VFAT on pikkade nimede toega FAT).

VFAT-i peamiseks puuduseks on suured kaod klasterdamisel suurte loogilise ketta suurustega ja piirangud loogilise ketta enda suurusele.

Failisüsteem RASV 32

See on FAT-tabeli kasutamise idee uus teostus.

FAT 32 on täiesti sõltumatu 32-bitine failisüsteem.

Esmakordselt kasutati operatsioonisüsteemis Windows OSR 2 (OEM Service Release 2).

FAT 32 kasutatakse praegu opsüsteemides Windows 98 ja Windows ME.

See sisaldab arvukalt täiustusi ja täiendusi võrreldes varasemate FAT-rakendustega.

1. Palju tõhusam kettaruumi kasutamine tänu sellele, et kasutab väiksemaid klastreid (4 KB) – hinnanguliselt säästab kuni 15%.

2. Omab laiendatud alglaadimiskirjet, mis võimaldab luua kriitiliste andmestruktuuride koopiaid Þ suurendab ketta vastupidavust ketta struktuuride rikkumistele

3. Saab kasutada FAT-varukoopiat tavalise asemel.

4. Saab liigutada juurkataloogi ehk teisisõnu juurkataloog võib olla suvalises kohas Þ eemaldab juurkataloogi suuruse piirangu (512 elementi, kuna ROOT pidi hõivama ühe klastri).

5. Täiustatud juurkataloogi struktuur

Ilmusid täiendavad väljad, näiteks loomise aeg, loomise kuupäev, viimane juurdepääsu kuupäev, kontrollsumma

Pika failinime jaoks on ikka veel mitu deskriptorit.

Failisüsteem HPFS

HPFS (High Performance File System) on suure jõudlusega failisüsteem.

HPFS ilmus esmakordselt operatsioonisüsteemis OS/2 1.2 ja LAN Manageris.

Loetleme HPFS-i peamised omadused.

· Peamine erinevus seisneb failide kettale paigutamise põhiprintsiipides ja failide asukoha kohta teabe salvestamise põhimõttes. Tänu nendele põhimõtetele on HPFS-il suure jõudlusega ja tõrketaluvusega, on usaldusväärne failisüsteem.

HPFS-is ei eraldata kettaruumi mitte klastrite kaupa (nagu FAT-is), vaid plokid. Kaasaegses teostuses võetakse ploki suurus võrdseks ühe sektoriga, kuid põhimõtteliselt võib see olla ka erineva suurusega. (Tegelikult on plokk klaster, ainult klaster on alati võrdne ühe sektoriga). Failide paigutamine sellistesse väikestesse plokkidesse võimaldab kettaruumi tõhusamalt kasutama, kuna vaba ruumi üldkulud on keskmiselt ainult (pool sektorit) 256 baiti faili kohta. Tuletage meelde, et mida suurem on klastri suurus, seda rohkem kettaruumi raisatakse.

HPFS-süsteem püüab faili järjestada külgnevateks plokkideks või kui see pole võimalik, siis paigutada selle kettale nii, et ulatused faili (fragmendid) olid füüsiliselt üksteisele võimalikult lähedal. See lähenemine on hädavajalik vähendab kirjutus-/lugemispeade positsioneerimisaega kõvaketas ja latentsusaeg (viivitus lugemis-/kirjutuspea õigel rajal asendi vahel). Tuletage meelde, et FAT-failis eraldatakse esimene tasuta klaster lihtsalt.

Ulatused(ulatus) - külgnevates kettasektorites asuvad failifragmendid. Failil on vähemalt üks ulatus, kui see pole killustatud, ja rohkem kui üks ulatus muul juhul.

Kasutatud meetod tasakaalustatud binaarpuud failide asukoha teabe salvestamiseks ja otsimiseks (kataloogid on salvestatud ketta keskele, lisaks on tagatud kataloogide automaatne sorteerimine), mis on hädavajalik parandab jõudlust HPFS (versus FAT).

HPFS pakub spetsiaalseid laiendatud failiatribuute, mis võimaldavad hallata juurdepääsu failidele ja kataloogidele.

Laiendatud atribuudid (laiendatud atribuudid, EA-d ) võimaldab salvestada faili kohta lisateavet. Näiteks saab iga faili seostada selle unikaalse graafilise kujutise (ikooniga), failikirjelduse, kommentaari, failiomaniku teabega jne.

C HPFS-i partitsioonistruktuur


Installitud HPFS-iga partitsiooni alguses on neid kolm juhtplokk:

alglaadimisplokk (boot block),

lisaplokk (superplokk) ja

Varu (varu)plokk (varuplokk).

Need hõivavad 18 sektorit.

Kogu muu HPFS-i kettaruum on jagatud külgnevate sektorite osadeks - triibud(bänd - riba, lint). Iga riba hõivab kettal 8 MB.

Igal sõidurajal on oma sektori jaotamise bitmap.Bitmap näitab, millised antud riba sektorid on hõivatud ja millised vabad. Andmeriba iga sektor vastab bitmapi ühele bitile. Kui bitt = 1, siis sektor on hõivatud, kui 0 - vaba.

Kahe riba bitmaps asuvad kettal kõrvuti, nagu ka ribad ise. See tähendab, et triipude ja kaartide järjestus näeb välja nagu joonisel fig.

VõrdleRASV. Kogu ketta jaoks on ainult üks bitmap (FAT-tabel). Ja sellega töötamiseks peate lugemis-/kirjutuspäid liigutama keskmiselt läbi poole ketta.

Kõvaketta lugemis-/kirjutuspeade positsioneerimisaja vähendamiseks jagatakse HPFS-ketas triipudeks.

Kaaluge juhtplokid.

Alglaadimisplokk (saabasblokk)

Sisaldab köite nime, selle seerianumbrit, BIOS-i sätete plokki ja alglaadimisprogrammi.

Bootstrap leiab faili OS 2 LDR , loeb selle mällu ja annab juhtimise üle sellele OS-i alglaadimisprogrammile, mis omakorda laadib OS/2 tuuma kettalt mällu - OS 2 KRNL. Ja juba OS 2 KRIML failist pärineva teabe kasutamine CONFIG. SYS laeb mällu kõik muud vajalikud programmimoodulid ja andmeplokid.

Alglaadimisplokk asub sektorites 0 kuni 15.

SuperBlokeeri(super plokk)

Sisaldab

Osuti bitikaartide loendile ( bitmap block list ). Selles loendis on loetletud kõik kettal olevad plokid, mis sisaldavad vabade sektorite tuvastamiseks kasutatavaid bitikaarte;

kursor halbade plokkide loendile (bad block list). Kui süsteem tuvastab kahjustatud ploki, lisatakse see sellesse loendisse ja seda ei kasutata enam teabe salvestamiseks;

kursor kataloogide rühmale (kataloogiriba),

kursor juurkataloogi failisõlmele (F -sõlm ),

· CHKDSK programmi poolt partitsiooni viimase kontrollimise kuupäev;

teave riba suuruse kohta (praeguses HPFS-i rakenduses - 8 MB).

Superplokk asetatakse 16. sektorisse.

Varublokk(varuplokk)

Sisaldab

kursor hädaolukorra asenduskaardile (hotfix map või hotfix -areas );

· osuti vabade varuplokkide loendile (kataloogi hädaolukordade vabade blokkide loend);

mitmeid süsteemilippe ja deskriptoreid.

See plokk asub ketta sektoris 17.

Varuplokk tagab HPFS-failisüsteemi kõrge tõrketaluvuse ja võimaldab taastada kettal kahjustatud andmeid.

Faili paigutamise põhimõte

Ulatused(ulatus) - külgnevates kettasektorites asuvad failifragmendid. Failil on vähemalt üks ulatus, kui see pole killustatud, ja rohkem kui üks ulatus muul juhul.

Kõvaketta lugemis-/kirjutuspeade positsioneerimisaja vähendamiseks otsib HPFS-süsteem

1) paigutada fail kõrvuti asuvatesse plokkidesse;

2) kui see pole võimalik, siis asetage killustatud faili mahud üksteisele võimalikult lähedale,

Selleks kasutab HPFS statistikat ja üritab ka kasvavate failide lõppu tinglikult reserveerida vähemalt 4 kilobaiti ruumi.

Failide asukoha kohta teabe salvestamise põhimõtted

Igal kettal oleval failil ja kataloogil on oma F-sõlme failisõlm. See on struktuur, mis sisaldab teavet faili asukoha ja selle laiendatud atribuutide kohta.

Iga F-sõlm hõivab üks sektor ja asub alati selle faili või kataloogi lähedal (tavaliselt vahetult enne faili või kataloogi). F-sõlm sisaldab

pikkus,

failinime esimesed 15 tähemärki,

Spetsiaalne teenindusteave

Failidele juurdepääsu statistika

Laiendatud failiatribuudid

juurdepääsuõiguste loetelu (või ainult osa sellest, kui see on väga suur); kui laiendatud atribuudid on failisõlme jaoks liiga suured, kirjutatakse sellele kursor neile.

assotsiatiivne teave faili asukoha ja alluvuse kohta jne.

Kui fail on pidev, kirjeldatakse selle asukohta kettal kahe 32-bitise numbriga. Esimene number on kursor faili esimesele plokile ja teine ​​on ulatuse pikkus (faili kuuluvate järjestikuste plokkide arv).

Kui fail on killustatud, kirjeldatakse selle ulatuste asukohta failisõlmes täiendavate 32-bitiste numbrite paaridega.

Failisõlm võib sisaldada teavet faili kuni kaheksa ulatuse kohta. Kui failil on rohkem ulatusi, siis kirjutatakse selle failisõlme jaotusploki osuti, mis võib sisaldada kuni 40 osutit ulatuste või analoogselt kataloogipuu plokiga teistele jaotusplokkidele.

Kataloogide struktuur ja paigutus

Kasutatakse kataloogide salvestamiseks. triip ketta keskel.

Seda riba nimetatakse kataloogbänd.

Kui see on täis, hakkab HPFS paigutama failikatalooge teistele radadele.

Selle infostruktuuri asukoht ketta keskel vähendab oluliselt lugemis-/kirjutuspeade keskmist positsioneerimisaega.

Siiski annab oluliselt suurem panus HPFS-i jõudlusesse (võrreldes kataloogiriba paigutamisega loogilise ketta keskele) kasutamisest. meetod tasakaalustatud binaarpuud failide asukoha teabe salvestamiseks ja hankimiseks.

Tuletage see meelde failisüsteemis RASV kataloog on lineaarse struktuuriga, mitte spetsiaalselt tellitud, nii et faili otsimisel tuleb see algusest peale järjestikku läbi vaadata.

HPFS-is on kataloogistruktuur tasakaalustatud puu, mille kirjed on tähestikulises järjekorras.

Iga puu sissekanne sisaldab

faili atribuudid,

kursor vastavale failisõlmele,

teave faili loomise kellaaja ja kuupäeva, viimase värskenduse ja juurdepääsu kellaaja ja kuupäeva kohta,

laiendatud atribuute sisaldavate andmete pikkus,

faili juurdepääsu loendur

Faili nime pikkus

nimi ise

ja muud teavet.

Faili otsimisel kataloogist vaatab HPFS failisüsteem ainult binaarpuu vajalikke harusid. See meetod on kordades tõhusam kui kataloogi kõigi kirjete järjestikune lugemine, mis on nii FAT-süsteemis.

Iga ploki suurus, mille alusel kataloogid HPFS-i praeguses juurutuses eraldatakse, on 2 KB. Faili kirjeldava kirje suurus sõltub failinime suurusest. Kui nimi on 13 baiti (8.3-vormingus), võib 2K-plokis olla kuni 40 failikirjeldust. Plokid on omavahel seotud loendi abil.

Probleemid

Failide ümbernimetamisel võib tekkida nn puu tasakaalustamine. Faili loomine, ümbernimetamine või kustutamine võib põhjustada kaskaadkataloogiplokid. Tegelikult võib ümbernimetamine ebaõnnestuda kettaruumi puudumise tõttu, isegi kui faili enda suurus pole kasvanud. Selle katastroofi vältimiseks säilitab HPFS väikest kogumit vabu plokke, mida saab katastroofi korral kasutada. See toiming võib nõuda täiendavate plokkide eraldamist täiskettale. Osuti sellele vabade plokkide kogumile on salvestatud SpareBlocki,

Kuidas failid ja kataloogid kettale paigutatakseHPFS:

· teave failide asukoha kohta on hajutatud kogu kettale, samas kui iga konkreetse faili kirjed paigutatakse (võimalusel) kõrvuti asuvatesse sektoritesse ja nende asukoha andmete lähedusse;

kataloogid paigutatakse kettaruumi keskele;

· kataloogid salvestatakse binaarse tasakaalustatud puuna, mille kirjed on järjestatud tähestikulises järjekorras.

Andmete salvestamise usaldusväärsus HPFS-is

Igal failisüsteemil peavad olema vahendid teabe kettale kirjutamisel tekkivate vigade parandamiseks. HPFS-süsteem kasutab hädaolukorra asendusmehhanism ( kiirparandus).

Kui HPFS-failisüsteemil tekib andmete kettale kirjutamisel probleem, kuvab see vastava tõrketeate. Seejärel salvestab HPFS teabe, mis oleks tulnud vigasesse sektorisse kirjutada, ühte selleks juhtumiks eelnevalt reserveeritud varusektoritest. Vabade varuplokkide loend salvestatakse HPFS-i varuplokki. Kui andmete kirjutamisel tavalisse plokki tuvastatakse viga, valib HPFS ühe vaba varuplokkidest ja salvestab andmed sellesse. Seejärel värskendatakse failisüsteemi hädaolukorra asenduskaart reservüksuses.

See kaart on lihtsalt topeltsõnade paarid, millest igaüks on 32-bitine sektorinumber.

Esimene number tähistab defektset sektorit ja teine ​​- sektorit saadaolevate varusektorite hulgast, mis valiti selle asendamiseks.

Pärast vigase sektori asendamist varuosaga kirjutatakse asenduskaart kettale ja ekraanile ilmub hüpikaken, mis teavitab kasutajat ketta kirjutamise veast. Iga kord, kui süsteem kirjutab või loeb kettasektorit, vaatab ta kuuma varukaarti ja asendab kõik vigased sektori numbrid varusektori numbritega vastavate andmetega.

Tuleb märkida, et see numbrite tõlkimine ei mõjuta oluliselt süsteemi jõudlust, kuna seda tehakse ainult kettale füüsilisel juurdepääsul, kuid mitte ketta vahemälust andmete lugemisel.

Failisüsteem NTFS

NTFS (New Technology File System) failisüsteem sisaldab mitmeid olulisi täiustusi ja muudatusi, mis eristavad seda oluliselt teistest failisüsteemidest.

Pange tähele, et harvade eranditega NTFS-i partitsioonidele pääseb juurde ainult otseWindowsNT, kuigi paljude operatsioonisüsteemide jaoks on olemas vastavad failihaldussüsteemide teostused failide lugemiseks NTFS-köidetest.

NTFS-iga töötamiseks väljaspool Windows NT-d pole aga veel täieõiguslikke rakendusi.

Laialdaselt kasutatavad Windows 98 ja Windows Millennium Edition operatsioonisüsteemid NTFS-i ei toeta.

PõhijoonedNTFS

suurtel ketastel töötamine on tõhus (palju tõhusam kui FAT-is);

Failidele ja kataloogidele juurdepääsu piiramiseks on olemas tööriistad Þ NTFS-i partitsioonid pakuvad kohalikku turvalisust nii failidele kui ka kataloogidele;

Kasutusele on võetud tehingumehhanism, milles metsaraie failitoimingud Þ töökindluse märkimisväärne suurenemine;

· paljud kettasektorite ja/või klastrite maksimaalse arvu piirangud on eemaldatud;

· NTFS-i failinimi võib erinevalt FAT- ja HPFS-failisüsteemidest sisaldada mis tahes märke, sealhulgas riiklike tähestike täielikku komplekti, kuna andmed esitatakse Unicode'is - 16-bitine esitus, mis annab 65535 erinevat tähemärki. Failinime maksimaalne pikkus NTFS-is on 255 tähemärki.

· NTFS-il on ka sisseehitatud tihendustööriistad, mida saate rakendada üksikutele failidele, tervetele kataloogidele ja isegi köidetele (ja need hiljem oma äranägemise järgi tühistada või määrata).

Köitestruktuur NTFS-failisüsteemiga

NTFS-i partitsiooni nimetatakse köiteks. Maksimaalsed võimalikud köite suurused (ja failisuurused) on 16 ebaiti (2 eksabaiti**64).

Nagu teisedki süsteemid, jagab NTFS köite kettaruumi klastriteks, andmeplokkideks, mida käsitletakse andmeühikutena. NTFS toetab klastri suurusi 512 baiti kuni 64 KB; standard on 2 või 4 KB suurune kobar.

Kogu NTFS-i kettaruum on jagatud kaheks ebavõrdseks osaks.


Esimesed 12% kettast on reserveeritud nn MFT-tsoonile - ruumile, mida põhiteenus saab hõivata ja mille suurus suureneb. metafail MFT.

Sellele alale pole võimalik andmeid kirjutada. MFT-tsoon hoitakse alati tühjana – seda tehakse selleks, et MFT-fail võimaluse korral kasvades ei killuks.

Ülejäänud 88% mahust on tavaline failisalvestusruum.

MFT (meisterfaililaud-üldine failitabel) on sisuliselt kõigi teiste kettal olevate failide kataloog, sealhulgas tema enda kataloog. See on loodud failide asukoha määramiseks.

MFT koosneb fikseeritud suurusega kirjetest. MFT-kirje suurus (minimaalselt 1 KB ja maksimaalselt 4 KB) määratakse mahu vormindamise käigus.

Iga kirje vastab failile.

Esimesed 16 kirjet on oma olemuselt teenus ja pole operatsioonisüsteemile saadaval – neid kutsutakse metafailid, ja kõige esimene metafail on MFT ise.

Need esimesed 16 MFT elementi on ketta ainus osa, millel on rangelt fikseeritud asend. Nendesamade 16 kirje koopiat hoitakse turvalisuse huvides köite keskel.

MFT-faili ülejäänud osad võivad, nagu iga teinegi fail, asuda ketta suvalistes kohtades.

Metafailid on oma olemuselt teenus – igaüks neist vastutab süsteemi mõne aspekti eest. Metafailid asuvad NTFS-köite juurkataloogis. Kõik need algavad nimemärgiga "$", kuigi tavaliste tööriistade abil on nende kohta raske teavet hankida. Tabelis. on toodud peamised metafailid ja nende eesmärk.

Metafaili nimi

Metafaili eesmärk

MFT $

Põhifailitabel ise

$MFTmirr

Köite keskele paigutatud koopia esimesest 16 MFT-plaadist

$logifail

Logimise tugifail

$Volume

Teenusteave – köite silt, failisüsteemi versioon jne.

$AttrDef

Köite standardsete failiatribuutide loend

Juurkataloog

$Bitmap

Mahuvaba ruumi kaart

$boot

Alglaadimissektor (kui partitsioon on buutitav)

$Quota

Fail, mis salvestab kasutajaõigused kettaruumi kasutamiseks (see fail hakkas alles tööle Windows 2000 koos NTFS 5.0-ga)

$upcase

Fail - failinimede suur- ja väiketähtede vastavustabel. NTFS-is kirjutatakse failinimed sisse Unicode (mis on 65 tuhat erinevat tähemärki) ja suurte ja väikeste ekvivalentide otsimine on sel juhul mittetriviaalne ülesanne

Vastav MFT-kirje salvestab kogu teabe faili kohta:

· faili nimi,

· suurus;

faili atribuudid

üksikute fragmentide positsioon kettal jne.

Kui teabe jaoks puudub üks MFT kirje, kasutatakse mitut kirjet ja mitte tingimata järjest.

Kui fail ei ole väga suur, salvestatakse failiandmed otse MFT-sse, põhiandmetest järelejäänud ruumi ühe MFT-kirje sees.

NTFS-köitel oleva faili tuvastab nn faili link(Failiviide ), mis on esitatud 64-bitise numbrina.

faili number, mis vastab MFT kirje numbrile,

ja järjekorranumbrid. Seda arvu suurendatakse iga kord, kui antud numbrit kasutatakse MFT-s uuesti, võimaldades NTFS-failisüsteemil teostada sisemist terviklikkuse kontrolli.

Iga faili NTFS-is tähistab voolab(vood ), see tähendab, et sellel pole "lihtsalt andmeid", kuid vooge on olemas.

Üks voogudest on faili andmed.

Enamik failiatribuute on samuti vood.

Seega selgub, et failil on ainult üks põhiolem - number MFT-s ja kõik muu, sealhulgas selle vood, on valikulised.

Seda lähenemist saab tõhusalt kasutada – näiteks saab faili külge “kleepida” teise voo, kirjutades sinna mis tahes andmed.

NTFS-köites olevate failide ja kataloogide standardatribuutidel on fikseeritud nimed ja tüübikoodid.

Kataloog NTFS on spetsiaalne fail, mis salvestab linke teistele failidele ja kataloogidele.

Kataloogifail on jagatud plokkideks, millest igaüks sisaldab

· faili nimi,

põhilised atribuudid ja

Ketta juurkataloog ei erine tavalistest kataloogidest, välja arvatud spetsiaalne link sellele MFT metafaili algusest.

Sisemine kataloogistruktuur on kahendpuu nagu HPFS-is.

Failide arv juur- ja mittejuurkataloogides on piiramatu.

NTFS-failisüsteem toetab NT-turvaobjekti mudelit: NTFS käsitleb katalooge ja faile heterogeensete objektidena ning säilitab iga tüübi jaoks eraldi (kuigi kattuvad) õiguste loendid.

NTFS pakub failitaseme turvalisust; see tähendab, et köidete, kataloogide ja failide juurdepääsuõigused võivad sõltuda kasutajakontost ja rühmadest, kuhu kasutaja kuulub. Iga kord, kui kasutaja pääseb juurde failisüsteemi objektile, kontrollitakse tema õigusi objekti lubade loendiga. Kui kasutajal on piisaval tasemel õigused, rahuldatakse tema taotlus; vastasel juhul lükatakse taotlus tagasi. See turbemudel kehtib nii NT-masinate kohaliku kasutaja sisselogimise kui ka kaugvõrgupäringute puhul.

NTFS-il on ka mõned iseparanevad funktsioonid. NTFS toetab mitmesuguseid süsteemi terviklikkuse kontrollimise mehhanisme, sealhulgas tehingute logimist, mis võimaldab teil faili kirjutamise toiminguid spetsiaalse süsteemilogi alusel uuesti esitada.

Kell päeviku pidamine failitoimingute puhul salvestab failihaldussüsteem toimuvad muudatused spetsiaalsesse teenusefaili. Failistruktuuri muutmisega seotud toimingu alguses tehakse vastav märge. Kui failidega töötamisel ilmneb mõni tõrge, jääb nimetatud toimingu algusmärk mittetäielikuks. Kui teete failisüsteemi terviklikkuse kontrolli pärast masina taaskäivitamist, võetakse need ootel olevad toimingud tagasi ja failid taastatakse algsesse olekusse. Kui failides andmete muutmise toiming on normaalselt lõpule viidud, märgitakse toiming lõpetatuks just selles logitoe teenusefailis.

Failisüsteemi peamine puudusNTFS- teenindusandmed võtavad palju ruumi (näiteks iga kataloogi element 2 KB) - väikeste partitsioonide puhul võivad teenindusandmed võtta kuni 25% meediumimahust.

Þ NTFS-i ei saa kasutada diskettide vormindamiseks. Ärge kasutage seda alla 100 MB suuruste partitsioonide vormindamiseks.

OS-i failisüsteem UNIX

UNIX-maailmas on mitut tüüpi failisüsteeme, millel on oma välismälu struktuur. Tuntuimad on traditsiooniline UNIX System V (s5) failisüsteem ja UNIX BSD perekonna (ufs) failisüsteem.

Kaaluge s 5.

UNIX-fail on juhusliku juurdepääsuga märkide komplekt.

Failil on struktuur, mille kasutaja sellele peale paneb.

Unixi failisüsteem on hierarhiline mitme kasutajaga failisüsteem.

Failisüsteemil on puustruktuur. Puu tipud (vahesõlmed) on kataloogid, millel on linke teistele kataloogidele või failidele. Puu lehed vastavad failidele või tühjadele kataloogidele.

Kommenteeri. Tegelikult pole Unixi failisüsteem puu. Fakt on see, et süsteemil on võimalus puu kujul hierarhiat murda, kuna seda on võimalik seostada mitu nime, millel on sama faili sisu.

Ketta struktuur

Ketas on jagatud plokkideks. Andmeploki suurus määratakse failisüsteemi vormindamisel käsuga mkfs ja selle suuruseks saab määrata 512, 1024, 2048, 4096 või 8192 baiti.

Arvestame 512 baiti (sektori suurus).

Kettaruum on jagatud järgmisteks piirkondadeks (vt joonist):

laadimisplokk;

superploki juhtimine;

i-sõlmede massiiv;

ala failide sisu (andmete) salvestamiseks;

vabade plokkide komplekt (lingitud loendis);

Bootstrap plokk

Superplokk

i - sõlm

. . .

i - sõlm

Kommenteeri. UFS-failisüsteemi jaoks - seda kõike korratakse silindrite rühma jaoks (välja arvatud alglaadimisplokk) + silindrite rühma kirjeldamiseks on eraldatud spetsiaalne ala

Bootstrap plokk

Plokk asub plokis #0. (Tuletame meelde, et selle ploki asukoha süsteemiseadme nullplokis määrab riistvara, kuna riistvaralaadija viitab alati süsteemiseadme plokile null. See on failisüsteemi viimane komponent, mis sõltub riistvarast.)

Alglaadimisplokk sisaldab keerdprogrammi, mida kasutatakse UNIX OS-i algseks käivitamiseks. S 5 failisüsteemides kasutatakse tegelikult ainult juurfailisüsteemi alglaadimisplokki. Sekundaarsetes failisüsteemides on see ala olemas, kuid seda ei kasutata.

Superplokk

See sisaldab operatiivteavet failisüsteemi oleku kohta, samuti andmeid failisüsteemi sätete kohta.

Täpsemalt sisaldab superplokk järgmist teavet

i-sõlmede arv (indeksi deskriptorid);

partitsiooni suurus???;

tasuta plokkide loend;

tasuta i-sõlmede loend;

· ja muud.

Pöörame tähelepanu! Vaba kettaruumi on lingitud tasuta plokkide loend. See loend on salvestatud superplokki.

Loendi elemendid on 50 elemendist koosnevad massiivid (kui plokk = 512 baiti, siis element = 16 bitti):

· Massiivielemendid nr 1-48 sisaldavad failiplokkide ruumi vabade plokkide numbreid vahemikus 2 kuni 49.

element #0 sisaldab kursorit loendi jätkule ja

· viimane element (#49) sisaldab kursorit massiivi vabale elemendile.

Kui mõni protsess vajab faililaiendi jaoks vaba plokki, siis valib süsteem massiivi elemendi kursori abil (vabale elemendile) ja sellesse elementi salvestatud numbriga plokk antakse failile. Kui faili vähendatakse, lisatakse vabastatud numbrid vabade plokkide massiivi ja kohandatakse kursorit vabale elemendile.

Kuna massiivi suurus on 50 elementi, on võimalikud kaks kriitilist olukorda:

1. Kui vabastame failide plokid, kuid need ei mahu sellesse massiivi. Sel juhul valitakse failisüsteemist üks vaba plokk ja sellesse plokki kopeeritakse täielikult täidetud vabade plokkide massiiv, mille järel määratakse vaba elemendi kursori väärtuseks null ja massiivi nullelemendis, mis asub superplokis, kirjutatakse ploki number, mille süsteem on valinud massiivi sisu kopeerimiseks. Sel hetkel luuakse vabade plokkide loendi uus element (igaüks 50 elemendiga).

2. Kui vabade plokkide massiivi elementide sisu on ammendatud (sel juhul on massiivi nullelement võrdne nulliga) Kui see element ei võrdu nulliga, tähendab see massiivi jätkumist . See jätk loetakse RAM-i superploki koopiaks.

Tasuta loendi-sõlmed. See on 100 elemendist koosnev puhver. See sisaldab teavet 100 numbri i-sõlme kohta, mis on hetkel tasuta.

Superblock on alati RAM-is

Þ kõik toimingud (plokkide ja i-sõlmede vabastamine ja hõivamine toimub RAM-is Þ kettavahetuse minimeerimine.

Aga! Kui superploki sisu kettale ei kirjutata ja toide välja lülitatakse, tekivad probleemid (lahknevus failisüsteemi tegeliku oleku ja superploki sisu vahel). Kuid see on juba süsteemi seadmete töökindluse nõue.

Kommenteeri. UFS-failisüsteemid toetavad vastupidavuse suurendamiseks mitut superploki koopiat (üks eksemplar silindrirühma kohta)

Inode piirkond

See on failikirjelduste massiiv nimega i-nodes (mina-sõlm).(64 baiti?)

Iga faili indeksi deskriptor (i-sõlm) sisaldab:

Failitüüp (fail/kataloog/spetsiaalne fail/fifo/socket)

Atribuudid (load) - 10

Faili omaniku ID

Selle rühma ID, kellele fail kuulub

Faili loomise aeg

Faili muutmise aeg

Viimane kord, kui failile juurde pääseti

Faili pikkus

Antud i-sõlme linkide arv erinevatest kataloogidest

Failiplokkide aadressid

!Märge. Siin pole failinime

Vaatame lähemalt, kuidas see on korraldatud. adresseerimise blokeerimine, mis sisaldab faili. Seega on aadressidega väljal faili esimese 10 ploki numbrid.

Kui fail ületab kümmet plokki, siis hakkab tööle järgmine mehhanism: välja 11. element sisaldab ploki numbrit, mis sisaldab 128 (256) linki antud faili plokkidele. Juhul, kui fail on veelgi suurem, siis kasutatakse välja 12. elementi - see sisaldab ploki numbrit, mis sisaldab 128 (256) ploki numbrit, kus igas plokis on failisüsteemi 128 (256) ploki numbrit. Ja kui fail on veelgi suurem, siis kasutatakse 13. elementi - kus loendi pesastussügavust suurendatakse veel ühe võrra.

Seega saame faili suurusega (10+128+128 2 +128 3)*512.

Seda saab esitada järgmisel kujul:

1. failiploki aadress

2. failiploki aadress

10. failiploki aadress

Kaudne ploki aadress (plokk 256 ploki aadressiga)

2. kaudse aadressi aadressi blokeerimine (plokk 256 aadressiplokiga)

3. kaudse adresseerimise blokaadress (ploki aadressidega plokk aadressidega plokiaadressidega)

Failide kaitse

Vaatame nüüd omaniku ja grupi ID-sid ja turvabitte.

Unix OS kasutab kasutajate kolmetasandiline hierarhia:

Esimene tase on kõik kasutajad.

Teine tase on kasutajarühmad. (Kõik kasutajad on jagatud rühmadesse.

Kolmas tase on konkreetne kasutaja (Grupid koosnevad tegelikest kasutajatest). Selle kasutajate kolmetasandilise korralduse tõttu on igal failil kolm atribuuti:

1) faili omanik. See atribuut on seotud ühe konkreetse kasutajaga, kelle süsteem määrab automaatselt faili omanikuks. Vaikeomanikuks saab saada faili loomisega, samuti on olemas käsk, mis võimaldab faili omanikku muuta.

2) failidele juurdepääsu kaitse. Juurdepääs igale failile on piiratud kolmes kategoorias:

omanikuõigused (mida omanik saab selle failiga teha, üldiselt - mitte tingimata midagi);

selle rühma õigused, kuhu faili omanik kuulub. Omanik siia ei kuulu (näiteks saab faili omaniku jaoks lukustada ja kõik teised grupi liikmed saavad sellest failist vabalt lugeda;

kõik teised süsteemi kasutajad;

Nende kolme kategooria järgi on reguleeritud kolm toimingut: failist lugemine, faili kirjutamine ja faili täitmine (vastavalt süsteemimnemoonikas R, W, X). Igas failis määravad need kolm kategooriat, milline kasutaja saab lugeda, milline kirjutada ja kes saab seda protsessina käivitada.

Kataloogi korraldamine

Kataloog OS-i seisukohast on tavaline fail, mis sisaldab andmeid kõigi kataloogi kuuluvate failide kohta.

Kataloogi element koosneb kahest väljast:

1) i-sõlme number (järjekorranumber i-sõlmede massiivis) ja

2) faili nimi:

Igas kataloogis on kaks erinime: '.' – kataloog ise; ".." on emakataloog.

(Juurkataloogi puhul viitab vanem iseendale.)

Üldiselt võib kataloogis olla samale i-sõlmele viitavaid kirjeid mitu korda, kuid kataloogis ei saa olla sama nimega kirjeid. See tähendab, et faili sisuga saab seostada suvalise arvu nimesid. Seda nimetatakse siduv. Kutsutakse välja kataloogikirje, mis viitab ühele failile suhtlemine.

Failid eksisteerivad kataloogikirjetest sõltumatult ja kataloogilingid osutavad tegelikult füüsilistele failidele. Fail "kaob", kui eemaldatakse viimane sellele viitav link.

Nii et failile nime järgi juurde pääsemiseks operatsioonisüsteem

1. leiab selle nime faili sisaldavast kataloogist,

2. hangib faili i-sõlme numbri,

3. leiab arvu järgi i-sõlme i-sõlmede piirkonnast,

4. i-sõlmest saab nende plokkide aadressid, milles failiandmed asuvad,

5. loeb andmealast plokke ploki aadresside kaupa.

Ketta partitsiooni struktuur sisse EXT2 FS

Kogu partitsiooniruum on jagatud plokkideks. Plokk võib olla 1, 2 või 4 kilobaiti suur. Plokk on adresseeritav kettaruumi ühik.

Nende piirkonnas asuvad plokid on ühendatud plokkide rühmadesse. Plokkide rühmad failisüsteemis ja grupis olevad plokid nummerdatakse järjestikku, alustades 1-st. Esimene plokk kettal on nummerdatud 1-ga ja kuulub rühma number 1. Plokkide koguarv kettal (ketta partitsioonis) on sektorites väljendatud ketta suuruse jagaja. Ja plokirühmade arv ei pea jagama plokkide arvu, sest viimane plokkide rühm ei pruugi olla täielik. Iga plokkide rühma alguses on aadress, mille saab saada kujul ((grupi number - 1)* (plokkide arv rühmas)).

Igal plokkide rühmal on sama struktuur. Selle struktuur on esitatud tabelis.

Selle struktuuri esimene element (superplokk) on kõigi rühmade jaoks sama ja kõik ülejäänud on iga rühma jaoks individuaalsed. Superplokk salvestatakse iga plokirühma esimesse plokki (erandiks on rühm 1, mille esimeses plokis on alglaadimiskirje). Superplokk on failisüsteemi alguspunkt. Selle suurus on 1024 baiti ja see asub alati failisüsteemi algusest nihkes 1024 baiti. Superploki mitme koopia olemasolu on seletatav failisüsteemi selle elemendi äärmise tähtsusega. Superblocki duplikaate kasutatakse failisüsteemi taastamisel pärast kokkujooksmisi.

Superplokki salvestatud teavet kasutatakse ketta ülejäänud andmetele juurdepääsu korraldamiseks. Superplokk määrab failisüsteemi suuruse, sektsioonis olevate failide maksimaalse arvu, vaba ruumi hulga ja sisaldab teavet selle kohta, kust otsida eraldamata alasid. Kui OS käivitub, loetakse superplokk mällu ja kõik failisüsteemi muudatused kajastuvad esmalt operatsioonisüsteemis asuvas superploki koopias ja kirjutatakse kettale ainult perioodiliselt. See parandab süsteemi jõudlust, kuna paljud kasutajad ja protsessid värskendavad faile pidevalt. Teisest küljest tuleb süsteemi väljalülitamisel superplokk kirjutada kettale, mis ei võimalda arvutit lihtsalt toite välja lülitades välja lülitada. Vastasel juhul ei vasta järgmisel alglaadimisel superplokki kirjutatud teave failisüsteemi tegelikule olekule.

Superploki järel on plokkide rühma kirjeldus (Group Descriptors). See kirjeldus sisaldab:

Antud rühma ploki bitmapi sisaldava ploki aadress;

Antud rühma inoodi bitmapi sisaldava ploki aadress;

Selle rühma inode tabelit sisaldava ploki aadress;

Selle rühma vabade plokkide arvu loendur;

Vabade inoodide arv selles rühmas;

Selle rühma inoodide arv, mis on kataloogid

ja muud andmed.

Rühma kirjelduses salvestatud teavet kasutatakse ploki ja inode bitmapi ning inode tabeli leidmiseks.

Failisüsteem Ext 2 iseloomustab:

  • hierarhiline struktuur,
  • andmemassiivide koordineeritud töötlemine,
  • dünaamiline faililaiend,
  • failides oleva teabe kaitsmine,
  • välisseadmete (nt terminalid ja lindiseadmed) käsitlemine failidena.

Failide sisemine esitus

Igal failil Ext 2 süsteemis on kordumatu register. Indeks sisaldab teavet, mida iga protsess vajab failile juurdepääsuks. Töötleb juurdepääsu failidele, kasutades täpselt määratletud süsteemikutsete komplekti, ja tuvastab faili märgistringiga, mis toimib faili teenimena. Iga liitnimi identifitseerib unikaalselt faili, mille tõttu süsteemi tuum teisendab selle nime failiindeksiks.Indeks sisaldab aadresside tabelit, kus faili info asub kettal. Kuna iga ketta plokki adresseeritakse selle numbri järgi, salvestab see tabel kettaplokkide numbrite kogu. Paindlikkuse suurendamiseks lisab kernel failile ühe ploki korraga, võimaldades faili teabe hajutamist kogu failisüsteemis. Kuid selline paigutus raskendab andmete leidmise ülesannet. Aadresside tabel sisaldab faili juurde kuuluvat teavet sisaldavate plokkide numbrite loendit.

Faili inode

Igal kettal oleval failil on vastav faili inode, mida identifitseerib selle järjekorranumber – faili indeks. See tähendab, et failisüsteemis loodavate failide arv on piiratud inoodide arvuga, mis määratakse kas failisüsteemi loomisel selgesõnaliselt või arvutatakse ketta partitsiooni füüsilise suuruse järgi. Inoodid eksisteerivad staatilisel kujul kettal ja kernel loeb need enne nendega töötamist mällu.

Fail inode sisaldab järgmist teavet:

- Selle faili tüüp ja õigused.

Faili omaniku ID (Owner Uid).

Faili suurus baitides.

Failile viimase juurdepääsu aeg (juurdepääsuaeg).

Faili loomise aeg.

Faili viimati muutmise aeg.

Faili kustutamise aeg.

Grupi ID (GID).

Lingid loevad.

Failis hõivatud plokkide arv.

Faili lipud

Reserveeritud OS-i jaoks

Osutajad plokkidele, millesse failiandmed on kirjutatud (näide otsesest ja kaudsest adresseerimisest joonisel 1)

Faili versioon (NFS-i jaoks)

Faili ACL

kataloog ACL

Fragmendi aadress

Fragmendi number

Fragmendi suurus

Kataloogid

Kataloogid on failid.

Kernel salvestab andmed kataloogi täpselt nagu tavalises failitüübis, kasutades indeksi struktuuri ning otsese ja kaudse aadressitasemega plokke. Protsessid saavad lugeda andmeid kataloogidest samamoodi nagu tavalisi faile, kuid kernel reserveerib eksklusiivse kataloogi kirjutamise juurdepääsu, et tagada kataloogi struktuuri õigsus.).

Kui protsess kasutab failiteed, otsib kernel kataloogidest vastavat inode numbrit. Pärast failinime inode numbriks teisendamist salvestatakse see inode mällu ja seejärel kasutatakse seda järgmistes päringutes.

EXT2 lisafunktsioonid FS

Lisaks standardsetele Unixi funktsioonidele pakub EXT2fs mõningaid lisafunktsioone, mida Unixi failisüsteemid tavaliselt ei toeta.

Failiatribuudid võimaldavad teil muuta, kuidas kernel failikomplektidega töötamisel reageerib. Saate määrata failile või kataloogile atribuute. Teisel juhul pärivad selles kataloogis loodud failid need atribuudid.

Süsteemi ühendamise ajal saab seadistada mõningaid failiatribuutidega seotud funktsioone. Ühendusvalik võimaldab administraatoril valida, kuidas faile luuakse. BSD-spetsiifilises failisüsteemis luuakse failid sama rühma ID-ga kui emakataloog. System V funktsioonid on mõnevõrra keerulisemad. Kui kataloogi bitt setgid on määratud, pärivad loodud failid kataloogi rühma ID ja alamkataloogid rühma ID ja setgid biti. Vastasel juhul luuakse failid ja kataloogid helistamisprotsessi peamise rühma ID-ga.

Süsteem EXT2fs saab kasutada sünkroonset andmete muutmist sarnaselt BSD-süsteemiga. Ühendusvalik võimaldab administraatoril määrata, et kõik andmed (indeksikirjeldused, bitiplokid, kaudsed plokid ja kataloogiplokid) kirjutatakse kettale sünkroonselt, kui neid muudetakse. Seda saab kasutada suure kirjutamisvõimsuse saavutamiseks, kuid tulemuseks on ka halb jõudlus. Tegelikult seda funktsiooni tavaliselt ei kasutata, sest lisaks jõudluse halvenemisele võib see kaasa tuua kasutajaandmete kadumise, mida failisüsteemi kontrollimisel ei märgita.

EXT2fs võimaldab failisüsteemi loomisel valida loogilise ploki suuruse. See võib olla 1024, 2048 või 4096 baiti suur. Suurte plokkide kasutamine toob kaasa kiiremad I/O-toimingud (kuna kettale esitatavate päringute arv väheneb) ja sellest tulenevalt ka peade liikumise vähenemine. Teisest küljest põhjustab suurte plokkide kasutamine kettaruumi kaotust. Tavaliselt ei kasutata faili viimast plokki teabe salvestamiseks täielikult, nii et ploki suuruse suurenemisega suureneb raisatud kettaruumi hulk.

EXT2fs võimaldab kasutada kiirendatud sümboolseid linke. Selliste linkide kasutamisel failisüsteemi andmeplokke ei kasutata. Sihtfaili nime ei salvestata andmeplokki, vaid inode endasse. See struktuur võimaldab säästa kettaruumi ja kiirendada sümboolsete linkide töötlemist. Loomulikult on käepideme jaoks reserveeritud ruum piiratud, nii et iga linki ei saa esitada kiirendatud lingina. Failinime maksimaalne pikkus kiirendatud lingil on 60 tähemärki. Lähiajal on kavas seda skeemi väikeste failide jaoks laiendada.

EXT2fs jälgib failisüsteemi olekut. Kernel kasutab superplokis eraldi välja failisüsteemi oleku näitamiseks. Kui failisüsteem on ühendatud lugemis-/kirjutusrežiimis, määratakse selle olek "Pole puhas". Kui see on lahti ühendatud või uuesti monteeritud kirjutuskaitstud režiimis, määratakse selle olek "Puhasta". Süsteemi alglaadimise ja failisüsteemi seisundi kontrollimise ajal kasutatakse seda teavet failisüsteemi kontrollimise vajaduse kindlakstegemiseks. Kernel paneb sellele väljale ka mõned vead. Kui kernel tuvastab ebakõla, märgitakse failisüsteemile "Vigane". Failisüsteemi kontrollija testib seda teavet süsteemi kontrollimiseks, isegi kui selle olek on tegelikult "Puhas".

Failisüsteemi testimise pikaajaline ignoreerimine võib mõnikord põhjustada raskusi, seega sisaldab EXT2fs kahte meetodit süsteemi korrapäraseks kontrollimiseks. Superplokk sisaldab süsteemikinnituse loendurit. Seda loendurit suurendatakse iga kord, kui süsteem on lugemis-/kirjutusrežiimis monteeritud. Kui selle väärtus jõuab maksimumväärtuseni (see salvestatakse ka superplokki), käivitab failisüsteemi testrutiin failisüsteemi kontrolli, isegi kui selle olek on "Puhas". Superplokki salvestatakse ka viimane kontrolli aeg ja maksimaalne kontrollvahemik. Kui maksimaalne kontrollide vaheline intervall on saavutatud, ignoreeritakse failisüsteemi olekut ja alustatakse selle kontrollimist.

Toimivuse optimeerimine

Süsteem EXT2fs sisaldab palju funktsioone, mis optimeerivad selle jõudlust, mis suurendab teabevahetuse kiirust failide lugemisel ja kirjutamisel.

EXT2fs kasutab kõvasti kettapuhvrit. Kui plokki on vaja lugeda, saadab kernel mitmele külgnevale plokile I/O päringu. Seega püüab kernel veenduda, et järgmine loetav plokk on juba kettapuhvrisse laaditud. Selliseid toiminguid tehakse tavaliselt failide järjestikusel lugemisel.

EXT2fs-süsteem sisaldab ka suurt hulka teabe paigutuse optimeerimisi. Plokirühmi kasutatakse vastavate inoodide ja andmeplokkide rühmitamiseks. Kernel püüab alati paigutada samasse rühma ühe faili andmeplokid ja ka selle deskriptor. Selle eesmärk on vähendada ajamipeade liikumist deskriptori ja sellele vastavate andmeplokkide lugemisel.

Andmete faili kirjutamisel eraldab EXT2fs uue ploki paigutamisel kuni 8 külgnevat plokki. See meetod võimaldab teil saavutada suure jõudluse suure süsteemikoormusega. Samuti võimaldab see eraldada failidele külgnevaid plokke, mis kiirendab nende edasist lugemist.

Failisüsteem asub tavaliselt ketastel või muudel välistel salvestusseadmetel, millel on ploki struktuur. Lisaks katalooge ja faile salvestavatele plokkidele toetatakse välismälus veel mitut teeninduspiirkonda.

UNIX-maailmas on mitut tüüpi failisüsteeme, millel on oma välismälu struktuur. Tuntuimad on traditsiooniline UNIX System V (s5) failisüsteem ja UNIX BSD perekonna (ufs) failisüsteem. S5 failisüsteem koosneb neljast osast (joonis 2.2,a). Ufs failisüsteemis sisaldab loogiline ketas (reaalse ketta partitsioon) failisüsteemi sektsioonide jada (joonis 2.2,b).

Riis. 2.2. S5 ja ufs failisüsteemide välismälu struktuur

Kirjeldame lühidalt ketta iga ala olemust ja eesmärki.

  • Alglaadimisplokk sisaldab keerdprogrammi, mida kasutatakse UNIX OS-i algseks käivitamiseks. S5 failisüsteemides kasutatakse tegelikult ainult juurfailisüsteemi alglaadimisplokki. Sekundaarsetes failisüsteemides on see ala olemas, kuid seda ei kasutata.
  • Superblokk on failisüsteemi kõige olulisem valdkond, mis sisaldab teavet, mis on vajalik failisüsteemi kui tervikuga töötamiseks. Superplokk sisaldab vabade plokkide ja vabade i-sõlmede (infosõlmede) loendit. Ufs-failisüsteemides säilitatakse vastupidavuse parandamiseks mitu superploki koopiat (nagu on näidatud joonisel 2.2b, üks koopia silindrirühma kohta). Iga superploki koopia on 8196 baiti suur ja failisüsteemi ühendamisel kasutatakse ainult ühte superploki koopiat (vt allpool). Kui aga ühendamine tuvastab, et superploki esmane koopia on rikutud või ei vasta teabe terviklikkuse kriteeriumidele, kasutatakse varukoopiat.
  • Silindrirühma plokk sisaldab selle silindrirühma i-sõlmede loendis määratud i-sõlmede arvu ja nende i-sõlmedega seotud andmeplokkide arvu. Silindrirühma ploki suurus sõltub failisüsteemi suurusest. Tõhususe parandamiseks püüab ufs failisüsteem paigutada i-sõlmed ja andmeplokid samasse silindrirühma.
  • I-sõlmede loend (ilist) sisaldab antud failisüsteemi failidele vastavate i-sõlmede loendit. Maksimaalne failide arv, mida failisüsteemis luua saab, määratakse saadaolevate i-sõlmede arvu järgi. i-sõlm salvestab faili kirjeldavat infot: faili juurdepääsu režiimid, loomise ja viimase muutmise aeg, faililooja kasutajatunnus ja grupi ID, faili plokkide struktuuri kirjeldus jne.
  • Andmeplokid - see failisüsteemi osa salvestab failide tegelikud andmed. Ufs failisüsteemi puhul üritavad ühe faili kõik andmeplokid mahtuda samasse silindrigruppi. Andmeploki suurus määratakse failisüsteemi vormindamisel käsuga mkfs ja selle suuruseks saab määrata 512, 1024, 2048, 4096 või 8192 baiti.

Failid arvutis luuakse ja paigutatakse süsteemipõhimõtete alusel. Tänu nende rakendamisele saab kasutaja mugavalt juurde pääseda vajalikule teabele, mõtlemata sellele ligipääsu keerukatele algoritmidele. Kuidas failisüsteemid on korraldatud? Millised neist on tänapäeval kõige populaarsemad? Millised on erinevused arvutiga kohandatud failisüsteemide vahel? Ja need, mida kasutatakse mobiilseadmetes - nutitelefonides või tahvelarvutites?

Failisüsteemid: määratlus

Üldlevinud määratluse kohaselt on failisüsteem algoritmide ja standardite kogum, mida kasutatakse arvutikasutaja tõhusa juurdepääsu korraldamiseks arvutis asuvatele andmetele. Mõned eksperdid peavad seda selle osaks, teised IT-eksperdid, tunnistades, et see on otseselt seotud operatsioonisüsteemiga, usuvad, et failisüsteem on arvutiandmete haldamise iseseisev komponent.

Kuidas kasutati arvuteid enne failisüsteemi leiutamist? Arvutiteadus kui teadusdistsipliin on fikseerinud tõsiasja, et pikka aega toimus andmete haldamine struktureerimise teel konkreetsetesse programmidesse põimitud algoritmide raames. Seega on failisüsteemi üheks kriteeriumiks standardite olemasolu, mis on enamiku andmetele juurdepääsu kasutavate programmide jaoks samad.

Kuidas failisüsteemid töötavad

Failisüsteem on ennekõike mehhanism, mis hõlmab arvuti riistvararessursside kasutamist. Reeglina räägime magnet- või laserkandjatest - kõvakettad, CD-d, DVD-d, mälupulgad, disketid, mis pole veel vananenud. Et mõista, kuidas vastav süsteem töötab, defineerime, mis on tegelik fail ise.

IT-ekspertide seas üldtunnustatud määratluse kohaselt on see kindla suurusega andmeala, mida väljendatakse teabe põhiühikutes - baitides. Fail asub kettakandjal, tavaliselt mitme omavahel ühendatud ploki kujul, millel on konkreetne juurdepääsu "aadress". Failisüsteem määrab just need koordinaadid ja "teavitab" neist omakorda OS-i. Mis arusaadaval viisil edastab vastavad andmed kasutajale. Apelleeritakse andmetele, et neid lugeda, muuta, uusi luua. Failide "koordinaatidega" töötamise konkreetne algoritm võib olla erinev. See sõltub arvuti tüübist, OS-ist, salvestatud andmete spetsiifikast ja muudest tingimustest. Seetõttu on erinevat tüüpi failisüsteeme. Igaüks neist on optimeeritud kasutamiseks konkreetses OS-is või teatud tüüpi andmetega töötamiseks.

Kettakandja kohandamist konkreetse failisüsteemi algoritmide kaudu kasutamiseks nimetatakse vormindamiseks. Ketta vastavad riistvaraelemendid - klastrid - on ette valmistatud nii failide hilisemaks kirjutamiseks kui ka lugemiseks vastavalt ühes või teises andmehaldussüsteemis sätestatud standarditele. Kuidas failisüsteemi muuta? Enamikul juhtudel saab seda teha ainult andmekandja uuesti vormindamisega. Reeglina sellisel juhul failid kustutatakse. Siiski on võimalus, mille puhul on eriprogramme kasutades siiski võimalik, kuigi see nõuab tavaliselt palju aega, muuta andmehaldussüsteemi, jättes viimase puutumata.

Failisüsteemid pole vigadeta. Andmeplokkidega töö korraldamisel võib esineda tõrkeid. Kuid enamikul juhtudel pole need kriitilised. Reeglina pole probleeme sellega, kuidas failisüsteemi parandada, vigu parandada. Eelkõige Windowsis on selleks igale kasutajale saadaval sisseehitatud tarkvaralahendused. Nagu näiteks programm "Kontrolli ketast".

Sordid

Milliseid failisüsteeme võib nimetada kõige levinumaks? Ilmselt peamiselt need, mida kasutab maailma populaarseim PC OS Windows. Peamised Windowsi failisüsteemid on FAT, FAT32, NTFS ja nende erinevad modifikatsioonid. Koos arvutitega on populaarsust kogunud nutitelefonid ja tahvelarvutid. Enamikku neist, kui me räägime globaalsest turust ja ei arvesta tehnoloogiaplatvormide erinevustega, juhivad Android ja iOS. Need operatsioonisüsteemid kasutavad andmetega töötamiseks oma algoritme, mis erinevad Windowsi failisüsteeme iseloomustavatest algoritmidest.

Kõigile avatud standardid

Pange tähele, et hiljuti on maailma elektroonikaturul standardeid ühtlustunud erinevat tüüpi andmetega operatsioonisüsteemide osas. Seda võib vaadelda kahes aspektis. Esiteks kasutavad kaks erinevat tüüpi OS-i kasutavad erinevad seadmed sageli sama failisüsteemi, mis ühildub võrdselt iga OS-iga. Teiseks suudavad OS-i kaasaegsed versioonid reeglina ära tunda mitte ainult tüüpilisi failisüsteeme, vaid ka neid, mida traditsiooniliselt kasutatakse teistes OS-ides - nii sisseehitatud algoritmide kui ka kolmanda osapoole tarkvara abil. Näiteks Linuxi kaasaegsed versioonid tunnevad üldiselt ära märgitud Windowsi failisüsteemid probleemideta.

Failisüsteemi struktuur

Hoolimata asjaolust, et failisüsteemide tüüpe on esitatud üsna suurel hulgal, töötavad need üldiselt väga sarnaste põhimõtete järgi (ülalpool kirjeldasime üldist skeemi) ja sarnaste struktuurielementide või objektide piires. Vaatleme neid. Millised on failisüsteemi peamised objektid?

Üks peamisi - see on isoleeritud andmeala, kuhu saab faile paigutada. Kataloogi struktuur on hierarhiline. Mida see tähendab? Ühte või mitut kataloogi saab majutada teises. Mis omakorda on osa "ülemast". Kõige "peamine" on juurkataloog. Kui rääkida põhimõtetest, mille alusel Windowsi failisüsteem töötab – 7, 8, XP või mõni muu versioon, siis juurkataloogiks loetakse loogilist draivi, mida tähistatakse tähega – tavaliselt C, D, E (aga saate seadistada mis tahes, mis on inglise tähestikus). Mis puudutab näiteks Linux OS-i, siis magnetmeedium tervikuna toimib seal juurkataloogina. See ja teised selle põhimõtetel põhinevad operatsioonisüsteemid – näiteks Android – ei kasuta loogilisi draive. Kas faile on võimalik salvestada ilma kataloogideta? Jah. Kuid see pole eriti mugav. Tegelikult on arvuti kasutamise mugavus üks põhjusi failisüsteemides andmete kataloogidesse jaotamise põhimõtte juurutamiseks. Muide, neid võib nimetada erinevalt. Windowsis nimetatakse katalooge kaustadeks, Linuxis on need põhimõtteliselt samad. Kuid traditsiooniline nimi, mida selles OS-is on aastaid kasutatud kataloogide jaoks, on "kataloogid". Nagu eelmistes Windowsi ja Linuxi operatsioonisüsteemides – DOS, Unix.

IT-spetsialistide seas puudub ühemõtteline arvamus, kas faili tuleks käsitleda vastava süsteemi struktuurielemendina. Need, kes usuvad, et see pole täiesti õige, vaidlevad oma seisukoha vastu väitega, et süsteem võib ilma failideta eksisteerida. Olgu see siis praktilisest küljest ja kasutu nähtus. Isegi kui kettale ei kirjutata ühtegi faili, võib vastav süsteem siiski olemas olla. Kauplustes müüdavad magnetkandjad reeglina faile ei sisalda. Aga neil on vastav süsteem juba olemas. Teise vaatenurga kohaselt tuleks faile pidada neid haldavate süsteemide lahutamatuks osaks. Miks? Aga sellepärast, et ekspertide sõnul on nende kasutamise algoritmid kohandatud eelkõige teatud standardite raames failidega töötamiseks. Muu jaoks ei ole kõnealused süsteemid mõeldud.

Veel üks enamikus failisüsteemides esinev element – ​​see on andmeala, mis sisaldab teavet konkreetse faili asukoha kohta. See tähendab, et saate paigutada otsetee ketta ühte kohta, kuid on võimalik pakkuda juurdepääsu soovitud andmealale, mis asub kandja teises osas. Võib arvata, et otseteed on failisüsteemi täieõiguslikud objektid, kui nõustume, et failid on ka sellised.

Ühel või teisel viisil pole viga öelda, et kõik kolm andmetüüpi - failid, otseteed ja kataloogid - on nende vastavate süsteemide elemendid. Vähemalt see väitekiri vastab ühele ühisele seisukohale. Kõige olulisem aspekt, mis failisüsteemi toimimist iseloomustab, on failide ja kataloogide nimetamise põhimõtted.

Failide ja kataloogide nimed erinevates süsteemides

Kui nõustume, et failid on ikkagi neile vastavate süsteemide koostisosad, siis tasub kaaluda nende põhistruktuuri. Mida saab kõigepealt märkida? Nendele juurdepääsu korraldamise hõlbustamiseks pakuvad enamik kaasaegseid andmehaldussüsteeme kahetasandilist failinimede struktuuri. Esimene tase on nimi. Teine on laienemine. Võtame näiteks muusikafaili Dance.mp3. Tants on nimi. Mp3 on laiendus. Esimene on loodud selleks, et kasutajale paljastada faili sisu olemus (ja et programm oleks kiire juurdepääsu juhend). Teine tähistab failitüüpi. Kui see on Mp3, siis on lihtne arvata, et see puudutab muusikat. Doc laiendiga failid on reeglina dokumendid, Jpg - pildid, Html - veebilehed.

Kataloogid on omakorda ühetasandilise struktuuriga. Neil on ainult nimi, laiendit pole. Kui rääkida erinevustest erinevat tüüpi andmehaldussüsteemide vahel, siis esimese asjana tasuks tähelepanu pöörata neis realiseeritud failide ja kataloogide nimetamise põhimõtetele. Seoses Windowsi operatsioonisüsteemiga on üksikasjad järgmised. Maailma populaarseimas operatsioonisüsteemis saab faile nimetada mis tahes keeles. Maksimaalne pikkus on aga piiratud. Täpne intervall sõltub kasutatavast andmehaldussüsteemist. Tavaliselt on need väärtused vahemikus 200–260 tähemärki.

Kõigi operatsioonisüsteemide ja neile vastavate andmehaldussüsteemide üldreegel on, et sama nimega failid ei tohi asuda samas kataloogis. Linuxis on aga selle reegli teatav "liberaliseerimine". Samas kataloogis võivad olla samade tähtedega failid, kuid erineva tähega. Näiteks Dance.mp3 ja DANCE.mp3. See pole Windows OS-is võimalik. Samad reeglid on kehtestatud ka kataloogide paigutamisel teistesse.

Failide ja kataloogide adresseerimine

Failide ja kataloogide adresseerimine on vastava süsteemi kõige olulisem element. Windowsis võib selle kohandatud vorming välja näha järgmine: C:/Documents/Music/ on juurdepääs muusikakataloogile. Kui meid huvitab konkreetne fail, võib aadress välja näha selline: C:/Documents/Music/Dance.mp3. Miks "kohandatud"? Fakt on see, et arvutikomponentide tarkvara-riistvara interaktsiooni tasandil on failidele juurdepääsu struktuur palju keerulisem. Failisüsteem määrab failiplokkide asukoha ja suhtleb OS-iga enamasti kasutaja eest varjatud toimingute puhul. Kuid arvutikasutaja peab harva kasutama muid "aadressi" vorminguid. Peaaegu alati juurdepääs failidele toimub kindlaksmääratud standardis.

Windowsi failisüsteemide võrdlus

Oleme uurinud failisüsteemide toimimise üldpõhimõtteid. Mõelge nüüd nende kõige levinumate tüüpide omadustele. Kõige sagedamini kasutatavad failisüsteemid Windowsis on FAT, FAT32, NTFS ja exFAT. Selle seeria esimest peetakse aegunuks. Samal ajal oli see pikka aega omamoodi tööstuse lipulaev, kuid arvuti tehnoloogia kasvades ei vastanud selle võimalused kasutajate soovidele ega tarkvararessursside nõuetele.

FAT-i asendamiseks loodud failisüsteem on FAT32. Paljude IT-ekspertide sõnul on see nüüd kõige populaarsem Windowsi arvutite turul. Seda kasutatakse kõige sagedamini failide salvestamisel kõvaketastele ja välkmäluseadmetele. Samuti võib märkida, et seda andmehaldussüsteemi kasutatakse üsna regulaarselt erinevate digiseadmete - telefonid, kaamerad - mälumoodulites. FAT32 peamine eelis, mida IT-eksperdid rõhutavad, on see, et hoolimata asjaolust, et selle failisüsteemi lõi Microsoft, suudab enamik kaasaegseid operatsioonisüsteeme, sealhulgas seda tüüpi digitaalseadmetele installitud, töötada manustatud algoritmide andmetega. selles.

FAT32 süsteemil on ka mitmeid puudusi. Esiteks võime märkida ühe pildistatud faili suuruse piirangut - see ei tohi olla suurem kui 4 GB. Samuti ei saa FAT32 süsteemis kasutada Windowsi sisseehitatud tööriistu, et seadistada loogilist draivi, mille maht oleks üle 32 GB. Kuid seda saab teha täiendava spetsiaalse tarkvara installimisega.

Teine populaarne failihaldussüsteem, mille Microsoft on välja töötanud, on NTFS. Mõnede IT-ekspertide sõnul on see enamiku parameetrite poolest parem kui FAT32. Kuid see väitekiri on tõsi, kui tegemist on Windowsiga töötava arvutiga. NTFS ei ole nii mitmekülgne kui FAT32. Selle toimimise omadused muudavad selle failisüsteemi kasutamise mitte alati mugavaks, eriti mobiilseadmetes. Üks NFTS-i peamisi eeliseid on töökindlus. Näiteks juhtudel, kui kõvaketas äkitselt kaotab toite, on failide rikumise tõenäosus minimaalne tänu NTFS-i andmetele juurdepääsu dubleerimiseks pakutavatele algoritmidele.

Üks Microsofti uusimaid failisüsteeme on exFAT. See on kõige paremini kohandatud mälupulkade jaoks. Selle töö põhiprintsiibid on samad, mis FAT32-s, kuid mõnes aspektis on ka oluline uuendus: näiteks puuduvad piirangud ühe faili suurusele. Samal ajal, nagu paljud IT-eksperdid märkisid, on exFAT-süsteem nende hulgas, millel on madal mitmekülgsus. Arvutites, mis kasutavad muid opsüsteeme peale Windowsi, võib failidega töötamine exFAT-i kasutamisel olla keeruline. Veelgi enam, isegi mõnes Windowsi versioonis, näiteks XP-s, ei pruugi exFAT-algoritmidega vormindatud ketaste andmed olla loetavad. Peate installima täiendava draiveri.

Pange tähele, et kuna Windowsis kasutatakse üsna palju erinevaid failisüsteeme, võib kasutajal esineda perioodilisi raskusi erinevate seadmete ühilduvuse osas arvutiga. Mõnel juhul peate installima näiteks WPD-failisüsteemi draiveri (Windows Portable Devices – kaasaskantavate seadmetega töötamisel kasutatav tehnoloogia). Mõnikord ei pruugi kasutajal seda käepärast olla, mille tagajärjel ei pruugi OS välist andmekandjat ära tunda. WPD-failisüsteem võib vajada lisatarkvara, et kohaneda konkreetse arvuti töökeskkonnaga. Mõnel juhul on kasutaja sunnitud probleemi lahendamiseks ühendust võtma IT-spetsialistidega.

Kuidas teha kindlaks, milline failisüsteem - exFAT või NTFS või võib-olla FAT32 - on konkreetsetel juhtudel kasutamiseks optimaalne? IT-spetsialistide soovitused üldiselt on järgmised. Kasutada saab kahte peamist lähenemist. Esimese järgi tuleks eristada tüüpilisi kõvaketta failisüsteeme, aga ka neid, mis on mälupulkadele paremini kohandatud. Paljude ekspertide sõnul sobivad FAT ja FAT32 paremini "välkmäluseadmetele", NTFS - kõvaketastele (andmetega töötamise tehnoloogiliste omaduste tõttu).

Teise lähenemise raames loeb kandja suurus. Kui me räägime suhteliselt väikese ketta või mälupulga mahu kasutamisest, saate need vormindada FAT32-süsteemis. Kui ketas on suurem, võite proovida exFAT-i. Kuid ainult siis, kui te ei kavatse kasutada meediat teistes arvutites, eriti nendes, kus pole Windowsi uusimaid versioone. Kui me räägime suurtest kõvaketastest, sealhulgas välistest, siis on soovitatav need vormindada NTFS-is. Ligikaudu need on kriteeriumid, mille järgi saab valida optimaalse failisüsteemi - exFAT või NTFS, FAT32. See tähendab, et kasutada tuleks ühte neist, võttes arvesse kandja suurust, selle tüüpi ja ka OS-i versiooni, millel draivi peamiselt kasutatakse.

Failisüsteemid Macile

Teine populaarne riist- ja tarkvaraplatvorm ülemaailmsel arvutitehnoloogia turul on Apple'i Macintosh. Selle liini arvutid töötavad operatsioonisüsteemi Mac OS all. Millised on failikorralduse funktsioonid Maci arvutites? Apple'i kõige kaasaegsemad arvutid kasutavad Mac OS Extended failisüsteemi. Varem hallati andmetöötlust Maci arvutites HFS-standardite järgi.

Peamine, mida selle omaduste osas võib märkida, on see, et Mac OS Extended failisüsteemiga hallatav ketas võib sisaldada väga suuri faile - rääkida võib mitmest miljonist terabaidist.

Android-seadmete failisüsteem

Mobiilseadmete populaarseim operatsioonisüsteem - elektroonilise tehnoloogia vorm, mis ei jää populaarsuselt arvutitele alla - on Android. Kuidas vastavat tüüpi seadmetes faile hallatakse? Kõigepealt märgime, et see operatsioonisüsteem on tegelikult Linuxi OS-i "mobiilne" adaptsioon, mida tänu avatud lähtekoodile saab muuta, kasutades seda kõige laiemas seadmetes. Seetõttu toimub failihaldus Androidi kasutavates mobiilseadmetes üldiselt samade põhimõtete järgi nagu Linuxis. Mõned neist oleme eespool märkinud. Eelkõige toimub Linuxis failihaldus ilma meediumit loogilisteks draivideks jagamata, nagu Windowsi puhul. Mis on Androidi failisüsteemis veel huvitavat?

Androidi juurkataloog on tavaliselt andmeala nimega /mnt. Sellest lähtuvalt võib soovitud faili aadress välja näha umbes selline: /mnt/sd/photo.jpg. Lisaks on selles mobiilses OS-is rakendatud andmehaldussüsteemil veel üks funktsioon. Fakt on see, et seadme välkmälu liigitatakse tavaliselt mitmeks osaks, näiteks Süsteem või Andmed. Samas ei saa igaühe algselt määratud suurust muuta. Ligikaudse analoogia selle tehnoloogilise aspekti kohta võib leida, kui pidage meeles, et Windowsi loogiliste draivide suurust on võimatu (kui te ei kasuta spetsiaalset tarkvara) muuta. See tuleb fikseerida.

Veel üks huvitav funktsioon Androidis failidega töötamise korraldamisel - vastav operatsioonisüsteem kirjutab reeglina uued andmed ketta konkreetsesse piirkonda - Andmed. Tööd näiteks jaotisega Süsteem ei tehta. Seega, kui kasutaja aktiveerib nutitelefoni või tahvelarvuti tarkvaraseadete "tehase" tasemele lähtestamise funktsiooni, tähendab see praktikas seda, et andmealasse kirjutatud failid lihtsalt kustutatakse. Jaotis Süsteem jääb reeglina muutumatuks. Lisaks ei saa kasutaja ilma spetsiaalse tarkvarata süsteemi sisus muudatusi teha. Android-seadme meediumisüsteemi ala värskendamise protseduuri nimetatakse vilkumiseks. See ei ole vormindamine, kuigi sageli tehakse mõlemad toimingud korraga. Reeglina kasutatakse vilkumist Android OS-i uuema versiooni installimiseks mobiilseadmesse.

Seega on Androidi failisüsteemi tööpõhimõtted loogiliste draivide puudumine, samuti süsteemi- ja kasutajaandmetele juurdepääsu range eristamine. Ei saa öelda, et see lähenemine erineks põhimõtteliselt Windowsis rakendatust, kuid paljude IT-ekspertide sõnul annab Microsofti OS kasutajatele failidega töötamisel mõnevõrra suurema vabaduse. Kuid nagu mõned eksperdid usuvad, ei saa seda pidada Windowsi selgeks eeliseks. Failihalduse mõttes "liberaalset" režiimi puudutavad loomulikult mitte ainult kasutajad, vaid ka arvutiviirused, millele Windows on väga vastuvõtlik (erinevalt Linuxist ja selle "mobiilsest" teostusest Androidi näol). See on ekspertide hinnangul üks põhjusi, miks Androidi seadmetele mõeldud viiruseid nii vähe on – puhtalt tehnoloogilisest aspektist ei saa need täielikult toimida töökeskkonnas, mis töötab range failijuurdepääsu kontrolli põhimõtetel.

Failisüsteemi struktuur

Failisüsteemi struktuur sõltub operatsioonisüsteemist. Üks esimesi arvuteid, mida kasutati, oli FAT (File Allocation Table) failisüsteem, mida kasutati MS DOS operatsioonisüsteemis.

FAT oli loodud töötama väiksemate kui 1 MB diskettidega ja ei toetanud algselt kõvakettaid. Seejärel hakkas FAT toetama kuni 2 GB suuruseid faile ja partitsioone.

FAT kasutab järgmisi failide nimetamise kokkuleppeid:
nimi peab algama tähe või numbriga ja võib sisaldada mis tahes ASCII-märki, välja arvatud tühikud ja märgid "/\ : ; | = , ^ * ?
Nimi on kuni 8 tähemärgi pikkune, millele järgneb punkt ja valikuline kuni 3 tähemärgi pikkune laiend.
failinimedes olevaid tähemärke ei eristata ega säilitata.

FAT-failisüsteem ei saa iga sektorit eraldi juhtida, seega ühendab see külgnevad sektorid klastriteks. See vähendab salvestusüksuste koguarvu, mida failisüsteem peab jälgima. FAT-i klastri suurus on kahe astmega ja selle määrab ketta vormindamisel oleva helitugevuse suurus. Klaster on minimaalne ruum, mille fail võib hõivata. Selle tulemuseks on osa kettaruumi raiskamisest.

Operatsioonisüsteemides kasutatakse kataloogi ja kausta mõisteid objektidena, mis on loodud failide salvestamiseks ja neile juurdepääsu võimaldamiseks.

Juurdepääs - mälu ja sellesse salvestatud failiga ühenduse loomise protseduur andmete kirjutamiseks ja lugemiseks.

Failile juurde pääsedes peate määrama faili täpse asukoha. Sel juhul, kui failile pääseb juurde käsurealt, näeb kirje välja järgmine:

c:\Papka1\papka2\uchebnik.doc

Sellist kirjet nimetatakse marsruudiks või teeks.

Spetsifikatsioonis failinimele eelnev loogilise draivi nimi näitab loogilist draivi, millelt faili otsida. Samal kettal on korraldatud kataloog, mis salvestab failide täisnimed ja nende omadused: loomise kuupäev ja kellaaeg; maht (baitides); erilised atribuudid. Sarnaselt raamatukogu kataloogisüsteemiga toimib kataloogis registreeritud täielik failinimi šifrina, mille abil operatsioonisüsteem faili kettalt otsib.

Kataloog - failide kataloog, mis näitab asukohta kettal.

WINDOWS operatsioonisüsteemis vastab kataloogi mõiste kausta mõistele.

Kataloogis on kaks olekut - praegune (aktiivne) ja passiivne.

Praegune (aktiivne) kataloog on kataloog, milles kasutaja parasjagu töötab.

Passiivne kataloog – kataloog, millega hetkel ühendus puudub .

Operatsioonisüsteem kasutab hierarhilist kataloogistruktuuri, igal draivil on alati üks põhikataloog (juurkataloog). See asub hierarhilise struktuuri nulltasemel ja seda tähistab sümbol "\" - kaldkriips. Juurkataloog luuakse ketta vormindamise (initsialiseerimise, partitsioonide) käigus ja selle suurus on piiratud. Peakataloog võib sisaldada muid katalooge ja faile, mis on loodud operatsioonisüsteemi käskudega ja mida saab vastavate käskudega kustutada.

Vanemkataloog - kataloog, millel on alamkataloogid .

Alamkataloog – kataloog, mis sisaldub teises kataloogis .

Seega võib iga madalama taseme katalooge sisaldav kataloog olla ühelt poolt nende suhtes ülem ja teiselt poolt ülemise tasandi kataloogi suhtes alluv.

Kataloogistruktuur võib sisaldada katalooge, mis ei sisalda faile ega alamkatalooge. Selliseid alamkatalooge nimetatakse tühjaks. .

Alamkataloogide nimetamise reeglid on samad, mis failidele. Nende formaalseks eristamiseks failidest antakse alamkataloogidele tavaliselt ainult nimed, kuigi tüübi saab lisada samamoodi nagu failidele.

FAT-failisüsteem täidab vaba kettaruumi alati järjestikku algusest lõpuni. Uue faili loomisel või olemasoleva muutmisel otsib see failide eraldamise tabelist kõige esimese vaba klastri. Kui töö käigus mõned failid kustutati, teised aga suurust muutsid, hajuvad tekkinud tühjad klastrid kettale laiali. Kui faili andmeid sisaldavad klastrid pole reas, on fail killustatud. Tugevalt killustatud failid vähendavad oluliselt töö efektiivsust. FAT-i toetavad operatsioonisüsteemid sisaldavad tavaliselt spetsiaalseid kettadefragmentimise utiliite, mis on loodud failitoimingute jõudluse parandamiseks.

FAT-failisüsteemil on suure kettaruumi toetamisel märkimisväärne piirang, piirang on 2 GB.

Suure kettaruumiga kõvaketaste uued põlvkonnad nõudsid arenenumat failisüsteemi.

Windowsi operatsioonisüsteem sisaldab failisüsteemi FAT32, mis toetab kuni kahe terabaidi suuruseid kõvakettaid.
Faili atribuute on FAT32-s laiendatud, et nüüd salvestada faili või kataloogi loomise, muutmise ja viimase juurdepääsu kellaaeg ja kuupäev.
Süsteem lubab failinimedes pikki failinimesid ja tühikuid.
FAT32 failisüsteemi toetavad Windows XP ja Windows Vista operatsioonisüsteemid.

Nende operatsioonisüsteemide jaoks töötati välja teine ​​failisüsteem: NTFS (New Technology File System)

NTFS-is on oluliselt laiendatud üksikutele failidele ja kataloogidele juurdepääsu haldamise võimalusi, kasutusele on võetud suur hulk atribuute, rakendatud tõrketaluvust ning juurutatud tööriistu failide dünaamiliseks tihendamiseks. NTFS võimaldab anda kuni 255 tähemärgi pikkuseid failinimesid

NTFS paraneb OS-i või riistvara tõrke korral ise, nii et ketta maht jääb kättesaadavaks ja kataloogistruktuur on puutumatu.

Iga NTFS-köite faili tähistab kirje spetsiaalses failis MFT (Master File Table). NTFS reserveerib esimesed 16 tabelikirjet, suurusega umbes 1 MB, eriteabe jaoks. Kirjed varundavad peamise failitabeli, taastavad faile, kontrollivad klastrite olekut, määravad failiatribuudid.

Killustumise vähendamiseks püüab NTFS alati faile külgnevates plokkides salvestada. See pakub kataloogis olevate failide tõhusat otsimist.



NTFS loodi taastatava failisüsteemina, kasutades tehingute töötlemise mudelit. Süsteem käsitleb iga sisend-/väljundtoimingut, mis muudab faili NTFS-köitel, tehinguna ja seda saab teostada jagamatu plokina. Kui kasutaja faili muudab, salvestab logifailiteenus kogu teabe, mis on vajalik tehingu uuesti proovimiseks või tagasipööramiseks.

Failisüsteemi huvitav omadus on failide ja kataloogide dünaamiline krüptimine, mis suurendab teabe salvestamise usaldusväärsust.

Küsimused enesekontrolliks.

1. Mis on failisüsteem?

2. Mis on "fail"?

3. Failistruktuuri põhikomponendid.

4. Mis on klaster?

5.Nimeta faili iseloomustavad peamised parameetrid.

6.Kuidas moodustatakse failinimi?

7. Failide nimetamise reeglid FAT-süsteemis.

8.Miks on vaja ketast defragmentida?

9. Mis on kataloog?

10. Selgitage mõisteid "marsruut", "tee".

11.Milleks failinime laiendit kasutatakse?

12. Failisüsteemi põhieesmärk.

13. Milliseid failisüsteeme Windows XP, Windows Vista toetavad?

Saratovi Riikliku Ülikooli Balašovi instituut (filiaal). N.V. Tšernõševski

Kursusetöö lõpetas 142. rühma õpilane Efanov A.P.

Balašov 2010

Sissejuhatus

Praegu salvestatakse ühele kettale keskmiselt mitukümmend tuhat faili. Kuidas mõista kogu seda mitmekesisust, et faili täpselt käsitleda? Failisüsteemi eesmärk on sellele probleemile tõhus lahendus.

Personaalarvutite failisüsteemide arengu määrasid kaks tegurit - uute standardite tekkimine andmekandjatele ja kasvavad nõuded failisüsteemi omadustele rakendusprogrammide poolt (juurdepääsutasemete diferentseerimine, pikkade failinimede tugi UNICODE vormingus). Esialgu oli failisüsteemide puhul ülimalt oluline suurendada andmetele juurdepääsu kiirust ja minimeerida salvestatava teenuseteabe hulka. Hiljem tõusis kiiremate kõvaketaste tulekuga ja nende mahtude suurenemisega päevakorda teabe salvestamise usaldusväärsuse nõue, mis tõi kaasa vajaduse üleliigse andmesalvestuse järele.

Failisüsteemi areng on olnud otseselt seotud relatsiooniliste andmebaaside tehnoloogiate arenguga. Failisüsteem kasutas uusimaid DBMS-is kasutamiseks mõeldud edusamme: tehingumehhanismid, andmekaitse, tõrke tagajärjel iseparandussüsteem.

Failisüsteemide areng on toonud kaasa muutuse enda mõistes "fail" algsest tõlgendusest kui loogiliste kirjete järjestatud jadast faili kui objekti kontseptsioonini, millel on seda iseloomustavate atribuutide komplekt (sh. faili nimi, selle varjunimi, loomise aeg ja andmed ise), mis on rakendatud NTFS-is.

Oma 20-aastase ajaloo jooksul on failisüsteem muutunud lihtsast süsteemist, mis võttis üle failide haldamise funktsioonid, süsteemiks, mis on täisväärtuslik DBMS, millel on sisseehitatud logimise ja andmete taastamise mehhanism.

Erinevalt katsetest kehtestada protokolli standard, mis kirjeldab kaugfailisüsteemidele (CIFS, NFS) juurdepääsu reegleid, ei tohiks oodata sarnast standardit, mis kirjeldab kõvaketaste failisüsteeme. Seda võib seletada asjaoluga, et kõvaketta failisüsteem on endiselt üks operatsioonisüsteemi peamisi osi, mis selle jõudlust mõjutab. Seetõttu püüab iga operatsioonisüsteemi tootja kasutada oma OS-i "natiivset" failisüsteemi.

Failisüsteemide edasine areng toimub andmete salvestamise mehhanismide täiustamise, multimeediumiandmete salvestamise optimeerimise ja andmebaasides kasutatavate uute tehnoloogiate (täistekstiotsingu võimalus, failide sorteerimine erinevate atribuutide järgi) teed.

Failid tuvastatakse nimede järgi. Kasutajad annavad failidele sümboolsed nimed, võttes samal ajal arvesse OS-i piiranguid nii kasutatavate märkide kui ka nime pikkuse osas. Kuni viimase ajani olid need piirid väga kitsad. Niisiis piirab populaarses FAT-failisüsteemis nimede pikkust tuntud skeem 8.3 (8 tähemärki - nimi ise, 3 tähemärki - nimelaiend) ja UNIX System V-s ei tohi nimi sisaldada rohkem kui 14 tegelased. Kasutajal on aga palju mugavam töötada pikkade nimedega, kuna need võimaldavad teil anda failile tõeliselt mnemoonilise nime, mille abil on isegi piisavalt pika aja pärast võimalik meeles pidada, mida see fail sisaldab. Seetõttu kipuvad tänapäevased failisüsteemid toetama pikki sümboolseid failinimesid. Näiteks Windows NT oma uues NTFS-failisüsteemis määrab, et failinimi võib olla kuni 255 tähemärki pikk, arvestamata lõpetavat nullmärki.

Pikkadele nimedele üleminek toob kaasa ühilduvusprobleemi vanemate rakendustega, mis kasutavad lühikesi nimesid. Et rakendused saaksid failidele juurde pääseda vastavalt varasematele tavadele, peab failisüsteem suutma pakkuda pikkade nimedega failidele samaväärseid lühinimesid (aliaseid). Seega on üheks oluliseks ülesandeks sobivate lühinimede genereerimise probleem.

Pikki nimesid ei toeta mitte ainult uued failisüsteemid, vaid ka tuntud failisüsteemide uued versioonid. Näiteks Windows 95 kasutab VFAT-failisüsteemi, mis on oluliselt muudetud FAT-i versioon. Paljude muude täiustuste hulgas on VFAT-i üks peamisi eeliseid pikkade nimede tugi. Lisaks samaväärsete lühinimede genereerimise probleemile oli uue FAT-variandi juurutamisel oluliseks ülesandeks pikkade nimede salvestamise probleem eeldusel, et salvestusviis ja andmestruktuur kettal ei peaks põhimõtteliselt muutuma.

Tavaliselt võivad erinevatel failidel olla samad sümboolsed nimed. Sel juhul tuvastatakse faili üheselt nn liitnimega, mis on sümboolsete katalooginimede jada. Mõnes süsteemis ei saa samale failile mitut erinevat nime anda, samas kui mõnes süsteemis sellist piirangut pole. Viimasel juhul määrab operatsioonisüsteem failile täiendava unikaalse nime, nii et faili ja selle kordumatu nime vahel saab luua üks-ühele vastavuse. Unikaalne nimi on numbriline identifikaator ja seda kasutavad operatsioonisüsteemi programmid. Sellise unikaalse failinime näide on UNIX-süsteemi inode number.

Failitüübid. Faile on erinevat tüüpi: tavalised failid, erifailid, kataloogifailid.

Tavalised failid jagunevad omakorda teksti- ja kahendfailideks. Tekstifailid koosnevad ASCII-koodis esitatud märgistringidest. Need võivad olla dokumendid, programmi lähtekoodid jne. Tekstifaile saab lugeda ekraanilt ja printida printeriga. Binaarfailid ei kasuta ASCII koode, sageli on neil keeruline sisemine struktuur, näiteks programmi objektikood või arhiivifail. Kõik operatsioonisüsteemid peaksid suutma ära tunda vähemalt üht tüüpi faili – nende enda käivitatavad failid.

Spetsiaalsed failid on I/O-seadmetega seotud failid, mis võimaldavad kasutajal teha sisend- ja väljundtoiminguid tavaliste failikirjutus- või faililugemiskäskude abil. Neid käske töötlevad esmalt failisüsteemi programmid ja seejärel teisendab OS need mõnes päringu etapis käskudeks vastava seadme juhtimiseks. Spetsiaalsed failid, aga ka I / O seadmed, jagunevad plokkorienteeritud ja baitorienteeritud.

Kataloog on ühest küljest failide rühm, mille kasutaja on mõnel kaalutlusel kombineerinud (näiteks mänguprogramme sisaldavad failid või failid, mis moodustavad ühe tarkvarapaketi), teisest küljest on see fail mis sisaldab süsteemiteavet failirühma ja selle koostisosade kohta. Kataloog sisaldab selles sisalduvate failide loendit ning failide ja nende omaduste (atribuutide) vahel luuakse vastavus.

Erinevad failisüsteemid võivad atribuutidena kasutada erinevaid omadusi, näiteks:

loa teave,

parool failile juurdepääsuks,

faili omanik,

faili looja,

kirjutuskaitstud lipp

märk "peidetud fail",

märk "süsteemifail",

märk "arhiivifail",

märk "binaarne/märk",

lipp "ajutine" (kustutage pärast protsessi lõppu),

plokkmärk,

rekordpikkus,

kursor sisestuse võtmeväljale,

võtme pikkus,

loomise aeg, viimane juurdepääs ja viimane muutmine,

praegune faili suurus,

maksimaalne faili suurus.

Kataloogid võivad otseselt sisaldada failitunnuste väärtusi, nagu seda tehakse MS-DOS-i failisüsteemis, või viidata neid omadusi sisaldavatele tabelitele, nagu on rakendatud UNIXis (joonis 1). Kataloogid võivad moodustada hierarhilise struktuuri tänu asjaolule, et madalama taseme kataloogi saab kaasata kõrgema taseme kataloogi (joonis 2).

Kataloogihierarhia võib olla puu või võrk. Kataloogid moodustavad puu, kui failil on lubatud siseneda ainult ühte kataloogi, ja võrgu - kui fail võib siseneda mitmesse kataloogi korraga. MS-DOS kataloogides

Joonistamine. 1 Kataloogistruktuur: a - MS-DOS kataloogikirje struktuur (32 baiti);

b – UNIX-i kataloogikirje struktuur

Joonis 2 Failisüsteemi loogiline korraldus

a - ühetasandiline; b - hierarhiline (puu); c - hierarhiline (võrk)

moodustavad puustruktuuri ja UNIXis on see võrgustruktuur. Nagu igal teisel failil, on ka kataloogil sümboolne nimi ja see on üheselt identifitseeritud liitnimega, mis sisaldab kõigi kataloogide sümboolsete nimede ahelat, mille kaudu on tee juurest see kataloog läheb läbi.

Programmeerija tegeleb faili loogilise organiseerimisega, esitades faili teatud viisil organiseeritud loogiliste kirjetena. Loogiline kirje on väikseim andmeelement, millega programmeerija saab välisseadmega vahetamisel töötada. Isegi kui füüsiline vahetus seadmega toimub suurtes ühikutes, annab operatsioonisüsteem programmeerijale juurdepääsu eraldi loogilisele kirjele. Joonisel 3 on mitu faili loogilise korralduse diagrammi. Kirjed võivad olla fikseeritud pikkusega või muutuva pikkusega.

Joonis 3 Failide loogilise korraldamise viisid

Kirjeid saab järjestada faili järjestikku (järjestikune korraldus) või keerulisemas järjekorras, kasutades nn indekstabeleid, mis võimaldavad kiiret ligipääsu ühele loogilisele kirjele (indeks-järjekorras

organisatsioon).

Kirje tuvastamiseks saab kasutada kirje spetsiaalset välja, mida nimetatakse võtmeks. UNIX-i ja MS-DOS-i failisüsteemides on failil kõige lihtsam loogiline struktuur – ühebaidiste kirjete jada.

Faili füüsiline korraldus kirjeldab reegleid faili asukoha kohta välisel salvestusseadmel, eelkõige kettal. Fail koosneb füüsilistest kirjetest – plokkidest. Plokk on väikseim andmeühik, mida välisseade RAM-iga vahetab. Pidev jaotamine on füüsilise korralduse lihtsaim variant (joonis 2.34, a), mille puhul fail on varustatud kettaplokkide jadaga, mis moodustavad kettamälu ühtse pideva osa. Faili aadressi täpsustamiseks piisab sel juhul ainult algploki numbri määramisest. Selle meetodi teine ​​eelis on lihtsus. Kuid on ka kaks olulist puudust. Esiteks ei ole faili loomisel selle pikkus ette teada, mis tähendab, et pole teada, kui palju mälu peaks selle faili jaoks reserveerima ja teiseks tekib selle paigutusjärjekorra juures paratamatult killustumine ning kettaruumi ei kasutata. tõhusalt, kuna üksikud väikesed maatükid (vähemalt 1 plokk) võivad jääda kasutamata.

Järgmine füüsilise organiseerimise viis on paigutamine kettamäluplokkide lingitud loendi kujul (joonis 4, b). Selle meetodi korral on iga ploki alguses kursor järgmisele plokile. Sel juhul võib faili aadressi anda ka ühe numbriga – esimese ploki numbriga. Erinevalt eelmisest meetodist saab iga ploki aheldada faili külge, seega ei teki killustumist. Fail võib selle olemasolu jooksul muutuda, suurendades plokkide arvu. Puuduseks on faili suvaliselt määratud asukohale juurdepääsu rakendamise raskus: faili viienda ploki järjekorras lugemiseks on vaja järjestikku lugeda esimesed neli plokki, jälgides plokinumbrite ahelat. Lisaks sellele ei ole selle meetodi puhul ühes plokis sisalduvate failiandmete hulk kahe astmega (üks sõna kulub järgmise ploki numbri jaoks ära) ja paljud programmid loevad andmeid plokkidena, mis on kahe astmega. suuruses.

Joonis 4 Faili füüsiline korraldus

a - pidev paigutus; b - lingitud plokkide loend;

c - lingitud indeksite loend; d - plokkide numbrite loend

Populaarne tehnika, mida kasutatakse näiteks MS-DOS FAT-failisüsteemis, on lingitud inoodide loendi kasutamine. Iga plokk on seotud elemendiga – indeksiga. Indeksid asuvad ketta eraldi alal (MS-DOS-is on see FAT-tabel). Kui mõnele failile on eraldatud mõni plokk, siis selle ploki indeks sisaldab selle faili järgmise ploki numbrit. Sellise füüsilise korralduse korral säilivad kõik eelmise meetodi eelised, kuid eemaldatakse mõlemad märgitud puudused: esiteks piisab faili suvalisele kohale pääsemiseks ainult registriploki lugemisest, vajaliku arvu failide loendamisest. plokke piki ahelat ja määrake soovitud ploki number ning teiseks hõivavad failiandmed kogu ploki ja seetõttu on nende maht võrdne kahe astmega.

Lõpuks kaaluge faili füüsilise asukoha täpsustamist, loetledes lihtsalt selle faili plokkide numbrid. UNIX kasutab selle meetodi varianti, et tagada aadressi pikkuse fikseerimine, olenemata faili suurusest. Faili aadressi salvestamiseks on eraldatud 13 välja. Kui faili suurus on väiksem või võrdne 10 plokiga, on nende plokkide numbrid loetletud otse aadressi kümnel esimesel väljal. Kui faili suurus on üle 10 ploki, siis järgmine 11. väli sisaldab ploki aadressi, milles võib paikneda veel 128 faili järgmiste plokkide numbrit. Kui fail on suurem kui 10+128 plokki, siis kasutatakse 12. välja, mis sisaldab ploki numbrit, mis sisaldab 128 ploki numbrit, millest igaüks sisaldab selle faili 128 ploki numbrit. Ja lõpuks, kui fail on suurem kui 10+128+128(128, siis kasutatakse kolmekordseks kaudseks adresseerimiseks viimast 13. välja, mis võimaldab määrata faili aadressi maksimaalse suurusega 10+ 128 + 128( 128 + 128 (128 (128.

2. Failisüsteemi üldmõisted

Mis tahes failisüsteemi toimimist saab kujutada mitmetasandilise mudeliga (joonis 5), milles iga tase annab ülemisele tasemele mingi liidese (funktsioonide komplekti) ja ise omakorda kasutab liidest (käitleb komplekti päringute kohta) oma töö tegemiseks.

Märgitaseme ülesanne on määrata faili unikaalne nimi selle sümboolse nime järgi. Failisüsteemides, kus igal failil võib olla ainult üks sümboolne nimi (nt MS-DOS), see tase puudub, kuna kasutaja poolt failile antud sümboolne nimi on nii kordumatu kui ka operatsioonisüsteemi poolt kasutatav.

Joonis 5 Üldine failisüsteemi mudel

Teistes failisüsteemides, kus samal failil võib olla mitu sümboolset nime, otsitakse kataloogiahelat sellel tasemel, et määrata unikaalne failinimi. Näiteks UNIX-i failisüsteemis on unikaalne nimi faili inode number (i-node).

Järgmisel, põhitasemel, määrab selle omadused unikaalse failinimega: juurdepääsuõigused, aadress, suurus ja muud. Nagu juba mainitud, saab faili tunnuseid lisada kataloogi või salvestada eraldi tabelitesse. Faili avamisel teisaldatakse selle omadused kettalt RAM-i, et vähendada failile keskmist juurdepääsuaega. Mõnes failisüsteemis (näiteks HPFS) teisaldatakse faili avamisel koos selle omadustega andmed sisaldava faili paar esimest plokki RAM-i.

Järgmine samm faili päringu rakendamisel on sellele juurdepääsuõiguste kontrollimine. Selleks võrreldakse päringu väljastanud kasutaja või protsessi õigusi antud failile lubatud juurdepääsutüüpide loendiga. Kui taotletud juurdepääsutüüp on lubatud, siis päring jätkub, kui mitte, siis kuvatakse juurdepääsu rikkumise teade.

Loogilisel tasemel määratakse failis soovitud loogilise kirje koordinaadid, see tähendab, et tuleb määrata, millisel kaugusel (baitides) faili algusest nõutav loogiline kirje asub. Samal ajal abstraheeritakse faili füüsiline asukoht, see on kujutatud pideva baitide jadana. Selle taseme tööalgoritm sõltub faili loogilisest korraldusest. Näiteks kui fail on organiseeritud fikseeritud pikkusega l loogiliste kirjete jadana, siis n-nda loogilise kirje nihe on l((n-1) baiti. Loogilise kirje koordinaatide määramiseks failis indeksjärjekorras organisatsioon, loetakse indeksite (võtmete) tabel, mis määrab otseselt loogilise kirje aadressi.

Joonis 6 Failisüsteemi füüsilise kihi funktsioonid

Algandmed:

V - ploki suurus

N - faili esimese ploki number

S - faili loogilise kirje nihe

Füüsilisel tasandil on vaja määratleda:

n - ploki number, mis sisaldab vajalikku loogilist kirjet

s - loogilise kirje nihe ploki sees

n = N + , kus on arvu S/V täisarvuline osa

s = R - arvu S/V murdosa

Füüsilisel tasemel määrab failisüsteem vajaliku loogilise kirje sisaldava füüsilise ploki numbri ja loogilise kirje nihke füüsilises plokis. Selle probleemi lahendamiseks kasutatakse loogilise taseme töö tulemusi - failis oleva loogilise kirje nihet, faili aadressi välisseadmes, samuti teavet faili füüsilise korralduse kohta, sh. ploki suurus. Joonis 6 illustreerib füüsilise kihi tööd faili lihtsaimaks füüsiliseks korraldamiseks pideva plokkide jadana. Rõhutame, et füüsilise kihi probleem lahendatakse sõltumata sellest, kuidas fail oli loogiliselt korraldatud.

Pärast füüsilise ploki numbri määramist pääseb failisüsteem sisend-/väljundsüsteemile juurde, et sooritada vahetusoperatsioon välise seadmega. Vastuseks sellele päringule kantakse vajalik plokk üle failisüsteemi puhvrisse, milles valitakse füüsilise kihi töö käigus saadud nihke põhjal vajalik loogiline kirje.

Uute operatsioonisüsteemide arendajad püüavad pakkuda kasutajale võimalust töötada korraga mitme failisüsteemiga. Uues arusaamas koosneb failisüsteem paljudest komponentidest, mille hulka kuuluvad ka failisüsteemid traditsioonilises mõttes.

Uuel failisüsteemil on mitmetasandiline struktuur (joonis 7), mille ülemisel tasemel on nn failisüsteemi vahetaja (näiteks Windows 95 puhul nimetatakse sellist lülitit installitavaks failisüsteemihalduriks IFS). See pakub liidest rakenduse päringute ja konkreetse failisüsteemi vahel, millele see rakendus juurde pääseb. Failisüsteemi vahetaja teisendab päringud vormingusse, mille aktsepteerib järgmine kiht, failisüsteemi kiht.

Joonis 7 Kaasaegne failisüsteemi arhitektuur

Iga failisüsteemi taseme komponent on realiseeritud vastava failisüsteemi draiverina ja toetab failisüsteemi teatud korraldust. Lüliti on ainus moodul, millel on juurdepääs failisüsteemi draiverile. Rakendus ei pääse sellele otse juurde. Failisüsteemi draiveri saab kirjutada uuesti siseneva koodiga, mis võimaldab mitmel rakendusel korraga failitoiminguid teha. Iga failisüsteemi draiver registreerib oma initsialiseerimise ajal lülitiga, edastades sellele sisestuspunktide tabeli, mida kasutatakse järgmistel failisüsteemi juurdepääsudel.

Oma funktsioonide täitmiseks pääsevad failisüsteemi draiverid I / O alamsüsteemile, mis moodustab uue arhitektuuri failisüsteemi järgmise kihi. Sisend/väljund alamsüsteem on failisüsteemi lahutamatu osa, mis vastutab kõigi failisüsteemi madalama taseme moodulite laadimise, initsialiseerimise ja haldamise eest. Tavaliselt on need moodulid pordidraiverid, mis tegelevad otse riistvaraga. Lisaks pakub I/O alamsüsteem failisüsteemi draiveritele teatud teenust, mis võimaldab neil teha päringuid konkreetsete seadmete kohta. I/O alamsüsteem peab alati mälus olemas olema ja korraldama seadmedraiverite hierarhia ühistööd. See hierarhia võib sisaldada teatud tüüpi seadmedraivereid (kõvaketta või lindiseadme draiverid), tarnija toetatud draivereid (sellised draiverid peatavad seadmete blokeerimise taotlusi ja võivad osaliselt muuta olemasoleva plokkseadme draiveri käitumist, nt andmete krüptimist), pordidraiverid, mis haldavad konkreetseid adaptereid.

Suur hulk failisüsteemi arhitektuuri tasemeid pakub seadme draiveri autoritele suurt paindlikkust – draiver võib päringu mis tahes etapis juhtimise üle võtta – alates rakendusest, mis kutsub failidega tegeleva funktsiooni, kuni hetkeni, mil seadme draiver töötab madalaim tase hakkab kontrolleri registreid vaatama. Failisüsteemi mitmetasandiline mehhanism on realiseeritud kõneahelate kaudu.

Initsialiseerimise ajal saab seadme draiver lisada end mõne seadme kõneahelasse, määrates samal ajal järgmise kõne taseme. I/O alamsüsteem asetab sihtfunktsiooni aadressi seadme kõneahelasse, kasutades ahela õigeks järjestamiseks etteantud taset. Päringu täitmisel kutsub I/O alamsüsteem järjest välja kõik funktsioonid, mis varem kõneahelasse paigutati.

Aheldatud juhiprotseduur võib valida päringu edastamise, muudetud või muutmata kujul, järgmisele tasemele või võimaluse korral võib protseduur taotluse rahuldada ilma seda ahelas edasi saatmata.

3. Failisüsteemide tüübid

3.1 FAT-failisüsteem

Enamik tänapäeval olemasolevaid failisüsteeme on üles ehitatud failijaotamise tabeli (FAT) ümber, mis sisaldab andmeradasid igas ketta klastris. FAT-failisüsteeme on mitut tüüpi – FAT 12, FAT 16 ja FAT 32. Need erinevad failijaotustabelis kasutatavate numbrite arvu poolest. Teisisõnu kasutab FAT 32 igas klastris andmeraja salvestamiseks 32-bitist numbrit, FAT 16 kasutab 16-bitist numbrit ja nii edasi. Praegu on olemas järgmist tüüpi FAT-failisüsteemid:

FAT 12, kasutatakse 16 MB või väiksema mahuga partitsioonidel (näiteks diskett);

FAT 16, kasutatakse partitsioonidel vahemikus 16 MB kuni 2 GB;

FAT 32, kasutatakse (valikuliselt) partitsioonidel vahemikus 512 MB kuni 2 TB.

FAT 12 ja FAT 16 failisüsteeme kasutati algselt DOS-is ja Windowsis ning neid toetavad peaaegu kõik tänapäeval tuntud operatsioonisüsteemid. Enamikul personaalarvutitel on kõvakettad, millele on installitud üks FAT-failisüsteemidest.

FAT 32 failisüsteemi toetavad Windows 95 ja uuemad ning Windows 2000.

Et võimaldada kasutajarakendustel juurdepääs failidele sõltumata kasutatava ketta tüübist, pakub operatsioonisüsteem mitut struktuuri. Neid struktuure toetavad Windowsi süsteemid ja need on allpool loetletud kettal paiknemise järjekorras:

põhi- ja täiendavate partitsioonide alglaadimissektorid;

loogilise ketta alglaadimissektor;

failide eraldamise tabelid (FAT);

juurkataloog;

andmeala;

silinder diagnostiliste lugemis-/kirjutustoimingute tegemiseks.

Teave iga partitsiooni kohta salvestatakse partitsiooni (või loogilise ketta) alglaadimissektorisse iga partitsiooni alguses. Põhipartitsiooni alglaadimissektorisse on paigutatud ka põhipartitsiooni loendi tabel.

Põhipartitsiooni alglaadimissektor (või põhikäivituskirje (Master Boot Record – MBR)) on kõvaketta esimene sektor (silinder 0, pea 0, sektor 1) ja koosneb kahest elemendist.

Peamine partitsioonitabel. Sisaldab ketta partitsioonide loendit ja vastavate loogiliste ketaste alglaadimissektorite asukohta. See tabel on väga väike ja võib sisaldada maksimaalselt nelja kirjet. Seega saate operatsioonisüsteemis (näiteks DOS-is) rohkemate partitsioonide saamiseks luua ühe täiendava partitsiooni ja panna sinna mitu loogilist draivi.

Põhikäivituskood. Väike programm, mida käivitab BIOS. Selle koodi põhiülesanne on anda juhtimine üle partitsioonile, mis on määratud aktiivseks (või buutivaks).

Alglaadimissektor on DOS-i loogilise draivi esimene sektor. Näiteks disketil või Zip-kettal on see kõige esimene füüsiline sektor, kuna disketit ei saa sektsioonideks jagada ja sellel on ainult üks loogiline draiv. Kõvakettal asuvad alglaadimissektor(id) iga mittetäiendava partitsiooni alguses või ketta mis tahes DOS-i loogilise draivina tuvastatud ala alguses.

Need sektorid sarnanevad veidi partitsioonide alglaadimissektoritega, kuna need sisaldavad tabeleid loogilise draivi kohta spetsiaalse teabega.

Ketta parameetrite plokk, mis sisaldab spetsiifilist teavet, nagu partitsiooni suurus, kasutatud kettasektorite arv, klastri suurus ja köite silt.

Alglaadimiskood on programm, mis käivitab operatsioonisüsteemi alglaadimise. DOS-i ja Windows 9x/Me puhul on see fail Io.sys.

Disketti alglaadimissektori laadib ROM BIOS ja kui süsteem käivitatakse kõvakettalt, annab MBR juhtimise üle aktiivse partitsiooni alglaadimissektorile. Mõlemal juhul võtab kontrolli loogilise ketta alglaadimissektor. See teeb mõned kontrollid ja proovib seejärel lugeda kettalt esimest süsteemifaili (DOS-is/Windowsis on see fail Io.sys). Alglaadimissektor pole nähtav, kuna see asub väljaspool loogilise draivi failisalvestusala.

Kataloog on andmebaas, mis sisaldab teavet kettale salvestatud failide kohta. Iga kirje on 32 baiti pikk ja kirjete vahel ei tohi olla eraldajaid. Kataloog salvestab peaaegu kogu teabe operatsioonisüsteemi faili kohta.

Faili nimi ja laiend – nimes on kaheksa ja laiendis kolm tähemärki; punkt failinime ja laiendi vahel on kaudne, kuid see ei sisaldu selles kirjes.

Faili atribuutide bait, mis sisaldab lippu, mis tähistab standardseid failiatribuute.

Faili loomise või muutmise kellaaeg ja kuupäev.

Faili asukohateave, st. ülejäänud klastrite asukoht sisaldub FAT-is.

Kõigil kataloogidel on sama struktuur. Selle andmebaasi kirjed salvestavad olulist teavet failide kohta, mis on lingitud FAT-i salvestatud teabega ühe kirje välja kaudu, mis on failis hõivatud esimese kettaklastri number. Kui kõik ketta failid ei ületaks ühe klastri suurust, poleks FAT-i üldse vaja. FAT sisaldab teavet faili kohta, mida kataloogis pole - klastrite numbreid, milles kogu fail asub.

Failide eraldamise tabel (FAT) sisaldab nende klastrite numbreid, kus failid kettal asuvad. Iga FAT-i klaster vastab ühele numbrile. Sektoreid, mis ei sisalda kasutajaandmeid (faile), FAT-is ei kajastata. Nende sektorite hulka kuuluvad alglaadimissektorid, failide eraldamise tabelid ja juurkataloogi sektorid.

FAT-failisüsteemis ei jaotata kettaruumi sektoriteks, vaid sektorite rühmadeks, mida nimetatakse klastriteks (eralduslahtriteks). Klaster sisaldab ühte või mitut sektorit. Klastri suurus määratakse Fdiski programmi abil ketta partitsioonideks jagamisel ja see sõltub loodava partitsiooni suurusest. Väikseim kettamaht, mida nullist erineva suurusega fail võib hõivata, on üks klaster. Iga fail kasutab täisarvu klastreid. Näiteks kui fail võtab enda alla klastri suurusest ühe baidi rohkem, eraldatakse selle kettale paigutamiseks kaks klastrit.

FAT on arvutustabel, mis haldab kettaruumi eraldamist. Iga selle tabeli lahter on seotud ketta kindla klastriga. Selles lahtris sisalduv number näitab, kas seda klastrit kasutatakse mõne faili jaoks ja kui seda kasutatakse, siis kus asub selle faili järgmine klaster.

Ketta andmeala on ala, mis järgneb mis tahes loogilise draivi alglaadimissektorile, failide eraldamise tabelitele ja juurkataloogile. Seda ala kontrollivad FAT ja juurkataloog ning see on jagatud jaotusrakkudeks, mida nimetatakse klastriteks. Nendes klastrites asuvad kettale salvestatud failid.

3.2 FAT-failisüsteemi vead

Failisüsteemi vead ilmnevad tõenäolisemalt tarkvara kui riistvaratõrgete tõttu (näiteks kui Windows lülitub valesti välja).

Kadunud klastrid. See on kõige levinum failisüsteemi viga, mille puhul FAT-i klastrid märgitakse kasutatavaks, kui neid ei ole. Need orvuks jäänud klastrid ilmuvad siis, kui rakendus sulgub valesti või süsteem jookseb kokku. Kettataasteprogrammid suudavad need klastrid tuvastada ja parandada.

Ketta taastamise programmid skannivad ketta ja loovad RAM-i FAT-i koopia. Seejärel võrreldakse seda koopiat "päris" FAT-iga ja nii selguvad kadunud klastrid, s.t. ei kuulu ühtegi olemasolevasse faili. Peaaegu kõik taasteprogrammid suudavad kaotatud klastrite teabe faili salvestada ja seejärel nullida.

Näiteks loob Chkdsk programm kadunud klastrite ahelatest failid nimega FILE0001.CHK, FILE0002.CHK jne.

Kattuvad failid. Sellised failid ilmuvad siis, kui kaks kataloogikirjet osutavad valesti samale klastrile. Selle tulemusena "sisaldab" klaster mitme faili andmeid, mis on loomulikult vastuvõetamatu.

Enamasti on üks kattuvatest failidest rikutud. Andmete taastamise programmid lahendavad tavaliselt kattuvate failide probleemi järgmiselt: failid kopeeritakse uute nimedega, et vabastada kettaruumi, ja mõlema faili (ja nende muude osade) kattuv ala kustutatakse. Pange tähele, et mõlemad failid kustutatakse, st. sellise vea kõrvaldamine ei tekita uusi probleeme: näiteks osutab kataloogi sisestus olematule failile. Kahte taastatud faili vaadates saate kindlaks teha, milline neist on rikutud.

Kehtetu fail või kataloog. Mõnikord teave kataloogi kirje

fail või alamkataloog ei vasta tõele: kirje sisaldab

vale kuupäeva või vorminguga klaster. Peaaegu kõik ketta taastamise programmid kõrvaldavad ka selle probleemi.

Käsud Chkdsk, Recover ja Scandisk on DOS-i "päästebrigaad", mis on pühendunud ketta rikutud andmete parandamisele. Nendel käskudel on väga lihtne ja mitte liiga sõbralik liides, nende kasutamine mõjutab sageli süsteemi oluliselt, kuid mõnikord võivad need ainult aidata.

3.3 NTFS failisüsteem

Võrreldes FAT-i või FAT32-ga pakub NTFS kasutajale tervet kombinatsiooni eelistest: tõhusus, töökindlus ja ühilduvus. NTFS-failisüsteemi kasutatakse operatsioonisüsteemis Windows NT/2000/XP.

Nagu iga teine ​​süsteem, jagab NTFS kogu kasuliku ruumi klastriteks – korraga kasutatavateks andmeplokkideks. NTFS toetab peaaegu iga klastri suurust - 512 baiti kuni 64 KB, samas kui 4 KB klastrit peetakse teatud standardiks

NTFS-i installimisel jagatakse ketas kaheks ebavõrdseks osaks: esimene on määratud MFT-le (Master File Table - üldine failitabel), seda nimetatakse MFT-tsooniks ja see võtab umbes 12% ketta kogumahust, teine. osa on hõivatud teie enda andmetega. On ka kolmas tsoon, aga sellest lähemalt hiljem. MFT asub ketta alguses, iga MFT kirje vastab failile ja võtab enda alla umbes 1 kb. Põhimõtteliselt on see kõigi kettal olevate failide kataloog. Tuleb märkida, et kõiki NTFS-i andmeelemente käsitletakse failina, isegi MFT-d.

MFT tsoon hoitakse alati tühjana – seda tehakse selleks, et kõige olulisem teenindusfail (MFT) ei killuks kasvades. Ülejäänud 88% draivist on lihtsalt tavaline failide salvestusruum.

Vaba kettaruum sisaldab aga kogu füüsiliselt vaba ruumi – sinna on arvestatud ka MFT tsooni täitmata tükid. MFT-tsooni kasutamise mehhanism on järgmine: kui faile ei saa enam tavaruumi kirjutada, siis MFT-tsooni lihtsalt vähendatakse (operatsioonisüsteemide praegustes versioonides täpselt kaks korda), vabastades seega ruumi failide kirjutamiseks. Tavalises MFT piirkonnas ruumi vabastamisel võib ala uuesti laieneda.

Esimesed 16 faili (metafaili) MFT tsoonis on eriline kast. Need sisaldavad teenindusteavet, neil on kindel asukoht ja need on kättesaamatud isegi operatsioonisüsteemile. Muide, esimene neist 16-st on MFT-fail ise. Esimesest kolmest sissekandest on koopia.

Kolmas tsoon omakorda jagab ketta pooleks. Seda tehakse usaldusväärsuse huvides, MFT-faili teabe kadumise korral saate alati teabe taastada ja seal on see juba tehnoloogia küsimus, nagu öeldakse. Kõik muud failid MFT-tsoonis võivad asuda suvaliselt. Tuleb märkida, et teoreetiliselt pole MFT-tsoonis midagi peale teenindusfailide. Kuid on aegu, kus ketta sellel osal, mis on kasutajale reserveeritud, ei jää enam ruumi ja siis MFT-tsoon väheneb. Vastavalt sellele on ketta teises pooles koht andmete kirjutamiseks. Kui selles tsoonis vabaneb piisav kogus vaba ruumi, laieneb MFT tsoon uuesti. Ja siin ilmneb probleem. Tavalised failid satuvad MFT tsooni ja see hakkab killustama. Aga tagasi metafailide juurde. Igaüks neist vastutab mis tahes töövaldkonna eest. Need algavad nimemärgiga $. Siin on näide mõnest neist:

$MFT pole midagi muud kui MFT ise

$MFTmirr - sama koopia, mis on ketta keskel

$LogFile on logifail

$Boot – nagu nimigi ütleb, on tema Majesteet alglaadimise sektor

$Bitmap - partitsiooni vaba ruumi kaart

Teave metafailide kohta asub MFT-failis. Selline süsteem leiutati NTFS-i töökindluse suurendamiseks ja õigustab ennast. NTFS-il pole ketta suurusel praktiliselt mingeid piiranguid (vähemalt praeguste kõvakettatehnoloogiate puhul). Klastri suurus võib varieeruda vahemikus 512 b kuni 64 Kb, kuigi selle tavaline suurus on 4 Kb.

NTFS kataloog. See on metafail sümboliga $. See on jagatud osadeks, millest igaüks sisaldab faili nime, selle atribuute ja linki MFT-failile. Ja kogu ülejäänud teave on juba olemas. Kataloog on kahendpuu, st. kataloogis asub info kettal olevate andmete kohta nii, et faili otsimisel jagati kataloog kaheks osaks ja vastuseks sai, millises osas otsing asub. Seejärel korratakse sama toimingut valitud poolel. Ja nii edasi, kuni soovitud fail leitakse.

Failid. Neid kui selliseid ei eksisteeri, on nn voolud. See tähendab, et iga teabeühik esindab mitut voogu. Üks voog on andmed ise, see on peamine. Muud vood on failiatribuudid. Mis tahes faili saab lisada mis tahes muule failile. Lihtsamalt öeldes saate mõne andmevoo külge lisada täiesti uue voo ja sinna uusi andmeid kirjutada. See on lihtsalt teave faili mahu kohta vastavalt põhivoo mahule. Tühjad või väikesed failid kettal kuvatakse ainult metafailides. Seda tehti kettaruumi säästmiseks. Üldiselt tuleb märkida, et faili mõiste on palju sügavam ja laiem ning kõiki omadusi on üsna raske kirjeldada. Pange tähele, et failinime maksimaalne pikkus võib olla kuni 255 tähemärki.

Lisaks on NTFS-failidel selline atribuut nagu tihendatud. Iga faili või isegi kataloogi saab tihendada. Tihendusoperatsioon ise toimub märkamatult, kuna selle kiirus on üsna suur. Kuni hunnikuni kasutatakse nn virtuaalset pakkimist, st ühte faili osa saab tihendada, teist mitte. Kokkusurumine toimub plokkides. Iga plokk on võrdne 16 klastriga.

NTFS kasutab andmete krüptimist. Seega, kui peaksite mingil põhjusel süsteemi uuesti installima, ei saa te krüptitud faile ilma vastava loata lugeda.

Ajakirjandus. NTFS on tõrkekindel süsteem, mis võib peaaegu iga tõelise rikke korral end hõlpsalt õigesse olekusse tagasi viia. Iga kaasaegne failisüsteem põhineb sellisel kontseptsioonil nagu tehing - toiming, mis tehakse täielikult ja õigesti või üldse mitte. NTFS-il lihtsalt pole vahepealseid (vigaseid või valed) olekuid – andmete muutumise kvanti ei saa jagada enne ja pärast riket, tuues kaasa hävingu ja segaduse – see on kas toime pandud või tühistatud.

Näide: andmeid kirjutatakse kettale. Järsku selgub, et me ei saanud kirjutada kohta, kuhu just otsustasime kirjutada järgmise osa andmetest – pinna füüsiline kahjustus. NTFS-i käitumine on sel juhul üsna loogiline: kirjutamistehing veeretatakse tervikuna tagasi – süsteem saab aru, et kirjutamist pole tehtud. Koht märgitakse nurjunuks ja andmed kirjutatakse teise kohta – algab uus tehing.

Seega on logimine vahend vigade ja süsteemitõrgete oluliseks vähendamiseks. On ebatõenäoline, et tavaline NTFS-i kasutaja kunagi süsteemiviga märkab või chkdsk-d käivitama sunnib – kogemused näitavad, et NTFS taastatakse täiesti õigesse olekusse isegi krahhide korral väga pingelistel kettategevuse hetkedel. Selle protsessi käigus saate isegi ketast optimeerida ja lähtestada – andmete kadumise tõenäosus on isegi sel juhul väga väike. Siiski on oluline mõista, et NTFS-i taastesüsteem tagab failisüsteemi, mitte teie andmete õigsuse. Kui kirjutasite kettale ja sattusite õnnetusse, ei pruugita teie andmeid kirjutada.

3.4 FAT 32 ja NTFS-i võrdlusomadused. Eelised ja miinused

NTFS-i eelised:

1. Kiire juurdepääsu kiirus väikestele failidele;

2. Kettaruumi maht on täna praktiliselt piiramatu;

3. Failide killustatus ei mõjuta failisüsteemi ennast;

4. Andmete salvestamise ja tegeliku failistruktuuri enda kõrge usaldusväärsus;

5. Suur jõudlus suurte failidega töötamisel;

NTFS-i puudused:

1. Kõrgemad nõuded RAM-ile võrreldes FAT 32-ga;

2. Keskmise suurusega kataloogidega töötamine on nende killustatuse tõttu keeruline;

3. Madalam töökiirus võrreldes FAT 32-ga;

FAT 32 eelised:

1. suure kiirusega töö;

2. Madal RAM nõue;

3. Tõhus töö keskmise ja väikese suurusega failidega;

4. Väiksem ketta kulumine, kuna lugemis-/kirjutuspea liigub vähem.

FAT32 puudused:

1. Madal süsteemi rikkekaitse;

2. Ebaefektiivne töö suurte failidega;

3. Sektsiooni ja faili maksimaalse mahu piirang;

4. Vähendatud jõudlus killustatuse ajal;

5. Vähendatud jõudlus, kui töötate kataloogidega, mis sisaldavad suurt hulka faile.

3.5 Linuxi failisüsteemid

Kaasaegne, võimas ja tasuta Linuxi operatsioonisüsteem pakub laia valikut kaasaegsete süsteemide ja kohandatud tarkvara arendamiseks. Mõned kõige huvitavamad arengud viimaste Linuxi tuumade puhul on uued suure jõudlusega tehnoloogiad andmete salvestamise, eraldamise ja värskendamise haldamiseks kettal.

3.5.1 EXT 2 (teine ​​laiendatud failisüsteem)

Ext2 on Linuxi loodud vaikefailisüsteem. Selle loomise tulemusena koosneb kettaseadme partitsioon paljudest aladest - plokkide rühmadest, mis omakorda jagunevad väiksemateks aladeks.

Inode on kursor failile, mis sisaldab failiga seotud teavet: omanik, õigused, viimase muutmise kuupäev. Igal failil on üks sisend. Inoodide arv on konstantne ja see määratakse failisüsteemi loomise ajal (vaikimisi on üks inode iga 4096 baidi kohta).

Superblock - kogu failisüsteemi teave salvestatakse superplokki. Igas plokirühmas on superplokk, see on lihtsalt esimese plokirühma superploki varukoopia.

Grupi deskriptor – siin salvestatakse teave iga plokkide rühma kohta. See sisaldab ka viiteid inode tabelile.

Ploki bitmap on bittide massiiv, mis näitab kasutatud plokke.

Inode tabel on antud inoodide rühma jaoks tegelikult eraldatud inode plokkide tabel.

Andmeplokid on plokid, mis sisaldavad otseselt andmeid.

Joonis 8 näitab Linuxi failisüsteemi diagrammi.

Joonis 8 Ext2 failisüsteem

Ext3-failisüsteem on sisuliselt ext2-failisüsteemi täiustatud versioon. Need täiustused pakuvad järgmisi eeliseid:

1) Juurdepääsetavus

Ootamatu elektrikatkestuse või süsteemi krahhi korral (mida nimetatakse graatsiliseks süsteemi seiskamiseks) tuleb iga ühendatud ext2 failisüsteemi terviklikkust kontrollida programmi e2fsck abil. See on pikk protsess, mis võib süsteemi alglaadimist märkimisväärselt aeglustada, eriti suurte failidega kettadel. Ja kuni kontrolli lõpuleviimiseni on ketaste andmed kättesaamatud.

Ext3-failisüsteemi läbiviidav päevik tähendab, et pärast süsteemi ebaõiget väljalülitamist pole selliseid failisüsteemi kontrolle enam vaja. Järjepidevuse kontrollimine ext3-s tehakse ainult väga harvadel juhtudel, kui esineb riistvaratõrge, näiteks kõvaketta rike. Ext3-failisüsteemi taastamise aeg pärast süsteemi ebaõiget seiskamist ei sõltu failisüsteemi suurusest ega failide arvust, see sõltub terviklikkuse säilitamiseks kasutatava ajakirja suurusest. Tavalise logisuurusega taastamine võtab olenevalt arvuti kiirusest aega umbes sekundi.

2) Andmete terviklikkus

Ext3 failisüsteem tagab usaldusväärselt andmete terviklikkuse süsteemi vale väljalülitamise korral. Failisüsteem ext3 võimaldab teil valida oma andmete tüübi ja kaitsetaseme. Vaikimisi tagavad ext3 köited failisüsteemi oleku põhjal andmete terviklikkuse kõrge taseme.

3) Kiirus

Kuigi mõned andmed kirjutatakse mitu korda, on enamikul juhtudel ext3 kiirem kui ext2, kuna ext3 päevik optimeerib kettapea liikumist. Kiirust saate optimeerida, valides kolme logimisrežiimi vahel, kuid pange tähele, et see mõjutab andmete terviklikkuse taset.

4. Kõvaketaste ja failisüsteemidega töötamise programmid

4.1 Acronis Disk Director Suite 10

Acronis Disk Director Suite 10 pakub selliseid funktsioone nagu kõvaketaste haldamine, nende jagamine sektsioonideks ilma andmeid kaotamata, operatsioonisüsteemi teisaldamine kettalt kettale ja palju muud. See on professionaalne programm kõvaketastega kodus töötamiseks.

Acronis Disk Director Suite'i täielikuks kasutamiseks peab teie käsutuses olema:

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

protsessor, mille taktsagedus on 300 MHz või rohkem;

256 MB RAM;

100 MB vaba kõvakettaruumi;

Kirjutaja CD/DVD-draiv.

Programmi installimine ei tekita probleeme. Kõik on intuitiivne.

Programmi liides on äärmiselt lihtne ja selge

Professionaalne lähenemine tööle on korraldatud tavakasutajate oskusi arvestades. Acronis Disk Director Suite 10 sisaldab värskendatud utiliite, mis olid varem saadaval ainult eraldi. Partition Manager (Partition Expert) aitab teil kõvaketta partitsioone kopeerida, poolitada ja teisaldada ilma andmete kadumiseta. See funktsioon on üks populaarsemaid ja kasulikumaid. Kui vana on katki, saate oma operatsioonisüsteemi koos kõigi failidega uuele kõvakettale üle kanda. See välistab vajaduse operatsioonisüsteemi kõigi programmidega uuesti installida. Või võite kasutamise hõlbustamiseks kõvaketta lihtsalt sektsioonideks (kohalikeks draivideks) jagada. Ketta jagamine mitmeks partitsiooniks ilma andmeid kaotamata on sama lihtne kui pirnide koorimine. Selleks tuleb teha vaid paar hiireliigutust: käivita programm, paremklõpsake kõvakettal, valige "Muuda suurust" ja partitsiooni visuaalseid piire liigutades määrake endale meelepärane suurus. Ja ongi kõik. Jah, veel üks asi: mis tahes toimingu eraldi või korraga lõpetamiseks vajutage nuppu "Lõpeta" (joonis 9).

Joonis 9: Sektsiooni suuruse muutmine

Kettaredaktor teeb kõvakettaga töötamiseks spetsiaalseid toiminguid: kontrollimisest kuni vigade parandamiseni. Saate käivitada kõvaketta automaatse vigade kontrolli, kui kasutate seda programmi esimest korda või kasutate isegi hex-redaktorit. Kontrollimiseks valige lihtsalt kõvaketas või partitsioon, paremklõpsates sellel ja valige "Kontrolli". Utiliit puhastab kõvaketta. Partition Recovery Utility (Recovery Expert) on professionaalne tööriist kaotatud või kustutatud partitsioonide taastamiseks ja taastamiseks. Võib juhtuda, et kõvaketta partitsioon kustutatakse kogemata või tarkvaravea tõttu. See utiliit suudab suure täpsusega taastada isegi paar kuud tagasi kustutatud andmeid. Selle utiliidi helistamiseks peate klõpsama vahekaarti "Võlurid" ja valima "Partition Recovery".

Programm peab sündmuste logi, alati saab vaadata, mis kõvakettaga juhtus, milliseid toiminguid programm ise tegi. See on kasulik, kui oleme unustanud, kuidas seda või teist toimingut kõvakettal õigesti teha, või teada saada toimingu sooritamise toimingute jada. Programmis on kõik käigud salvestatud (joonis 10)!

Joonis 10: Programmi sündmuste logi

Ja veel üks programmi kasulik funktsioon on alglaadimisketta loomine. Kui äkki Windows "tellis pika eluea" ja meil ei olnud aega oma failidest koopiaid teha, ei tohiks te arvata, et väärtuslik teave on igaveseks kadunud. Kasutame alglaadimisketast: see on võimeline töötama kõvakettaga ilma operatsioonisüsteemi laadimata. Saame kõvaketta sisuga täielikult töötada, faile üle kanda, vigu testida ja operatsioonisüsteemi laadimise probleemi lahendada. Programmi funktsioonid ja välimus ei erine sel juhul Windowsis kasutatavatest. Üks väike "aga": peate eelnevalt alglaadimisketta tegema, kõige parem kohe pärast programmi installimist (joonis 11).

Joonis 11 Alglaadimisketta loomine

Alglaadimisketta loomine võtab paar minutit ja ei nõua mingeid oskusi. Selleks vajate tühja CD-R-plaati. Valige vahekaardil "Tööriistad" "Loo alglaadimiskettad". Peate lihtsalt klõpsama kõikjal "Järgmine" ja ootama, kuni ketas on põletatud. See on kõik. Acronis Disk Director Suite 10 on nüüd CD-l olemas.

4.2. Power Quest Partition Magic 8.0

Power Quest Partition Magic 8.0 programm töötab kõigi Windowsi versioonidega, see soovib näha vähemalt 32 MB muutmälu ja vähemalt Pentium-150 protsessorit. Partition Magic 8.0 mõistab FAT16, FAT32, NTFS, Linux Ext2/3 failisüsteeme ja teab ka, mis on Linuxi vahetuspartitsioon.

Vaatame, mida arendajad meile programmi uue versiooni oskuste osas lubavad:

Kõvaketta partitsioonide loomine ja kustutamine, samuti nende partitsioonide suuruse muutmine ilma andmeid kaotamata. Nagu näete, FDISK puhkab.

Sektsioonide ühendamine andmeid kaotamata (näiteks saate ühendada põhisektsiooni ja loogilise draivi üheks tervikuks).

Teisendage FAT32 failisüsteemideks FAT16 ja NTFS ning NTFS FAT32-ks.

Klastri suuruse muutmine kettaruumi raiskamise vähendamiseks.

Pärast draivitähe muutmist kontrollib sisseehitatud utiliit DriveMapper programmide teid ja vajadusel teeb registris muudatusi, samuti teeb süsteemi otseteedes vastavad parandused.

Kõvaketaste kontrollimine vigaste sektorite suhtes.

Töötab partitsioonidega kuni 160 GB.

Uute seadmete tugi USB2 ja FireWire (IE 1394) sideprotokollidega.

Partition Magic 8.0-ga kaasas olev utiliit Boot Magic 8.0 loob vajadusel mugava menüü konkreetse operatsioonisüsteemi alglaadimise valimiseks.

Võimalus luua alglaadimisdiskette DOS-i keskkonnas muudatuste või paranduste tegemiseks. Muide, neid diskette (2 tk) saab luua kohe programmi installimise käigus või saab seda teha pärast seda, kui valite menüüst Start > Programs > PartitionMagic 8.0 Tools üksuse Create Rescue Diskettes. Ärge olge laisk seda operatsiooni tegema, sest elu on ettearvamatu asi.

Programmi peaaknas kuvatakse kohe visuaalselt kõik teie arvuti kõvaketastel saadaolevad partitsioonid (joonis 12).

Joonis 12: Peaaken "Partition Magic 8.0

Lisaks on iga jaotis esile tõstetud spetsiaalse värviga, millega Partition Magic tähistab failisüsteeme - viga on raske teha. Samuti on selgelt näha vaba ruumi hulk partitsioonis (jaotamata ruum on valgega esile tõstetud). Kõigi partitsioonidega toimingute käsud on saadaval nii menüüs kui ka kontekstimenüüs. Niisiis, mis meil on, vaadates joonist 9? Pilt näitab, et arvutisüsteemiüksusesse on installitud kaks füüsilist kõvaketast.

Uuel versioonil on tegevuspaneel, mis asub peaakna vasakus servas. Jaotises Vali ülesanne esitleb põhiliste partitsioonitoimingute jaoks mõeldud abistajate komplekti, mis aitavad algajatel kasutajatel teha vajalikke manipulatsioone uue partitsiooni loomiseks, vaba ruumi ümberjaotamiseks ja uue operatsioonisüsteemi installimiseks. Iga "viisard" koosneb järjestikuste sammude tsüklist, mis on tehtud arusaadavate akende kujul.

Proovime nende "meistrite" teenustest keelduda ja teeme kõik põhitoimingud ise. Esiteks kaaluge olukorda ainsa peamise partitsiooniga (kuhu Windows on installitud), kuhu peame looma loogilise draivi.

Loomulikult vajame loodava täiendava partitsiooni jaoks vaba ruumi, mille laename põhipartitsioonilt. Paremklõpsake partitsioonipildil Partition Magic aknas ja valige kontekstimenüüst käsk Resize/Move. Samanimelises aknas saab kohe väljale Uus suurus määrata lisapartitsiooni suuruse või lohistada liugurit kursoriga ja valida “silma järgi” soovitud suurus (joonis 13).

Joonis 13: partitsiooni suuruse muutmine

Programm annab koheselt infot uue partitsiooni suuruse miinimum- ja maksimumväärtuste kohta, mis ei lase meil taevasse jõuda.

Pärast põhipartitsioonist kettaruumi "ausa võtmise" protseduuri tõstetakse vaba ruum esile näotu halli värviga - Jaotamata.

Just sellel "neitsimaadel" loome loogilise kettaga täiendava partitsiooni. Klõpsame hiirt uuesti, kuid juba hallil väljal, mille järel valime kontekstimenüüst käsu Loo (joonis 14):

Joonis 14

Kuna otsustasime luua loogilise ketta, siis valime väljal Loo kui parameetri Loogiline ja failisüsteemi FAT32, mida mõistavad kõik Microsofti süsteemid.

Loodud partitsiooni täiendavat vormindamist pole vaja, kuna oleme määranud failisüsteemi tüübi, kuid kui soovite loogilist draivi vormindada näiteks NTFS-is, kasutame kontekstimenüü käsku Format või sama käsk peaakna partitsioonimenüüs. Ülaltoodud protseduuride lõpus näitab uus partitsioon koos uhiuue loogilise draiviga D: meile oma puhast nägu (joonis 15):

Joonis 15: Loogiline draiv on peaaegu valmis

Nagu näete, hoolitses programm ise uuele draivile tähe määramise eest. Jääb üle klõpsata põhiakna vasakus alanurgas nuppu Rakenda, misjärel jõustuvad muudatused otse Windowsi keskkonnas (joonis 16):

Joonis 16: protsess on alanud

Kuid see pole veel lõpp: sisseehitatud utiliit Drive Mapper küsib registris paranduste tegemiseks kohe luba programmide muudetud teede jälgimiseks, sest selliseid on - meil on ju uus ketas täht D : ja CD-ROM draiv on saanud tuntuks kui täht E: (joonis 17).

Joonis 17

4.2.1 Partitin Magicu DOS-versioon

Pärast DOS-i versiooni laadimist ilmub programmi aken, mis pole aga nii ilus kui 32-bitises kehastuses, võimaldades teil teha peaaegu kõiki Windowsi all olevaid operatsioone, mis kasutajale alluvad. Sektsiooni suuruse muutmiseks ja uue partitsiooni loomiseks klõpsake lihtsalt olemasoleva partitsiooni väljal ja valige kontekstimenüüst käsk Resize/Move (Joonis 18).

Joonis 18

Suuruse muutmise mootoriga aken on meile juba Windowsi versioonist tuttav ja see ei tekita raskusi: lihtsalt lohistage mootor uue partitsiooni soovitud suurusele või sisestage kohe uue partitsiooni jaoks vajalik arv megabaite või gigabaite. väljal Vaba ruum pärast (joonis 19).

Joonis 20

Loendis Loo nimega valige soovitud suvand: loogilise ketta loogiline partitsioon või teise esmase (peamise) partitsiooni loomisel esmane partitsioon. Loendis Partition Type märgime tulevase partitsiooni või loogilise ketta failisüsteemi tüübi: FAT32, NTFS või meie äranägemise järgi (joonis 21).

Joonis 21

Pärast neid manipuleerimisi ilmub programmi aknasse uue kõvaketta struktuuri PROJEKT (joonis 22).

Joonis 22

Seejärel vajutage tehtud muudatuste salvestamiseks nuppu Rakenda ja vastake Jah igavesele küsimusele - olla või näiteks mitte olla (Joonis 23). Pärast lühikest programmi tööaega (joonis 24) jõustuvad kõik muudatused.

Joonis 23

Joonis 24

Nagu juba mainitud, saab Partition Magic muuta esmased partitsioonid loogilisteks draivideks ja vastupidi, samuti teisendada FAT32 > NTFS ja vastupidi. Sama teeb ka DOS-versioon: soovitud partitsioonil klõpsates vali tuttav Convert käsk, mille järel ei ilmu akent, vaid avaneb rippmenüü selle partitsiooni jaoks saadaolevate käskudega. Näiteks NTFS-failisüsteemiga loogilise ketta käsud näevad välja sellised: saate muuta selle primaarseks partitsiooniks (Loogiline esmaseks) või teisendada failisüsteemi FAT32-ks (NTFS-i FAT32-ks) - joonis 25.

joonis 25

Ja siin on see, mida saate teha FAT32 partitsiooniga (joonis 26): nagu näete, on võimalik muuta põhipartitsioon loogiliseks kettaks (Primary to Logical) ja teisendada failisüsteem ... FAT-iks (tähendab FAT16 süsteem). Miks pole NTFS-i teisendamise käsk saadaval? Ma ütlen teile väikese saladuse: selles partitsioonis polnud andmeid ja seetõttu polnud midagi kaotada ning partitsiooni failisüsteemi NTFS-i muutmiseks peaksite valima käsu Format - see on kõik.

Joonis 26

Kõik Partition Magicu DOS-i versiooni kontekstimenüü käsud on saadaval põhiakna menüüs Operations (Joonis 27).

Joonis 27

Nagu näete, on programmil Partition Magic 8.0 palju funktsioone ja abiprogramme ning see suudab lahendada peaaegu kõik ülesanded, mida kasutaja kettasektsioonidega töötades lahendab.

Järeldus

Failisüsteem on kasutaja seisukohast "ruum", kuhu failid paigutatakse. Ja teadusliku terminina on see osa operatsioonisüsteemist, mille eesmärk on pakkuda kasutajale mugavat liidest kettale salvestatud andmetega töötamisel ning tagada failide jagamine mitme kasutaja ja protsesside vahel.

Laiemas mõttes hõlmab mõiste "failisüsteem":

kõigi kettal olevate failide kogumine,

failide haldamiseks kasutatavate andmestruktuuride komplektid, nagu failikataloogid, failideskriptorid, vaba ja kasutatud kettaruumi eraldamise tabelid,

süsteemitarkvara tööriistade komplekt, mis rakendab failihaldust, eelkõige: loomine, hävitamine, lugemine, kirjutamine, nimetamine, otsimine ja muud toimingud failidega.

Failisüsteemi olemasolu võimaldab teil määrata faili nime, kus see asub. Kuna personaalarvutites hoitakse infot peamiselt ketastel, siis määravad nendel kasutatavad failisüsteemid andmete korralduse ketastel (täpsemalt loogilistel ketastel). Selles artiklis käsitletakse mitut tüüpi failisüsteeme ja nende võrdlevaid omadusi.

Bibliograafia

Guk M. IBM PC riistvara: enimmüüdud – 2. väljaanne: Peter, 2005.

Figurnov V.E. "IBM PC kasutajale" – 7. väljaanne, muudetud. ja täiendav - M. INFA-M, 1998.

Arvutite ja süsteemide organiseerimine

Orlov S., Tsilker B. Arvutite ja süsteemide korraldus: Peter, 2007, 672 lk.

Melekhin V.F., Pavlovsky E.G. Arvutusmasinad, süsteemid ja võrgud, 3. väljaanne: M.: Kirjastuskeskus "Akadeemia", 2007, 560 lk.

Gordeev A.V. OS. Õpik gümnaasiumile. 2. trükk: Peeter, 2004, 416 lk.

Tanenbaum E.S. Tõlge: A. Leontiev Kaasaegsed operatsioonisüsteemid: Peter, 2002, 1040 lk.

Sujuv A. A. Windows XP kõigile: Peter, 2005, 208 lk.

Elektroonilised ressursid

Ülevaade FAT- ja NTFS-failisüsteemidest http://support.microsoft.com/kb/100108

www.powerquest.com

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