Ext2-tiedostojärjestelmä Linuxissa. Kuinka käyttää Ext2-, Ext3-, Ext4-tiedostojärjestelmiä Windows-ympäristössä Ext2-tiedostojärjestelmä

Kuinka mahdollistaa levyosion tai siirrettävän tietovälineen käyttö tiedostojärjestelmillä Windows-ympäristössä Ext 2/3/4 ? Jos esimerkiksi tietokoneessa on myös toinen järjestelmä Linux. Ja sinun on työskenneltävä sen tietojen kanssa ympäristöstä Windows. Tai toinen esimerkki - kun virtuaaliset levyt on asennettu Windowsin sisään asennettuna virtuaalikoneita järjestelmät Linux tai Android. Ext2/3/ 4 Windows ei voi toimia natiivisti; se tarvitsee tätä varten kolmannen osapuolen työkaluja. Millaisia ​​keinoja nämä ovat? Katsotaanpa niitä alla.

***
Kolme ensimmäistä työkalua mahdollistavat vain tietolaitteiden lukemisen Ext 2/3/4. Uusin ratkaisu mahdollistaa sekä tietojen lukemisen että kirjoittamisen. Kaikki alla käsitellyt työkalut ovat ilmaisia.

1. DiskInternals Linux Reader

Yksinkertainen ohjelma on primitiivinen tiedostonhallinta, joka on tehty tavallisen Windowsin Resurssienhallinnan tapaan ja joka tukee tiedostojärjestelmiä Ext 2/3/4 , Reiser4 , HFS , UFS2. Ohjelmaikkunassa näemme osiot ja laitteet Linux tai Android.

Kopioidaksesi sinun on valittava kansio tai tiedosto, paina -painiketta "Tallentaa".

Määritä sitten kopiointipolku.

2. Total Commander DiskInternals Reader -laajennus

Suosikkien fanit voivat poimia tietoja Linux tai Android Windowsin sisällä tämän tiedostonhallinnan avulla. Mutta asenna siihen ensin erityinen laajennus. Yksi näistä laajennuksista on , se voi yhdistää ja lukea tietolaitteita, jotka on alustettu muotoon Ext 2/3/4 , Rasva/exFAT , HFS/HFS+ , ReiserFS. Lataa laajennus, pura sen arkisto sisällä , vahvista asennus.

Aloitetaan (tärkeä) ylläpitäjän puolesta. Mennään osioon. Klikkaus.

Täällä muiden levyosien ja tietovälineiden ohella se, jossa on Ext 2/3/4 .

Tiedot kopioidaan perinteisesti tapa - painamalla F5 toisessa paneelissa.

3. Plugin for Total Commander ext4tc

Yksinkertaistettu vaihtoehto edelliselle ratkaisulle - ext4tc, toinen plugin for . Se voi muodostaa yhteyden lukeakseen vain muotoiltuja tietolaitteita Ext 2/3/4. Lataa laajennus, pura sen arkisto tiedostonhallinnassa ja aloita asennus.

Aloitetaan (tärkeä) ylläpitäjän puolesta. Klikkaus. Mennään .

Jos haluat kopioida tietoja, käytä tavallista menetelmää F5-näppäimellä.

4. Ext2Fsd-tukiohjain

Ohjelmoida Ext2Fsd– tämä on kuljettaja Ext 2/3/4, se toteuttaa tuen näille tiedostojärjestelmille käyttöjärjestelmätasolla. Voit työskennellä näillä tiedostojärjestelmillä alustettujen levyosien ja asemien kanssa kuten tavallisten Windows-tuettujen medialaitteiden kanssa Explorer-ikkunassa tai kolmannen osapuolen ohjelmia. Ohjaimen avulla voit sekä lukea että kirjoittaa tietoja.

Lataa uusin nykyinen versio Ext2Fsd.

Asennuksen aikana aktivoimme (jos teet pitkäaikaista työtä) kolme ehdotettua valintaruutua:

1 — Ohjaimen automaattinen käynnistys Windowsin kanssa;
2 - Tallennustuki Ext2;
3 - Muotoilutuki Ext3.

Esiviimeistelyvaiheessa otamme käyttöön mahdollisuuden käynnistää ajurien hallintaikkuna - sekä määrittää tiedot laitteille Ext 2/3/4 asemakirjaimet.

Avautuvassa ikkunassa Näemme tiedotusvälineet, joilla on jo osoitettu kirje. Esimerkiksi meidän tapauksessamme kantaja, jolla on Ext4 ensimmäinen ilmainen kirje annetaan F.

Nyt voimme työskennellä levyn kanssa F Explorer-ikkunassa.

Määritä kirjain uusille yhdistetyille laitteille Ext 2/3/4 voidaan tehdä käyttämällä kunkin ikkunassa näkyvän kontekstivalikkoa laitteet. Mutta yksinkertaisesti määrittämällä asemakirjaimen, tällainen laite ei tule näkyviin sen jälkeen käynnistä Windows uudelleen, tämä ratkaisu on vain yksi tietokoneistunto. Voit tehdä uuden laitteen kanssa Ext 2/3/4 pysyvästi näkyvissä Windows-ympäristössä, sinun on kaksoisnapsautettava sitä avataksesi asetusikkunan ja määritettävä pysyvän yhteyden parametrit. Toisessa sarakkeessa tarvitset:

Jos kyseessä on irrotettava tietoväline, valitse kuvakaappauksessa numerolla 1 merkitty valintaruutu ja määritä aseman kirjain;
Sisäisten levyjen ja osioiden kohdalla aktivoi alla olevassa kuvakaappauksessa oleva valintaruutu numerolla 2 ja ilmoita myös aseman kirjain.

14 kesäkuuta

Tiedostojärjestelmät ext2, ext3, XFS, ReiserFS, NTFS

Tiedostojärjestelmä- tämä on järjestys, joka määrittää tavan järjestää, tallentaa ja nimetä tietoja kaikilla tietokoneiden sähköisillä tallennusvälineillä.

Tiedostojärjestelmien monimuotoisuus selittyy sillä, että jokainen on keksitty omaa erityistä tehtäväänsä varten. Jotkut kirjoittavat erittäin nopeasti pieniä tiedostoja (esimerkiksi jopa 1 Gt), mutta samalla ne toimivat huonosti suurten tiedostojen kanssa tai eivät toimi niiden kanssa ollenkaan. Jotkut ovat hyviä turvallisuuden kannalta, toiset luku-/kirjoitusnopeuden kannalta. Jokaisella tiedostojärjestelmällä on omat hyvät, huonot puolensa, haavoittuvuutensa ja ominaisuutensa.

SISÄÄN Linux Yleisimmin käytetyt tiedostojärjestelmätyypit ovat:

  1. ext2- tarkoittaa Toinen laajennettu tiedostojärjestelmä(toinen laajennettu tiedostojärjestelmä). Remy Cardin vuonna 1993 kehittämä tiedostojärjestelmä Linux-ytimelle, vuosina 1993–2001 se oli päätiedostojärjestelmä. Linux.
    Etuna on korkea luku-/kirjoitusnopeus.
    Järjestelmän suurin haitta ext2 on se, että sitä ei kirjata päiväkirjaan, mutta juuri tämän vuoksi sillä on loistava suorituskyky ( puunkorjuu on päiväkirjaprosessi, joka tallentaa luettelon muutoksista, jotka auttavat säilyttämään tiedostojärjestelmän eheyden erilaisten järjestelmävikojen aikana);
  2. ext3- tarkoittaa Kolmas laajennettu tiedostojärjestelmä(laajennetun tiedostojärjestelmän kolmas versio). Stephen Tweedyn vuonna 2001 kehittämä, edelleen käytössä jakeluissa Linux. Syntyi parannetuksi ext2.
    Tämän järjestelmän etuna on, että se on kirjattu, eli sen luotettavuus kasvaa merkittävästi verrattuna ext2.
    Haittapuolena on hieman alhaisempi suorituskyky ja luku-/kirjoitusnopeus.
  3. XFS– Yrityksen kehittämä Silicon Graphics vuonna 1993, lisättiin ytimeen Linux tiedostojärjestelmänä vuonna 2002 koko jakeluperheelle Linux, jota käytetään tällä hetkellä jakelussa "natiivina". punainen hattu.
    Etuna on metatietojen kirjaaminen, korkea toiminnan vakaus, tuettu syöttö-/tulostusvirtojen jakaminen ryhmiin, korkea luku-/kirjoitusnopeus, on mahdollista eheyttää myös osion ollessa asennettuna ja voit suurentaa osion kokoa. tiedostojärjestelmä. Toimii tehokkaimmin suurten tiedostojen kanssa.
    Haittapuolena on, että osion kokoa ei voida pienentää, metatietojen käsittelyprosessi ei ole niin nopea ja se toimii pienten tiedostojen kanssa huomattavasti hitaammin kuin muuntyyppiset tiedostojärjestelmät.
  4. ReiserFS- yrityksen kehittämä Namesys Hans Reiserin johdolla vuonna 2001. Vain käytetty käyttöjärjestelmät Linux. Se oli ensimmäinen kirjattu tiedostojärjestelmä, joka otettiin käyttöön ytimessä.
    Tämän tiedostojärjestelmän etuna on, että se toimii erittäin nopeasti pienillä tiedostoilla (luku/kirjoitusnopeus on suurempi kuin ext4), tukee kirjaamista.
    Huono puoli on, että sen kehitys on hidastunut huomattavasti sen johtajan Hans Reiserin pidätyksen vuoksi, eikä taustasalausta ole.
  5. NTFS- tarkoittaa uuden teknologian tiedostojärjestelmä(uusi tekninen tiedostojärjestelmä). Yhtiön kehittämä heinäkuussa 1993 Microsoft. Käytetään laajasti erilaisissa käyttöjärjestelmissä sekä erilaisissa tallennusvälineissä.
    Etuna on sisäänrakennettu kyky rajoittaa pääsyä tietoihin eri käyttäjille sekä määrittää rajoituksia suurin äänenvoimakkuus levytila, päiväkirjajärjestelmän käyttö, pienten tiedostojen nopea lukeminen/kirjoitus.
    Haittapuolena on, että vakaa toiminta vaatii paljon PC-RAM-muistia, se toimii hitaasti suurilla tiedostoilla ja tiedostojen polun pituus on rajoitettu (32 767 Unicode-merkkiä).

Tällä yksinkertaisella tavalla selvitimme "tiedostojärjestelmät ext2, ext3, XFS, ReiserFS, NTFS«!

Tiedostojärjestelmä(englanninkielinen tiedostojärjestelmä) - määräys, joka määrittää tavan järjestää, tallentaa ja nimetä tiedot IT-laitteiden tietojen tallennusvälineillä (käyttäen kannettavia flash-muistikortteja tietojen toistuvaan tallentamiseen ja tallentamiseen kannettavaan elektroniset laitteet: digikamerat, matkapuhelimet jne.) ja tietokonelaitteet. Se määrittelee sisällön ja fyysisen tallennuksen muodon, joka yleensä ryhmitellään tiedostoiksi. Tietty tiedostojärjestelmä määrittää tiedostonimen (kansion) koon, suurimman mahdollisen tiedoston ja osion koon sekä joukon tiedostomääritteitä. Jotkut tiedostojärjestelmät tarjoavat palveluominaisuuksia, kuten kulunvalvontaa tai tiedostojen salausta.

Tiedostojärjestelmän tehtävät

Minkä tahansa tiedostojärjestelmän päätoiminnot on tarkoitettu seuraavien tehtävien ratkaisemiseen:

tiedostojen nimeäminen;

Ohjelmistoliittymä sovellusten tiedostojen käsittelyyn;

kartoitetaan tiedostojärjestelmän looginen malli tietotallennustilan fyysiseen organisaatioon;
tiedostojärjestelmän sietokyvyn järjestäminen sähkökatkoksia, laitteisto- ja ohjelmistovirheitä vastaan;

Usean käyttäjän järjestelmissä näkyy toinen tehtävä: yhden käyttäjän tiedostojen suojaaminen toisen käyttäjän luvattomalta käytöltä sekä yhteistyön varmistaminen tiedostojen kanssa, esimerkiksi kun yksi käyttäjistä avaa tiedoston, muille sama tiedosto tulee tilapäisesti saatavilla vain luku -tilassa. .

Tiedostojärjestelmä on perusrakenne, jota tietokone käyttää tietojen järjestämiseen kiintolevylleen. Kun asennat uuden kovalevy se on osioitava ja alustettava tiettyä tiedostojärjestelmää varten, minkä jälkeen siihen voidaan tallentaa tietoja ja ohjelmia. Windowsissa on kolme mahdollista tiedostojärjestelmävaihtoehtoa: NTFS, FAT32 ja harvoin käytetty vanha FAT-järjestelmä (tunnetaan myös nimellä FAT16).

NTFS on suositeltu tiedostojärjestelmä tälle Windows-versiolle. Sillä on monia etuja vanhempaan FAT32-järjestelmään verrattuna; Jotkut niistä on lueteltu alla.

Mahdollisuus palautua automaattisesti joistakin levyvirheistä (FAT32:lla ei ole tätä ominaisuutta).
Parannettu tuki suurille kiintolevyille.
Korkeampi turvallisuusaste. Voit käyttää käyttöoikeuksia ja salausta estääksesi käyttäjiltä pääsyn tiettyihin tiedostoihin.

Aiemmin käytettiin FAT32-tiedostojärjestelmää ja harvoin käytettyä FAT-järjestelmää Windows-versiot, mukaan lukien Windows 95, Windows 98 ja Windows Millenium Edition. FAT32-tiedostojärjestelmä ei tarjoa NTFS:n tarjoamaa suojaustasoa, joten jos tietokoneessasi on FAT32-muotoon alustettu osio tai taltio, osion tiedostot näkyvät kaikille, joilla on pääsy tietokoneeseen. FAT32-tiedostojärjestelmässä on myös tiedostokokorajoituksia. Tässä Windows-versiossa ei ole mahdollista luoda FAT32-osiota, joka on suurempi kuin 32 Gt. Lisäksi FAT32-osio ei voi sisältää tiedostoa, joka on suurempi kuin 4 Gt.

Pääsyy FAT32-järjestelmän käyttöön on se, että tietokoneessa voi olla joko Windows 95, Windows 98 tai Windows Millennium Edition tai tämä Windows-versio (useita käyttöjärjestelmiä). Tällaisen kokoonpanon luomiseksi sinun on asennettava käyttöjärjestelmän edellinen versio FAT32- tai FAT-muotoon alustettuun osioon, jolloin siitä tulee ensisijainen osio (ensisijainen osio voi sisältää käyttöjärjestelmän). Muut osiot, joihin pääsee aiemmat versiot Windowsin tulee myös olla alustettu FAT32:ksi. Aiemmat Windowsin versiot voivat käyttää vain verkkoon kytkettyjä NTFS-osioita tai -asioita. Paikallisen tietokoneen NTFS-osiot eivät ole käytettävissä.

FAT – edut:

Se vaatii jonkin verran RAM-muistia toimiakseen tehokkaasti.
Nopeaa työtä pienten ja keskisuurten luetteloiden kanssa.
Levy tekee keskimäärin vähemmän pään liikkeitä (NTFS:ään verrattuna).
Tehokasta työtä hitailla levyillä.

FAT – miinukset:

Katastrofaalinen suorituskyvyn menetys lisääntyvän pirstoutumisen myötä, erityisesti suurilla levyillä (vain FAT32).
Vaikeudet suurien (esimerkiksi 10 % tai enemmän levyn koosta) tiedostojen satunnaisessa käytössä.
Erittäin hidas työskentely hakemistojen kanssa, jotka sisältävät suuren määrän tiedostoja.

NTFS - edut:

Tiedostojen pirstoutuneella ei ole käytännössä mitään seurauksia itse tiedostojärjestelmään - pirstoutuneen järjestelmän suorituskyky heikkenee vain pääsyn itse tiedostotietoihin.
Hakemistorakenteen monimutkaisuus ja tiedostojen määrä yhdessä hakemistossa eivät myöskään aseta suorituskyvylle erityisiä esteitä.
Nopea pääsy mielivaltaiseen tiedoston fragmenttiin (esimerkiksi suurten .wav-tiedostojen muokkaaminen).
Erittäin nopea pääsy pieniin tiedostoihin (muutama sata tavua) - koko tiedosto on samassa paikassa kuin järjestelmätiedot (MFT-tietue).

NTFS - miinukset:

Merkittävät järjestelmämuistivaatimukset (64 Mt on ehdoton minimi, enemmän on parempi).
Hitaat levyt ja ohjaimet ilman väylähallintaa heikentävät huomattavasti NTFS:n suorituskykyä.
Keskikokoisten hakemistojen kanssa työskentely on vaikeaa, koska ne ovat lähes aina hajanaisia.
Levy, joka toimii pitkään 80 % - 90 % täynnä, näyttää erittäin alhaisen suorituskyvyn.

Seuraavia tiedostojärjestelmiä pidetään "alkuperäisinä" Linuxille (eli ne, joihin se voidaan asentaa ja joista se voi aloittaa): ext2fs, ext3fs, ext4fs, ReiserFS, XFS, JFS. Niitä tarjotaan yleensä valinnanvarana, kun asennetaan suurin osa jakeluista. Tietysti keinoja on Linux-asennukset FAT/VFAT/FAT32-tiedostojärjestelmiin, mutta tämä on vain niille hunajille ja herroille, jotka ymmärtävät perversioita, enkä puhu niistä.

Pääkriteerit tiedostojärjestelmää valittaessa ovat yleensä luotettavuus ja suorituskyky. Joissakin tapauksissa sinun on myös otettava huomioon yhteensopivuustekijä - tässä tapauksessa se tarkoittaa muiden käyttöjärjestelmien kykyä käyttää tiettyä tiedostojärjestelmää.
Aloitan tarkastelun ReiserFS:llä - koska tämän muistiinpanon kirjoittamisen syynä oli kysymys: mitä pitäisi pitää pieninä tiedostoina? Loppujen lopuksi tiedetään hyvin, että pienten tiedostojen kanssa työskentelyn tehokkuus on tämän tiedostojärjestelmän vahvuus.

Joten pienet tiedostot tarkoittavat tiedostoja, jotka ovat pienempiä kuin tiedostojärjestelmän looginen lohko, joka Linuxissa on useimmissa tapauksissa neljä kilotavua, vaikka se voidaan määrittää alustuksen aikana tietyissä rajoissa (riippuen tietystä FS:stä). Kaikissa Unix-tyyppisissä käyttöjärjestelmissä on lukemattomia tällaisia ​​​​pieniä tiedostoja. Tyypillinen esimerkki ovat tiedostot, jotka muodostavat FreeBSD-porttien, Gentoo-porttien ja vastaavien portimaisten järjestelmien puun.
Useimmissa tiedostojärjestelmissä tällaisilla minitiedostoilla on sekä oma inodi (tietosolmu, joka sisältää metatietoja tiedostosta) että tietolohko, mikä johtaa sekä levytilan kulutukseen että tiedostotoimintojen suorituskyvyn heikkenemiseen. Erityisesti tämä on syy FreeBSD-tiedostojärjestelmän (sekä vanhan UFS:n että uuden UFS2:n) katastrofaaliseen harkitsemiseen työskennellessäsi sen oman porttijärjestelmän kanssa.

ReiserFS-tiedostojärjestelmässä tällaisissa tapauksissa tiedoille ei varata erillisiä lohkoja - se onnistuu työntämään tiedostotiedot suoraan inode-alueelle. Tämän ansiosta levytilaa säästyy ja suorituskyky kasvaa - kirjaimellisesti useita kertoja verrattuna kaikkiin muihin FS: iin.
Tämä pienten ReiserFS-tiedostojen käsittely on synnyttänyt legendan sen epäluotettavuudesta. Todellakin, kun tiedostojärjestelmä romahtaa (eli palvelualueiden tuhoutuminen), tiedot, jotka sijaitsevat yhdessä sen inodien kanssa, katoavat niiden mukana - ja peruuttamattomasti. Kun taas niissä tiedostojärjestelmissä, joissa inodit ja tietolohkot on aina erotettu toisistaan, jälkimmäiset voidaan teoriassa palauttaa. Joten ext2/ext3:lle on jopa työkaluja, joiden avulla voit tehdä tämän.

Kuitenkin, kuten mikä tahansa legenda, tämä antaa vain vaikutelman aitoudesta. Ensinnäkin pysyvä tietojen menetys koskee vain hyvin pieniä tiedostoja. Käyttäjien joukossa sellaisia ​​ei käytännössä ole, ja kaikki muut voidaan helposti palauttaa jakelusarjasta.
Toiseksi, kun puhuin mahdollisuudesta palauttaa tietoja lohkoista, jotka ovat menettäneet yhteyden inodeihinsa, en ole sattumaa käyttänyt sanaa "teoreettinen". Koska käytännössä tämä toiminta on erittäin työvoimavaltaista eikä anna taattua tulosta. Jokainen, joka on joutunut tekemään tämän, on samaa mieltä siitä, että siihen voi mennä vain täydellisestä epätoivosta. Ja tämä koskee kaikkia tiedostojärjestelmät Linux. Joten tämä näkökohta voidaan jättää huomiotta valittaessa tiedostojärjestelmää.

Yleisen suorituskyvyn suhteen ReiserFS on ehdottomasti nopeampi kuin kaikki muut kirjatut FS:t, ja joissain suhteissa se on parempi kuin ext2. Joidenkin yleisten tiedostotoimintojen nopeusvertailu löytyy täältä.
Mutta ReiserFS:n kanssa yhteensopivuustilanne on hieman huonompi. Pääsy siihen Windows-käyttöjärjestelmistä on tietääkseni mahdotonta. Jotkut BSD-perheen käyttöjärjestelmät (DragonFlyBSD, FreeBSD) tukevat tätä tiedostojärjestelmää, mutta vain luku -tilassa. Jopa todennäköisyys, että mielivaltaisella aiempien vuosien Linux LiveCD:llä ei ole ReiserFS-tukea, ei ole nolla.

Ja tässä on aika muistaa ext3fs. Sen etuna ei ole ollenkaan suurempi luotettavuus - tämä on sama legenda kuin ReiserFS:n epävakaus. Olen kuullut vähintään yhtä paljon ext3fs-kaatumisista kuin vastaavista tapauksista ReiserFS:n kanssa. Itse en voinut tuhota kumpaakaan enkä toista. Paitsi että se toimi ext2:n kanssa - mutta silloinkin hyvin kauan sitten, ytimen 2.2 (tai jopa 2.0) aikana.

Ei, ext3fs:n tärkein etu on sen yhteensopivuus – sen taatusti lukee mikä tahansa Linux-järjestelmä. Esimerkiksi kun palautin jostain käsillä olevasta muinaisesta LiveCD:stä - tilanne, joka ei käytännössä ole niin uskomaton, minun piti päästä siihen. Jälleen useimmat BSD-järjestelmät voivat helposti ymmärtää ext3fs:n (tosin ilman kirjaamista). Windowsille on myös tietääkseni kaikenlaisia ​​yleisiä ohjaimia ja laajennuksia tiedostonhallinnasta(tyyppi Total Commander), joka tarjoaa pääsyn osioihin, joissa on ext2fs/ext3fs.

Suorituskyvyn suhteen ext3fs jättää ristiriitaisen vaikutelman. Ensinnäkin sen suorituskyky riippuu suuresti lokitilasta, jota on kolme: täydellä tiedonkeruulla, osittaisella kirjauksella ja kirjaamalla vain metatiedot. Kussakin tilassa se näyttää eri suorituskyvyn erityyppisissä tiedostotoiminnoissa. Suorituskyky ei kuitenkaan missään tapauksessa ole ennätys.

Kuitenkin, jos suorituskykyvaatimus tulee ensin, ext2fs:llä ei ole kilpailua - tässä tapauksessa sinun on kuitenkin siedettävä kirjaamisen puutetta. Ja näin ollen tiedostojärjestelmän pitkillä tarkistuksilla virheellisen sammutuksen varalta - ja nykyaikaisten levyjen määrällä tämä voi kestää hyvin kauan...

XFS:stä voidaan sanoa seuraavaa. Yhteensopivuuden kannalta kaikki ReiserFS:lle kirjoitettu pätee siihen - lisäksi, kunnes jonkin aikaa sitä ei tuettu vakio Linux-ytimen kanssa. Suorituskyvyn suhteen XFS ei myöskään loista, sillä se toimii yhteensä suunnilleen samalla tasolla kuin ext3fs. Ja tiedostojen poistaminen osoittaa yleensä masentavaa hitautta.
Havaintojeni mukaan XFS:n käyttäminen kannattaa työskennellessäsi ei vain suurten, vaan erittäin suurten tiedostojen kanssa - jotka ovat itse asiassa vain DVD-kuvia ja videotiedostoja.

Palaan kysymykseen luotettavuudesta. Banaalin virrankatkaisun normaalin käyttäjätyön aikana kaikki kirjatut tiedostojärjestelmät sietävät pääsääntöisesti kivuttomasti (eikä mikään niistä takaa käyttäjän toimintojen turvallisuutta, joita ei kirjoiteta levylle - hukkuvien ihmisten pelastaminen jää hukkuvien ihmisten työksi). Totta, mille tahansa tiedostojärjestelmälle on mahdollista simuloida tilannetta, jossa virran katkaiseminen johtaa siihen enemmän tai vähemmän vakaviin vaurioihin. Todellisessa elämässä tällaisia ​​tilanteita ei kuitenkaan todennäköisesti tapahdu. Ja voit poistaa ne kokonaan ostamalla keskeytymättömän virtalähteen - se antaa enemmän luottamusta tietojen turvallisuuteen kuin tiedostojärjestelmän tyyppi. No, joka tapauksessa ainoa takuu vaurioituneiden tietojen palauttamisesta voi olla säännöllinen varmuuskopiointi...

Yllä esitetyt tiedot ovat mielestäni riittävät tietoisen valinnan tekemiseen. Henkilökohtainen valintani viime vuosina on ollut ReiserFS. Toisinaan järjestelmissä, joissa on perusteltua siirtää kaikki mahdollinen juuriosion ulkopuolelle, on järkevää käyttää ext3fs juuritiedostojärjestelmässä ja ReiserFS kaikille muille.

Jos /boot-hakemistolle on erillinen osio (ja tämä on suositeltavaa käytettäessä GRUB käynnistyslatain kehittäjät) - sille mikään muu tiedostojärjestelmä kuin ext2fs ei ole perusteltu, minkään kirjaamisen ei ole tässä mitään järkeä. Lopuksi, jos luot erillisen osion kaikenlaiselle multimediamateriaalille, voit ajatella XFS:ää.

Jos lähestymme selitystä menetelmällisemmin

ext - Linuxin alkuaikoina ext2 (laajennettu tiedostojärjestelmän versio 2) oli hallitseva. Vuodesta 2002 lähtien se on korvattu ext3-järjestelmällä, joka on suurelta osin yhteensopiva ext2:n kanssa, mutta tukee myös lokitoimintoja, ja käytettäessä ytimen versiota 2.6 ja uudempia, ACL-luetteloita. Tiedoston enimmäiskoko on 2 TB, tiedostojärjestelmän enimmäiskoko on 8 TB. Vuoden 2008 lopussa julkistettiin virallisesti ext4, joka on taaksepäin yhteensopiva ext3:n kanssa, mutta monet toiminnot toteutetaan aiempaa tehokkaammin. Lisäksi tiedostojärjestelmän enimmäiskoko on 1 EB (1 048 576 TB), ja sen voi odottaa riittävän joksikin aikaa. Tietoja reiseristä - järjestelmä nimettiin perustajansa Hans Reiserin mukaan, ja se oli ensimmäinen järjestelmä, jossa oli lokitoimintoja, joka pääsi Linux-ytimeen dataa varten. Zp:n SUSE-versiota pidettiin jopa vakiona jonkin aikaa. Reiserin tärkeimmät edut verrattuna ext3:een ovat suurempi nopeus ja sijoittelutehokkuus pienten tiedostojen kanssa työskenneltäessä (ja tiedostojärjestelmässä useimmat tiedostot ovat yleensä pieniä). Ajan myötä reiseferien kehitys kuitenkin pysähtyi. On jo pitkään ilmoitettu, että versio 4 julkaistaan, joka ei ole vielä valmis, ja version 3 tuki on päättynyt. Tietoja xfs:stä - xfs-tiedostojärjestelmä kehitettiin alun perin SGI-työasemille, jotka toimivat IRIX-käyttöjärjestelmällä. Xfs on erityisen hyvä suurten tiedostojen kanssa työskentelyyn, ja se on erityisen ihanteellinen videoiden suoratoistoon. Järjestelmä tukee kiintiöitä ja laajennettuja attribuutteja (ACL).
jfs

jfs - a66peBHaTypaJFS tarkoittaa "Journaled File System". Se kehitettiin alun perin IBM:lle ja mukautettiin sitten Linuxille. Jfs ei koskaan nauttinut paljoakaan tunnustuksesta Linuxissa ja on tällä hetkellä surkeassa elämässä muita tiedostojärjestelmiä huonompana.
brtfs

brtfs - Jos se on johtavien ytimen kehittäjien tahto, Linuxin brtfs-tiedostojärjestelmällä on valoisa tulevaisuus. Tämä järjestelmä kehitettiin tyhjästä Oraclessa. Se sisältää tuen laitekartoittajalle ja RAIDille. Brtfs muistuttaa eniten Sunin kehittämää ZFS-järjestelmää. Sen mielenkiintoisimpia ominaisuuksia ovat tiedostojärjestelmän tarkistus lennossa sekä tuki SSD-levyille (solid-state-asemat ovat flash-muistilla toimivia kiintolevyjä). Valitettavasti brtfs-työtä ei saada valmiiksi lähitulevaisuudessa. Fedora, versiosta 11 alkaen, tarjoaa mahdollisuuden asentaa brtfs, mutta suosittelen sen käyttöä vain tiedostojärjestelmän kehittäjille!
Ei ole olemassa "nopeinta" tai "parasta" tiedostojärjestelmää - arviointi riippuu siitä, mihin järjestelmää aiot käyttää. Aloittelevien Linux-käyttäjien, jotka työskentelevät paikallisella tietokoneella, suositellaan työskentelemään ext3:lla ja palvelimen järjestelmänvalvojien kanssa ext4:llä. Tietysti ext4:llä toimintanopeus on suurempi kuin ext3:lla, mutta samaan aikaan ext4-järjestelmässä tietojen luotettavuuden tilanne on paljon huonompi - saatat menettää tietoja, jos järjestelmä yhtäkkiä sammuu.

Jos olet asentanut tietokoneellesi toisen UNIX-tyyppisen käyttöjärjestelmän, seuraavat tiedostojärjestelmät ovat hyödyllisiä sinulle vaihdettaessa tietoja (käyttöjärjestelmästä toiseen).

sysv - käytetään SCO:ssa, Xenixissä ja Coherent OS:ssä.

ufs - käytetään FreeBSD:ssä, NetBSD:ssä, NextStepissä ja SunOS:ssä. Linux voi vain lukea tietoja tällaisista tiedostojärjestelmistä, mutta ei voi tehdä muutoksia tietoihin. Jos haluat käyttää segmenttejä BSD:stä, tarvitset lisäksi BSD-levytunnisteen. Samanlainen laajennus on olemassa SunOS-osiotaulukoille.

ZFS on suhteellisen uusi järjestelmä, jonka Sun on kehittänyt Solarisille. Koska ZFS-koodi ei ole GPL-yhteensopiva, sitä ei voi integroida Linux-ytimeen. Tästä syystä Linux tukee tätä tiedostojärjestelmää vain epäsuorasti FUSE:n kautta.
Windows, Mac OS X

Seuraavat tiedostojärjestelmät ovat hyödyllisiä vaihdettaessa tietoja MS DOS:n, Windowsin, OS/2:n ja Macintoshin kanssa.

vfat - käytetään Windows 9x/ME:ssä. Linux voi lukea tietoja tällaisista osioista ja tehdä niihin muutoksia. vfat-järjestelmäohjainten avulla voit työskennellä vanhempien MS DOS -tiedostojärjestelmien kanssa (8 + 3 merkkiä).

ntfs - järjestelmää käytetään kaikissa nykyaikaisissa Windows-versioissa: otNT ja uudemmat. Linux voi lukea ja muokata tiedostojaan.

hfs ja hfsplus - näitä tiedostojärjestelmiä käytetään Applen tietokoneet. Linux voi lukea ja muokata tiedostojaan.

Data-CD- ja DVD-levyt käyttävät yleensä omia tiedostojärjestelmiään.

iso9660 - CD-ROM-levyjen tiedostojärjestelmä on kuvattu ISO-9660-standardissa, joka sallii vain lyhyet tiedostonimet. Pitkiä nimiä tuetaan eri tavalla eri käyttöjärjestelmissä käyttämällä erilaisia ​​laajennuksia, jotka eivät ole yhteensopivia keskenään. Linux voi käyttää sekä UNIXissa yleistä Rockridge-laajennusta että Microsoftin kehittämää Joliet-laajennusta.

udf - tämä muoto (yleinen levymuoto) ilmestyi ja kehitettiin ISO 9660:n seuraajana.

Verkkotiedostojärjestelmät

Tiedostojärjestelmien ei tarvitse olla paikallisella levyllä - ne
voi muodostaa yhteyden tietokoneeseen ja verkon kautta. Linux-ydin tukee erilaisia ​​verkkotiedostojärjestelmiä, joista seuraavat ovat yleisimmin käytettyjä.

smbfs/cifs - auttaa yhdistämään Windowsin tai Samban verkkohakemistot hakemistopuuhun.

nfs on UNIXin tärkein verkkotiedostojärjestelmä.

coda - tämä järjestelmä on hyvin samanlainen kuin NFS. Siinä on monia lisäominaisuuksia, mutta se ei ole kovin yleinen.

ncpfs - toimii NetWare-ytimen protokollalla; oH:ta käyttää Novell Netware.

Virtuaaliset tiedostojärjestelmät

Linuxissa on useita tiedostojärjestelmiä, joita ei ole suunniteltu tallentamaan tietoja kiintolevylle (tai muulle tallennusvälineelle), vaan ainoastaan ​​vaihtamaan tietoja ytimen ja käyttäjäohjelmien välillä.
devpts - Tämä tiedostojärjestelmä tarjoaa pääsyn pseudopäätteisiin (lyhennetty PTY) /dev/pts/* kautta UNIX-98-spesifikaatioiden mukaisesti. (Pseudopäätteet emuloivat sarjaliitäntää. UNIX/Linux-järjestelmissä tällaisia ​​liitäntöjä käyttävät pääteemulaattorit, kuten xterm. Tyypillisesti käytetään laitteita, kuten /dev/ttypn. Sitä vastoin UNIX-98-spesifikaatio määrittelee uudet laitteet. Tarkemmat tiedot ilmoitetaan tekstiterminaalissa H0WT0.)
proc ja sysfs - proc-tiedostojärjestelmää käytetään ytimeen ja prosessien hallintaan liittyvien palvelutietojen näyttämiseen. Tämän lisäksi sysfs-tiedostojärjestelmä rakentaa suhteita ytimen ja laitteiston välille. Molemmat tiedostojärjestelmät on asennettu hakemistoon /proc ja /sys.
tmpfs - Tämä järjestelmä on rakennettu System V:n mukaisen jaetun muistin pohjalle. Se asennetaan yleensä /dev/shm-kohtaan ja mahdollistaa tehokkaan tiedonvaihdon kahden ohjelman välillä. Joissakin jakeluissa (kuten Ubuntu) hakemistot /var/run ja /var/lock luodaan myös käyttämällä tmpfs-tiedostojärjestelmää. Jotkut verkkodemonit käyttävät näissä hakemistoissa olevia tiedostoja prosessin tunnistenumeroiden ja tiedostojen käyttötietojen tallentamiseen. Tmpfs:n ansiosta nämä tiedot näkyvät nyt RAM-muistissa. Menetelmä takaa suuren nopeuden ja myös sen, että tietokoneen sammuttamisen jälkeen /var/run- tai /var/lock-hakemistoihin ei jää tiedostoja.

usbfs - usbfs-tiedostojärjestelmä, alkaen ytimen versiosta 2.6 tai uudemmasta, tarjoaa tietoja liitetyistä USB-laitteista. Se on yleensä integroitu proc-tiedostojärjestelmään. Tietoja USB-laitteiden tuesta Linuxissa.

Muut tiedostojärjestelmät

auto - itse asiassa tällä nimellä ei ole tiedostojärjestelmää. Sanaa auto voidaan kuitenkin käyttää tiedostossa /etc/fstab tai mount-komennon kanssa tiedostojärjestelmän määrittämiseen. Tässä tapauksessa Linux yrittää tunnistaa tiedostojärjestelmän itse. Tämä menetelmä toimii useimpien tärkeimpien tiedostojärjestelmien kanssa.
autofs, autofs4

autofs, autofs4 eivät myöskään ole tiedostojärjestelmiä, vaan ytimen laajennuksia, jotka toimivat automaattisesti liitä komento valituille tiedostojärjestelmille. Jos tiedostojärjestelmää ei käytetä vähään aikaan, umount-komento suoritetaan automaattisesti siinä. Tämä menetelmä on kätevä ensisijaisesti tapauksissa, joissa vain muutama monista NFS-hakemistoista käytetään aktiivisesti samanaikaisesti.

Tällaisten toimintojen suorittamiseksi /etc/init.d/ autofs-komentosarja suorittaa automaattisesti automaattisen asennusohjelman, kun järjestelmä käynnistyy. Se määritetään /etc/auto.master-tiedoston avulla. Vastaavat ohjelmat asennetaan automaattisesti esimerkiksi Red Hatiin ja Fedoraan. Joka tapauksessa autofs aktivoituu vasta, kun /etc/auto.master tai /etc/auto.misc on määritetty.
cramfit ja squashfit

cramfs ja squashfs - Cram- ja Squash-tiedostojärjestelmät ovat vain luku -tilassa. Niitä käytetään "pakkaamaan" mahdollisimman monta zip-tiedostoa flash-muistiin tai ROM-muistiin (vain lukumuisti).

fuse - FUSE on lyhenne sanoista Filesystem in Userspace ja mahdollistaa tiedostojärjestelmän ohjaimien kehittämisen ja käytön ytimen ulkopuolella. Siksi FUSEa käytetään aina ulkoisen tiedostojärjestelmäohjaimen kanssa. FUSE toimii erityisesti NTFS-ajurin ntfs-3g kanssa.

gfs ja ocfs - Oraclen maailmanlaajuinen tiedostojärjestelmä ja klusteritiedostojärjestelmä (Oracle Cluster File System) mahdollistavat jättimäisten verkkotiedostojärjestelmien rakentamisen, joita useat tietokoneet voivat käyttää rinnakkain samanaikaisesti.

jffs ja yaffs - Journaling Flash File System ja Yet Another Flash File System on erityisesti optimoitu työskentelyyn solid-state-asemien ja flash-median kanssa. Erikoisalgoritmeilla he yrittävät käyttää kaikkia muistisoluja tasaisesti (kulumisen tasoitustekniikka) välttääkseen ennenaikaisen järjestelmävian.
silmukka

silmukka - käytetään pseudolaitteiden kanssa työskentelemiseen. Loopback-laite on sovitin, joka voi käyttää tavallista tiedostoa estolaitteena. Sen ansiosta voit sijoittaa minkä tahansa tiedostojärjestelmän mihin tahansa tiedostoon ja liittää sen sitten hakemistopuuhun mountin avulla. Tästä vastaava ydintoiminto - pseudolaitetuki - on toteutettu silmukkamoduulissa.

Pseudolaitteille on useita käyttötapoja. Niitä voidaan käyttää erityisesti luotaessa alkuperäisiä RAM-levyjä GRUB:lle tai LILO:lle, kun toteutetaan salattuja tiedostojärjestelmiä tai testataan CD-levyjen ISO-otoksia.

Tallennusmedian tiedostojärjestelmät

Tiedostojärjestelmät
ISO 9660
Joliet ISO 9660 -tiedostojärjestelmälaajennus.
Rock Ridge (RRIP, IEEE P1282) – ISO 9660 -tiedostojärjestelmälaajennus, joka on suunniteltu tallentamaan POSIX-käyttöjärjestelmissä käytettyjä tiedostomääritteitä
Amiga Rock Ridge -laajennukset
El Torito
Apple ISO9660 -laajennukset
HFS, HFS+
Universaali Levyn muoto käyttöjärjestelmästä riippumattoman tiedostojärjestelmän muodon määrittely tiedostojen tallentamiseksi optiselle tietovälineelle. UDF on ISO/IEC 13346 -standardin toteutus
Mount Rainier

Tiedosto Linux-järjestelmä- tämä on useimmiten ext4. Se on kirjattu päiväkirjaan, ja sen avulla voit kätevästi käsitellä tietoja, kun ratkaiset suurimman osan ongelmista. On kuitenkin muitakin. Tämän materiaalin puitteissa käsitellään tiedostojärjestelmien päätyyppejä ja niiden kanssa työskentelyn periaatteita.

Linux-tiedostojärjestelmien tyypit ja niiden ominaisuudet

Erottavia ominaisuuksia ovat tiedostojen käsittelyn nopeus, suojaus ja parametrit (kuten lohkokoko), jotka ovat oletuksena ja jotka asetetaan FS:ää luotaessa. Ehkä tärkein ominaisuus on lehden läsnäolo. Järjestelmäloki tallentaa tietoja tai metatiedot(vain otsikot), josta tiedot voidaan palauttaa epäonnistuessa.

Tiedostojärjestelmä voidaan luoda mille tahansa laitteelle: levylle tai järjestelmäosioon.

EXT2 tiedostojärjestelmä

EXT2 on tällä hetkellä vanhentunut tiedostojärjestelmä, jota ei käytännössä käytetä nykyaikaisissa asennuksissa. Suurin haittapuoli on kirjaamisen puute, mikä tekee tietojen palauttamisen mahdottomaksi vian sattuessa. Käytetään edelleen kannettavissa tallennusvälineissä, kuten USB. Lehtiä niille ei tarvita, koska se vie tietyn tilan.

Se takaa myös suurimman käyttönopeuden.

  • EXT2:n enimmäistiedostokoko -2 Tt

EXT3 tiedostojärjestelmä

Korvattu EXT2, pääominaisuus on lehden ulkonäkö, on täysin taaksepäin yhteensopiva EXT2:n kanssa (EXT2 voidaan vapaasti muuntaa EXT3:ksi). Nykyään se on myös harvinaista; EXT4 on lähes aina käytössä.

Päiväkirja - muistin erityinen alue, johon tallennetaan tiedot kaikista muutoksista

  • EXT3:lle enimmäistiedoston koko -2 TB
  • kaikkien tiedostojen enimmäiskoko on 32 TB
  • jokaisessa hakemistossa voi olla enintään 32 000 alihakemistoa

Kirjaamisessa on kolme vaihtoehtoa (määritetty tiedostojärjestelmää luotaessa):

  • päiväkirja – metatiedot sekä itse tiedot päiväkirjaan
  • tilattu – oletusasetus, vain metatiedot tallennetaan myös levylle kirjoittamisen jälkeen
  • kirjoitus takaisin – myös vain metatiedot tallennetaan, voit tallentaa ne ennen tai jälkeen levylle kirjoittamisen

EXT4 tiedostojärjestelmä

Laajennetun tiedostojärjestelmän moderni versio, tämä on useimmin käytetty versio

  • suurin tiedostokoko -2 Tt 16 Tt
  • Kaikkien tiedostojen enimmäiskoko on 1 EB (exatavu). 1 EB = 1024 PB (petabyytti). 1 PB = 1024 Tt (teratavu).
  • jokaisessa hakemistossa voi olla enintään 64 000 alihakemistoa

EXT4:ssä lokikirjaus voidaan kytkeä pois päältä asettamalla vaihtoehto tiedot sisään asennettuna vinossa

EXT Linuxin päätiedostojärjestelmänä ja käyttötapana

Tiedostojärjestelmä luodaan komennolla mk2fs

Tarvittava kirjausvaihtoehto määritetään asennuksen aikana, esimerkiksi:

liitä /dev/vdc /mnt/1 -t ext3 -o data=journal

Muunnetaan EXT2 E:stä XT3:ksi

ReiserFS

ReiserFS (ja Reiser4:n nykyaikainen toteutus SELinux-tuella) on suorituskykyinen ja erittäin tuottava - varsinkin kun työskennellään suurten pienten tiedostomäärien kanssa. ReiserFS ei varaa inodeja jokaiselle pienelle tiedostolle, vaan käsittelee ne yhdessä, ja ReiserFS käyttää myös päiväkirjaa, jossa on useita vaihtoehtoja. Tällä hetkellä tiedostojärjestelmää tukevat venäläiset kehittäjät.

Voit luoda FS:n laitteelle komennolla

XFS

XFS on päiväkirjatiedostojärjestelmä. Käyttää RAM tallentaa tietoja, joten tietojen häviäminen on mahdollista - esimerkiksi kun virta katkeaa.

Jotta voit käyttää XFS:ää Ubuntussa, sinun on asennettava paketit xfsprogs Ja xfsdump

vfat

Linux-tiedostojärjestelmä on olemassa myös Windows-ympäristössä. Sitä käytetään, kun sinun on järjestettävä jaettu pääsy eri käyttöjärjestelmissä olevien asiakkaiden tiettyihin levyihin ja osioihin. Muissa tapauksissa sen käyttöä ei suositella, koska Linuxissa työskennellessä voi syntyä vaikeuksia.

(Toinen laajennettu tiedostojärjestelmä).

· Linux-tiedostojärjestelmien kehityksen historia

· Levyn osiorakenne ext2fs:ssä

·

· Luettelot

· Laitteen tiedostot

·

·

· EXT2fs-kirjasto

· EXT2fs-järjestelmätyökalut

· Suorituskykylaskenta

Matematiikan tiedekunta

Tietokoneohjelma

2. vuosi 5. gr.

Andrei Chichirov

Väärä järjestelmä EXT2fs (toinen laajennettu tiedostojärjestelmä).

Linux-tiedostojärjestelmien kehityksen historia

Ensimmäiset Linux-versiot kehitettiin Minix-käyttöjärjestelmän pohjalta. Olisi helpompaa jakaa levyt kahden järjestelmän välillä kuin kehittää uusi tiedostojärjestelmä, joten Linus Torvalds päätti ottaa käyttöön Linux-tuen Minix-tiedostojärjestelmälle. Tuolloin tämä tiedostojärjestelmä oli melko tehokas ohjelmistotuote, jossa oli suhteellisen vähän virheitä.

Minix-tiedostojärjestelmän rakenteeseen liittyvät rajoitukset olivat kuitenkin melko korkeat, joten he alkoivat miettiä uuden tiedostojärjestelmän kehittämistä Linuxille.

Uuden tiedostojärjestelmän käyttöönottoa Linux-ytimeen yksinkertaistamiseksi kehitettiin virtuaalinen tiedostojärjestelmä (VFS). VFS:n kirjoitti alun perin Chris Provenzano ja sen jälkeen Linus Torvalds kirjoitti uudelleen ennen kuin se integroitiin ytimeen.

Kun VFS oli asennettu ytimeen, uusi tiedostojärjestelmä, EXTfs (Extended File System), kehitettiin huhtikuussa 1992 ja lisättiin Linux-versioon 0.96c. Uudessa tiedostojärjestelmässä Minix-järjestelmän kaksi merkittävää rajoitusta poistettiin: sen enimmäiskoko sai olla 2 gigatavua ja tiedostonimen enimmäispituus 255 merkkiä. Tämä oli parannus Minix-tiedostojärjestelmään, vaikka joitain ongelmia oli edelleen olemassa. Jaettua käyttöoikeutta, indeksikuvaajan muokkaamista ja tiedostojen muutosaikasolujen muokkaamista ei tuettu. Tämä tiedostojärjestelmä käytti linkitettyjä listoja toimiakseen ilmaisilla lohkoilla ja inodeilla, mikä vaikutti suuresti järjestelmän suorituskykyyn: ajan myötä luettelot muuttuivat järjestämättömiksi ja lajittelemattomiksi, mikä johti tiedostojärjestelmän pirstoutumiseen.

Ratkaisu näihin ongelmiin oli kahden uuden tiedostojärjestelmän alfa-versioiden julkaisu tammikuussa 1993: Xia ja EXT2fs (Second Extended File System). Suurin osa Xia-tiedostojärjestelmästä perustui Minixiin, johon lisättiin muutamia uusia ominaisuuksia. Tämä johtui pääasiassa kyvystä työskennellä pitkien tiedostonimien kanssa, tukea suurempia levyosioita ja tukea kolmelle tiedostojen vaihtoaikasolulle. Toisaalta EXT2fs perustui EXTf:ihin monilla parannuksilla ja lisäyksillä. Siinä oli myös mahdollisuuksia tulevaan kehitykseen.

Kun nämä kaksi tiedostojärjestelmää julkaistiin, ne olivat toiminnallisesti suunnilleen samanlaisia. Xia-järjestelmä oli luotettavampi kuin EXT2fs minimoimalla sen. Niiden yleistyessä EXT2fs-järjestelmässä havaittiin vikoja ja lisättiin suuri määrä uusia ominaisuuksia ja parannuksia. EXT2fs-tiedostojärjestelmä on nyt erittäin luotettava ja siitä on tullut de facto Linux-tiedostojärjestelmästandardi.

Seuraavassa taulukossa on yleistä tietoa eri tiedostojärjestelmien toiminnoista.

Minix FS

Ext FS

Ext2FS

Xia FS

Tiedostojärjestelmän enimmäiskoko

Tiedoston enimmäispituus

Tiedostonimen enimmäispituus

Tuki kolmelle tiedostonvaihtoaikasolulle

Laajennettavuus

Lohkon kokoa muutettava

Tietojen suojaus

Tarvittaessa tiedostonimen pituus Ext 2 voidaan nostaa 1012:een.

EXT2fs varaa tietyn määrän lohkoja juurikäyttäjälle. Tyypillisesti tämä on 5 % kokonaismäärästä, minkä ansiosta järjestelmänvalvoja voi välttää kiintolevytilan loppumisen, kun se on täynnä muiden käyttäjien prosesseja.

Levyn osiorakenne ext2fs:ssä

Kiintolevyvalmistajat toimittavat tuotteensa yleensä matalatasoisina alustettuina. Sikäli kuin tiedän, tämä tarkoittaa, että koko levytila ​​on jaettu 512 tavun "sektoreihin" erityisillä tarroilla. Tällainen levy (tai levyosio) on valmisteltava käytettäväksi tietyssä käyttöjärjestelmässä. MS-DOS- tai Windows-käyttöjärjestelmässä valmistelumenettelyä kutsutaan muotoiluksi ja Linuxissa tiedostojärjestelmän luomiseksi. Tiedostojärjestelmän luominen ext2fs koostuu tietyn loogisen rakenteen luomisesta levyosioon. Tämä rakenne on rakennettu seuraavasti. Ensin levylle varataan käynnistysalue. Käynnistysalue luodaan mihin tahansa tiedostojärjestelmään. Ensisijaisessa osiossa se sisältää käynnistystietueen - koodinpätkän, joka käynnistää käyttöjärjestelmän latausprosessin käynnistyksen yhteydessä. Tätä aluetta ei käytetä muissa osioissa. Loput levytilasta on jaettu lohkoihin. Lohkon koko voi olla 1, 2 tai 4 kilotavua. Lohko on osoitteellinen levytilan yksikkö. Tiedostot allokoidaan lohkoissa, joten lohkokoon valinnassa on kompromisseja. Iso koko esto vähentää pääsääntöisesti levykäyttöjen määrää tiedostoa luettaessa tai kirjoitettaessa, mutta se lisää hukkaan menevän tilan osuutta, varsinkin kun pieniä tiedostoja on paljon.

Alueensa lohkot yhdistetään lohkoryhmiksi. Lohkojen ryhmät tiedostojärjestelmässä ja ryhmän sisällä olevat lohkot numeroidaan peräkkäin alkaen 1:stä. Levyn ensimmäinen lohko on numeroitu 1 ja kuuluu ryhmään numero 1. Levyn lohkojen kokonaismäärä (levyosiossa) on levyn kapasiteetin jakaja sektoreina ilmaistuna. Ja lohkoryhmien lukumäärän ei tarvitse jakaa lohkojen määrää, koska viimeinen lohkoryhmä ei välttämättä ole täydellinen. Jokaisen lohkoryhmän alussa on osoite, joka saadaan muodossa ((ryhmän numero - 1)* (lohkojen lukumäärä ryhmässä)).

Jokaisella lohkoryhmällä on sama rakenne. Sen rakenne on esitetty seuraavassa taulukossa.

Levyosion lohkoryhmän rakenne ext2fs

Tämän rakenteen ensimmäinen elementti (superlohko) on sama kaikille ryhmille, ja kaikki loput ovat yksilöllisiä jokaiselle ryhmälle. Superblock tallennetaan kunkin lohkoryhmän ensimmäiseen lohkoon (paitsi ryhmä 1, jolla on käynnistystietue ensimmäisessä lohkossa). Superblock on tiedostojärjestelmän lähtökohta. Se on kooltaan 1024 tavua ja Aina sijaitsee 1024 tavun päässä tiedostojärjestelmän alusta. Superblokin useiden kopioiden esiintyminen selittyy tämän tiedostojärjestelmän elementin äärimmäisellä tärkeydellä. Superblock-kopioita käytetään, kun tiedostojärjestelmä palautetaan vikojen jälkeen.

Superblockiin tallennettuja tietoja käytetään järjestämään pääsy muihin levyn tietoihin. Superblock määrittää tiedostojärjestelmän koon, osion tiedostojen enimmäismäärän, vapaan tilan määrän ja sisältää tiedot siitä, mistä etsiä jakamattomia alueita. Kun käyttöjärjestelmä käynnistyy, superblock luetaan muistiin ja kaikki tiedostojärjestelmään tehdyt muutokset näkyvät ensin käyttöjärjestelmässä sijaitsevassa superblock-kopiossa ja kirjoitetaan levylle vain ajoittain. Tämä parantaa järjestelmän suorituskykyä, koska monet käyttäjät ja prosessit päivittävät jatkuvasti tiedostoja. Toisaalta, kun järjestelmä sammutetaan, superblock on kirjoitettava levylle, mikä ei salli tietokoneen sammuttamista yksinkertainen sammutus ravitsemus. Muuten seuraavan käynnistyksen yhteydessä superlohkoon tallennetut tiedot eivät vastaa tiedostojärjestelmän todellista tilaa.

Superblockilla on seuraava rakenne

Kenttä nimi

Tyyppi

Kommentti

s_inodes_count

ULONG

Inodien määrä tiedostojärjestelmässä

s_blocks_count

ULONG

Lohkojen lukumäärä tiedostojärjestelmässä

s_r_blocks_count

ULONG

Pääkäyttäjälle varattujen lohkojen määrä

s_free_blocks_count

ULONG

Ilmainen lohkolaskuri

s_free_inodes_count

ULONG

Ilmainen inode laskuri

s_first_data_block

ULONG

Ensimmäinen dataa sisältävä lohko. Lohkon koosta riippuen tämä kenttä voi olla 0 tai 1.

s_log_block_size

ULONG

Looginen lohkokoon ilmaisin: 0 = 1 KB; 1 = 2 KB; 2 = 4 kt.

s_log_frag_size

PITKÄ

Fragmentin koon ilmaisin (näyttää siltä, ​​että fragmenttikäsitettä ei tällä hetkellä käytetä)

s_blocks_per_group

ULONG

Lohkojen lukumäärä kussakin lohkoryhmässä

s_frags_per_group

ULONG

Fragmenttien lukumäärä kussakin lohkoryhmässä

s_inodes_per_group

ULONG

Inodien lukumäärä kussakin lohkoryhmässä

s_mtime

ULONG

Aika, jolloin tiedostojärjestelmä viimeksi liitettiin.

s_wtime

ULONG

Aika, jolloin tiedostojärjestelmään kirjoitettiin viimeksi

s_mnt_count

USHORT

Tiedostojärjestelmän kiinnitysten lukumäärän laskuri. Jos tämä laskuri saavuttaa seuraavassa kentässä määritetyn arvon (s_max_mnt_count), tiedostojärjestelmä on tarkistettava (tämä tehdään uudelleenkäynnistyksen yhteydessä) ja laskuri nollataan.

s_max_mnt_count

LYHYT

Numero, joka määrittää, kuinka monta kertaa tiedostojärjestelmä voidaan liittää

s_magic

USHORT

"Maaginen numero" (0xEF53), joka osoittaa, että tiedostojärjestelmä on tyyppiä ex2fs

s_state

USHORT

Liput osoittavat tiedostojärjestelmän nykyisen tilan (onko se puhdas jne.)

s_errors

USHORT

Liput, jotka määrittävät menettelyt virheilmoitusten käsittelyssä (mitä tehdä, jos virheitä löytyy).

s_pad

USHORT

Täyte

s_lastcheck

ULONG

Viimeisimmän tiedostojärjestelmän tarkistuksen aika

s_checkinterval

ULONG

Tiedostojärjestelmän tarkistusten välinen enimmäisaika

s_creator_os

ULONG

Ilmoitus käyttöjärjestelmän tyypistä, jossa tiedostojärjestelmä luotiin

s_rev_level

ULONG

Tiedostojärjestelmän versio (versiotaso).

s_reserved

ULONG

Täyte jopa 1024 tavua

Superlohkon jälkeen on kuvaus lohkoryhmästä (Group Descriptors). Tämä kuvaus on taulukko, jolla on seuraava rakenne.

Kenttä nimi

Tyyppi

Tarkoitus

bg_block_bitmap

ULONG

Tämän ryhmän lohkobittikartan sisältävän lohkon osoite

bg_inode_bitmap

ULONG

Tämän ryhmän inode-bittikartan sisältävän lohkon osoite

bg_inode_table

ULONG

Tämän ryhmän inodetaulukon sisältävän lohkon osoite

bg_free_blocks_count

USHORT

Tämän ryhmän vapaiden lohkojen lukumäärän laskuri

bg_free_inodes_count

USHORT

Ilmaisten inodien määrä tässä ryhmässä

bg_used_dirs_count

USHORT

Tietyn ryhmän inodien määrä, jotka ovat hakemistoja

bg_pad

USHORT

Täyte

bg_reserved

ULONG

Täyte

Lohkoryhmän kuvauksen koko voidaan laskea seuraavasti (lohko_ryhmän_koko_ulotteessa2 * ryhmien_määrä) / lohkon_koko(pyöristä tarvittaessa).

Ryhmäkuvaukseen tallennettuja tietoja käytetään lohko- ja inodibittikarttojen sekä inodetaulukon paikantamiseen. Älä unohda, että lohkot ja lohkojen ryhmät on numeroitu 1:stä alkaen.

Lohkon bittikartta on rakenne, jossa jokainen bitti osoittaa, onko vastaava lohko varattu tiedostolle. Jos bitti on 1, lohko on varattu. Tätä karttaa käytetään vapaiden lohkojen etsimiseen tapauksissa, joissa tiedostolle on varattava tilaa. Lohkon bittikartta varaa yhtä monta lohkoa kuin (ryhmän_lohkojen_määrä / 8) / lohkon_koko(pyöristä tarvittaessa).

Inode-bittikartta suorittaa samanlaisen toiminnon kuin inodetaulukko: se näyttää, mitkä inodit ovat käytössä.

Lohkoryhmärakenteen seuraavaa aluetta käytetään tiedoston inode-taulukon tallentamiseen. Itse inodin rakennetta käsitellään tarkemmin seuraavassa alaosassa.

No, ja lopuksi, kaikki jäljellä oleva tila lohkoryhmässä on varattu todellisten tiedostojen tallentamiseen.

Tiedostojärjestelmä Alanumero 2 on tunnusomaista:

  • hierarkinen rakenne,
  • tietokokonaisuuksien koordinoitu käsittely,
  • dynaaminen tiedostopääte,
  • tiedostojen tietojen suojaaminen,
  • oheislaitteiden (kuten päätteiden ja nauhalaitteiden) käsitteleminen tiedostoina.

Sisäinen tiedostoesitys

Jokaisella Ext 2 -järjestelmän tiedostolla on yksilöllinen hakemisto. Hakemisto sisältää tiedot, joita kaikki prosessit tarvitsevat tiedoston käyttämiseen. Prosessoi pääsytiedostot käyttämällä hyvin määriteltyä järjestelmäkutsujen sarjaa ja tunnistaa tiedoston merkkijonolla, joka toimii hyväksyttynä tiedostonimenä. Jokainen yhdisteen nimi yksilöi tiedoston, joten järjestelmäydin muuntaa tämän nimen tiedostohakemistoksi, joka sisältää taulukon osoitteista, joissa tiedostotiedot sijaitsevat levyllä. Koska jokainen levyn lohko on osoitettu omalla numerollaan, tämä taulukko tallentaa kokoelman levylohkonumeroita. Joustavuuden lisäämiseksi ydin liittää tiedoston lohko kerrallaan, jolloin tiedoston tiedot voivat levitä koko tiedostojärjestelmään. Mutta tämä asettelu vaikeuttaa tietojen etsimistä. Osoitetaulukko sisältää luettelon tiedostoon kuuluvia tietoja sisältävistä lohkonumeroista, mutta yksinkertaiset laskelmat osoittavat, että lineaarista luetteloa tiedostolohkoista indeksissä on vaikea hallita. Jotta pieni hakemistorakenne mahdollistaa suurten tiedostojen kanssa työskentelyn, levylohkoosoitteiden taulukko mukautetaan kuvan 1 rakenteen kanssa

Useimmat Ext 2 -järjestelmän tiedostot eivät ole suurempia kuin 10 kt tai jopa 1 kt Koska 10 kt tiedostosta sijaitsee suorissa osoitelohkoissa, suurin osa tiedostoihin tallennetuista tiedoista on käytettävissä yhdellä levyllä. Siksi, toisin kuin suurten tiedostojen käyttäminen, vakiokokoisten tiedostojen käsittely on nopeaa.

Tiedoston inodes

Jokainen levyllä oleva tiedosto liittyy yhteen ja vain yhteen tiedoston inodeen, joka tunnistetaan sen järjestysnumerosta - tiedostoindeksistä. Tämä tarkoittaa, että tiedostojärjestelmään luotavien tiedostojen määrää rajoittaa inodien määrä, joka joko määritellään nimenomaisesti tiedostojärjestelmää luotaessa tai lasketaan levyosion fyysisen koon perusteella. Inodit ovat levyllä staattisessa muodossa ja ydin lukee ne muistiin ennen kuin käsittelee niitä.

Tiedoston inode rakenne on seuraava:

Kenttä nimi

Tyyppi

Kuvaus

I_mode

USHORT

Tämän tiedoston tyyppi ja käyttöoikeudet.

I_uid

USHORT

Tiedoston omistajan tunniste (Owner Uid).

I_size

ULONG

Tiedoston koko tavuina.

I_atime

ULONG

Aika, jolloin tiedostoa viimeksi käsiteltiin (Pääsyaika).

I_ctime

ULONG

Tiedoston luomisaika.

I_mtime

ULONG

Tiedoston viimeisen muokkauksen aika.

I_dtime

ULONG

Tiedoston poiston aika.

I_gid

USHORT

Ryhmätunnus (GID).

I_links_count

USHORT

Linkit laskevat.

I_blocks

ULONG

Tiedoston käyttämien lohkojen määrä.

I_liput

ULONG

Tiedostoliput (Tiedostoliput)

Minä_varasin1

ULONG

Varattu käyttöjärjestelmälle

I_block

ULONG

Osoittimet lohkoihin, joihin tiedostodataa kirjoitetaan (esimerkki suorasta ja epäsuorasta osoitteesta kuvassa 1)

I_versio

ULONG

Tiedoston versio (NFS:lle)

I_file_acl

ULONG

ACL-tiedosto

I_dir_acl

ULONG

Hakemisto ACL

I_faddr

ULONG

Fragmentin osoite

I_frag

UCHAR

Fragmentin numero

I_fsize

UCHAR

Fragmentin koko

I_pad1

USHORT

Täyte

I_reserved2

ULONG

Varattu

Tiedostotyyppi- ja käyttöoikeuskenttä on kaksitavuinen sana, jonka jokainen bitti toimii lippuna, joka osoittaa tiedoston suhteen tiettyyn tyyppiin tai tietyn tiedostooikeuden asetuksen.

Tunniste

Merkitys

Lipun tarkoitus (kenttä)

S_IFMT

F000

Tiedostotyypin maski

S_IFSOCK

A000

Domain-pistoke

S_IFLNK

C000

S_IFREG

8000

Tavallinen tiedosto

S_IFBLK

6000

Block-suuntautunut laite

S_IFDIR

4000

Luettelo

S_IFCHR

2000

Tavusuuntautunut (merkki) laite

S_IFIFO

1000

Nimetty putki (fifo)

S_ISUID

0800

SUID - vaihda omistajaa

S_ISGID

0400

SGID - ryhmämuutosbitti

S_ISVTX

0200

Tehtävän säästöbitti (tarttuva bitti)

S_IRWXU

01C0

Tiedoston omistajan oikeuksien maski

S_IRUSR

0100

Oikeus lukea

S_IWUSR

0080

Kirjoittaa oikein

S_IXUSR

0040

Oikeus toteuttaa

S_IRWXG

0038

Ryhmän oikeudet maski

S_IRGRP

0020

Oikeus lukea

S_IWGRP

0010

Kirjoittaa oikein

S_IXGRP

0008

Oikeus toteuttaa

S_IRWXO

0007

Muiden käyttäjien oikeuksien maski

S_IROTH

0004

Oikeus lukea

S_IWOTH

0002

Kirjoittaa oikein

S_IXOTH

0001

Oikeus toteuttaa

Inodien joukossa on useita inodeja, jotka on varattu erityistarkoituksiin ja joilla on erityinen rooli tiedostojärjestelmässä. Nämä ovat seuraavat kuvaukset

Tunniste

Merkitys

Kuvaus

EXT2_BAD_INO

Inode, joka luettelee levyllä olevien huonojen lohkojen osoitteet (Bad blocks inode)

EXT2_ROOT_INO

Tiedostojärjestelmän juurihakemiston inode (Root inode)

EXT2_ACL_IDX_INO

ACL inode

EXT2_ACL_DATA_INO

ACL inode

EXT2_BOOT_LOADER_INO

Käynnistyslataimen inode

EXT2_UNDEL_DIR_INO

Peruuta hakemiston poisto

EXT2_FIRST_INO

Ensimmäinen varaukseton inode

Tämän luettelon tärkein kahva on juurihakemiston kahva. Tämä kahva osoittaa juurihakemistoon, joka, kuten kaikki hakemistot, koostuu merkinnöistä, joilla on seuraava rakenne:

Kenttä nimi

Tyyppi

Kuvaus

Inode

ULONG

tiedoston inode numero

rec_len

USHORT

Tämän merkinnän pituus

nimi_len

USHORT

Tiedostonimen pituus

Nimi

HIILTYÄ

Tiedoston nimi

Yksittäinen hakemistomerkintä ei voi ylittää lohkon rajaa (eli sen on sijaittava kokonaan yhden lohkon sisällä). Siksi, jos seuraava tietue ei mahdu kokonaan tiettyyn lohkoon, se siirretään seuraavaan lohkoon ja edellinen tietue jatkaa siten, että se täyttää lohkon loppuun.

Kuva 1 Suorat ja epäsuorat osoitelohkot hakemistossa

Kuva 2 Tiedoston koko tavuina lohkokoon ollessa 1 kt

Kuva 3. Esimerkki levyhakemistosta

Kuva 3 näyttää tietyn tiedoston levyindeksin. Tämä hakemisto kuuluu tavalliseen tiedostoon, jonka omistaja on "mjb" ja jonka koko on 6030 tavua. Järjestelmä sallii käyttäjän "mjb" lukea, kirjoittaa ja suorittaa tiedoston; "os"-ryhmän jäsenet ja kaikki muut käyttäjät saavat vain lukea tai suorittaa tiedostoa, mutta eivät kirjoittaa siihen tietoja. Tiedosto on viimeksi luettu 23. lokakuuta 1984 klo 13.45 ja viimeksi kirjoitettu 22. lokakuuta 1984 klo 10.30. Hakemistoa muokattiin viimeksi 23. lokakuuta 1984 klo 13.30, vaikka tiedostoon ei tuolloin kirjoitettu mitään tietoja. Ydin koodaa kaikki yllä olevat tiedot indeksiin. Huomaa ero hakemiston sisällön ja tiedoston sisällön kirjoittamisessa levylle. Tiedoston sisältö muuttuu vain, kun tiedostoon kirjoitetaan. Hakemiston sisältö muuttuu sekä tiedoston sisällön muuttuessa että tiedoston omistajan, käyttöoikeuksien ja osoitinjoukon muuttuessa. Tiedoston sisällön muuttaminen aiheuttaa automaattisesti hakemiston säätämisen, mutta indeksin säätäminen ei tarkoita tiedoston sisällön muuttamista.

Luettelot

Hakemistot ovat tiedostoja, joista tiedostojärjestelmän hierarkkinen rakenne rakennetaan; niillä on tärkeä rooli tiedostonimen muuttamisessa indeksinumeroksi. Hakemisto on tiedosto, jonka sisältö on joukko merkintöjä, jotka koostuvat hakemistoon sisältyvästä hakemistonumerosta ja tiedostonimestä. Hyväksytty nimi on merkkijono, joka päättyy nolla-merkillä ja erotetaan vinoviivalla ("/") useiksi komponenteiksi. Jokaisen osan viimeistä lukuun ottamatta on oltava hakemiston nimi, mutta viimeinen komponentti voi olla sellaisen tiedoston nimi, joka ei ole hakemisto. UNIX-versiossa V kunkin komponentin pituus on rajoitettu 14 merkkiin; Näin ollen yhdessä indeksinumerolle varatun 2 tavun kanssa hakemistomerkinnän koko on 16 tavua.

Tavupoikkeama
hakemiston sisällä

Indeksinumero
(2 tavua)

Nimitiedosto

1798

sen sisällä

1276

fsck

clri

1268

motd

1799

kiinnitys

mknod

2114

passwd

1717

umount

1851

tarkistuslista

fsdbld

config

1432

Getty

kaatua

mkfs

Kuva 4 /etc-hakemistomuoto

Kuvassa 4 näkyy "etc"-hakemiston muoto. Jokainen hakemisto sisältää tiedostoja, joiden nimet on merkitty pisteellä ja kahdella pisteellä (." ja "..") ja joiden indeksinumerot ovat samat kuin tietyn hakemiston ja vastaavasti päähakemiston indeksinumerot. Indeksinumero tiedostolle "." hakemistossa "/etc" on osoite offsetissa 0 ja arvo 83. Tiedoston ".." inode-numeron osoite on offsetissa 16 hakemiston alusta ja arvo 2. Merkinnät hakemisto voi olla tyhjä, mutta inodien numero on 0. Esimerkiksi merkintä osoitteessa 224 "/etc"-hakemistossa on tyhjä, vaikka se sisälsi kerran sisääntulopisteen tiedostolle nimeltä "crash". mkfs-ohjelma alustaa tiedostojärjestelmän siten, että tiedostojen inode-numerot ovat "." ja ".." juurihakemistossa ovat samat kuin tiedostojärjestelmän juuriindeksinumero.

Ydin tallentaa tiedot hakemistoon aivan kuten tavallisessa tiedostotyypissä, käyttämällä indeksirakennetta ja lohkoja, joilla on suora ja epäsuora osoitetaso. Prosessit voivat lukea tietoja hakemistoista samalla tavalla kuin tavallisia tiedostoja, mutta ydin varaa yksinomaisen kirjoitusoikeuden hakemistoon, mikä varmistaa, että hakemistorakenne on oikea. Hakemistooikeuksilla on seuraava merkitys: lukuoikeus antaa prosesseille mahdollisuuden lukea tietoja hakemistosta; kirjoitusoikeus sallii prosessin luoda uusia merkintöjä hakemistoon tai poistaa vanhoja (käyttäen creat-, mknod-, linkki- ja unlink system -toimintoja), mikä muuttaa hakemiston sisältöä; Suoritusoikeus sallii prosessin etsiä hakemistoa tiedostonimen perusteella (koska hakemiston "suorittaminen" on turhaa).

Kun prosessi käyttää tiedostopolkua, ydin etsii hakemistoista vastaavan inodien numeron. Kun tiedoston nimi on muunnettu inodien numeroksi, inode tallennetaan muistiin ja sitä käytetään myöhemmissä pyynnöissä.

Unix-tiedostojärjestelmien käsite sisältää linkin käsitteen. Yksi inode voidaan liittää useisiin tiedostonimiin. Kuvaaja sisältää kentän, joka tallentaa numeron, johon tiedosto liittyy. Linkin lisääminen koostuu hakemistomerkinnän luomisesta, jossa inodin numero osoittaa toiseen inodiin, ja linkkilaskurin suurentamisesta inodissa. Kun linkki poistetaan, ydin pienentää linkkilaskuria ja poistaa kahvan, jos laskuri on nolla.

Tällaisia ​​linkkejä kutsutaan kovalinkeiksi, ja niitä voidaan käyttää vain yhdessä tiedostojärjestelmässä (et voi luoda linkkiä tiedostolle toisesta tiedostojärjestelmästä). Lisäksi kova linkki voi osoittaa vain tiedostoon (kova linkki hakemistoon voi aiheuttaa silmukan tiedostojärjestelmässä).

Useimmissa Unix-järjestelmissä on toisenlainen linkki. Näitä linkkejä, jotka sisältävät vain tiedostonimen, kutsutaan symbolisiksi. Kun ydin käsittelee tällaisia ​​linkkejä, kun se muuntaa tiedostopolun inodiksi, ydin korvaa linkin nimen inodin sisällöllä (eli kohdetiedoston nimellä) ja tulkitsee tiedostopolun uudelleen. Koska symbolinen linkki ei osoita inodeihin, on mahdollista luoda linkkejä tiedostoihin, jotka sijaitsevat toisessa tiedostojärjestelmässä. Nämä linkit voivat osoittaa minkä tahansa tyyppisiin tiedostoihin, jopa olemattomiin. Symbolisia linkkejä käytetään laajalti, koska niillä ei ole samoja rajoituksia kuin kovilla linkeillä. Ne vievät kuitenkin jonkin verran tilaa levyltä, jossa inode ja datalohkot sijaitsevat. Niiden käyttö voi aiheuttaa viiveitä tiedostopolun muuntamisessa inodiksi, koska ytimen on tulkittava tiedostopolku uudelleen symlinkiä käsitellessään.

Laitteen tiedostot

Unix-tyyppisissä käyttöjärjestelmissä laitteisiin päästään erityisten tiedostojen kautta. Tällainen tiedosto ei vie tilaa tiedostojärjestelmässä. Se on vain laiteohjaimen tukiasema.

Laitetiedostoja on kahta tyyppiä: merkki ja lohko. Merkkityyppiä käytettäessä on mahdollista vaihtaa tietoja laitteen kanssa vain sisään merkkitila, kun taas lohkotyyppiset laitetiedostot sallivat vain lohkojen vaihdon puskurin avulla. Kun laitetiedostoon tehdään I/O-pyyntö, pyyntö välitetään asianmukaiselle laiteohjaimelle. Jokaisella tällaisella tiedostolla on päänumero, joka tunnistaa laitteen tyypin, ja alanumero, joka tunnistaa itse laitteen.

EXT2fs:n lisäominaisuudet

Tavallisten Unix-ominaisuuksien lisäksi EXT2fs tarjoaa joitain lisäominaisuuksia, joita Unix-tiedostojärjestelmät eivät tavallisesti tue.

Tiedostoattribuuttien avulla voit muuttaa sitä, miten ydin reagoi tiedostojoukkojen käsittelyssä. Voit määrittää attribuutteja tiedostolle tai hakemistolle. Toisessa tapauksessa tähän hakemistoon luodut tiedostot perivät nämä attribuutit.

Järjestelmän asennuksen aikana voidaan asettaa joitakin tiedostomääritteisiin liittyviä ominaisuuksia. Kiinnitysvaihtoehdon avulla järjestelmänvalvoja voi valita, kuinka tiedostot luodaan. BSD-kohtaisessa tiedostojärjestelmässä tiedostot luodaan samalla ryhmätunnuksella kuin päähakemistossa. System V:n ominaisuudet ovat hieman monimutkaisempia. Jos hakemistossa on setgid-bitti asetettu, niin luodut tiedostot perivät kyseisen hakemiston ryhmätunnuksen ja alihakemistot ryhmätunnuksen ja setgid-bitin. Muussa tapauksessa tiedostot ja hakemistot luodaan kutsuvan prosessin ensisijaisella ryhmätunnuksella.

EXT2fs-järjestelmä voi käyttää synkronista tietojen muokkausta, joka on samanlainen kuin BSD-järjestelmä. Liitäntävaihtoehdon avulla järjestelmänvalvoja voi määrittää, että kaikki tiedot (inodit, bittilohkot, epäsuorat lohkot ja hakemistolohkot) kirjoitetaan levylle synkronisesti, kun niitä muutetaan. Tätä voidaan käyttää korkean tiedontallennuskapasiteetin saavuttamiseen, mutta se johtaa myös huonoon suorituskykyyn. Todellisuudessa tätä toimintoa ei yleensä käytetä, koska suorituskyvyn heikkenemisen lisäksi se voi johtaa käyttäjätietojen menettämiseen, joita ei merkitä tiedostojärjestelmää tarkistettaessa.

EXT2fs antaa sinun valita loogisen lohkokoon tiedostojärjestelmää luotaessa. Se voi olla kooltaan 1024, 2048 tai 4096 tavua. Suurempien lohkojen käyttö johtaa nopeampiin I/O-toimintoihin (koska levypyyntöjä tehdään vähemmän) ja siten pään liikettä vähemmän. Toisaalta suurten lohkojen käyttö johtaa hukkaan levytilaa. Tyypillisesti tiedoston viimeistä lohkoa ei käytetä kokonaan tietojen tallentamiseen, joten lohkon koon kasvaessa hukkaan menevän levytilan määrä kasvaa.

EXT2fs antaa sinun käyttää nopeutettuja symbolisia linkkejä. Tällaisia ​​linkkejä käytettäessä tiedostojärjestelmän tietolohkoja ei käytetä. Kohdetiedoston nimeä ei tallenneta tietolohkoon, vaan itse inodeen. Tämän rakenteen avulla voit säästää levytilaa ja nopeuttaa symbolisten linkkien käsittelyä. Kahvalle varattu tila on tietysti rajallinen, joten jokaista linkkiä ei voi esittää nopeutettuna linkkinä. Nopeutetun linkin tiedostonimen enimmäispituus on 60 merkkiä. Lähitulevaisuudessa tätä järjestelmää on tarkoitus laajentaa pienille tiedostoille.

EXT2fs tarkkailee tiedostojärjestelmän tilaa. Ydin käyttää erillistä kenttää superlohkossa osoittamaan tiedostojärjestelmän tilaa. Jos tiedostojärjestelmä on asennettu luku/kirjoitustilassa, sen tilaksi on asetettu "Ei puhdas". Jos se puretaan tai asennetaan uudelleen vain luku -tilassa, sen tilaksi asetetaan "Puhdas". Järjestelmän käynnistyksen ja tiedostojärjestelmän tilan tarkistusten aikana näitä tietoja käytetään määrittämään, onko tiedostojärjestelmän tarkistus tarpeen. Ydin tekee myös joitain virheitä tähän kenttään. Kun ydin havaitsee yhteensopimattomuuden, tiedostojärjestelmä merkitään "Virheelliseksi". Tiedostojärjestelmän tarkistusohjelma testaa nämä tiedot tarkistaakseen järjestelmän, vaikka sen tila olisikin puhdas.

Tiedostojärjestelmän testaamisen huomioimatta jättäminen pitkään voi joskus johtaa vaikeuksiin, joten EXT2fs sisältää kaksi tapaa järjestelmän säännölliseen tarkistamiseen. Superblock sisältää järjestelmän kiinnityslaskurin. Tämä laskuri kasvaa aina, kun järjestelmä asennetaan luku-/kirjoitustilaan. Jos sen arvo saavuttaa maksimiarvon (se on myös tallennettu superlohkoon), tiedostojärjestelmän testiohjelma alkaa tarkistaa sitä, vaikka sen tila olisi "Puhdas". Myös viimeinen tarkistusaika ja tarkastusten välinen maksimiväli tallennetaan superlohkoon. Kun tarkistusten välinen enimmäisaika saavutetaan, tiedostojärjestelmän tila ohitetaan ja sen tarkistus käynnistetään.

EXT2fs-järjestelmä sisältää työkalut sen konfigurointiin. Tune2fs-ohjelmalla voidaan muuttaa:

  • toimia, kun virhe havaitaan. Kun ydin havaitsee ristiriidan, tiedostojärjestelmä merkitään "Virheelliseksi" ja yksi seuraavista kolmesta toimenpiteestä voidaan suorittaa: jatkaa suoritusta, asenna tiedostojärjestelmä uudelleen vain luku -tilassa vaurioiden välttämiseksi tai käynnistä järjestelmä uudelleen tarkistaaksesi tiedostojärjestelmä.
  • enimmäisasennusarvo.
  • enimmäisaika tarkastusten välillä.
  • pääkäyttäjälle varattujen loogisten lohkojen määrä.

Liitännässä määritetyillä vaihtoehdoilla voidaan myös muuttaa sitä, mitä ydin tekee, kun se havaitsee virheen.

Attribuuttien avulla käyttäjät voivat poistaa arkaluontoisia tiedostoja. Kun tällainen tiedosto poistetaan, satunnaiset tiedot kirjoitetaan lohkoihin, joita käytettiin aiemmin tämän tiedoston sijoittamiseen. Tämä estää ulkopuolisia pääsemästä tämän tiedoston aiempaan sisältöön levyeditorin avulla.

EXT2fs-järjestelmään on hiljattain lisätty uusia tiedostotyyppejä, jotka on otettu 4.4 BSD-tiedostojärjestelmästä. Ensimmäisen tyyppisiä tiedostoja voidaan käyttää vain lukutarkoituksiin: kenelläkään ei ole oikeutta muuttaa tai poistaa niitä. Tätä voidaan käyttää tärkeiden asetustiedostojen suojaamiseen. Toinen tiedostotyyppi on tiedosto, joka voidaan avata kirjoitustilassa, ja tietoja voidaan liittää vain tiedoston loppuun. Tämän tyyppisiä tiedostoja ei myöskään voi poistaa tai nimetä uudelleen. Niitä voidaan käyttää lokitiedostoina, joiden koko voi vain kasvaa.

Suorituskyvyn optimointi

EXT2fs-järjestelmä sisältää monia ominaisuuksia, jotka optimoivat sen suorituskykyä, mikä lisää tiedonvaihtonopeutta tiedostoja luettaessa ja kirjoitettaessa.

EXT2fs käyttää aktiivisesti levypuskuria. Kun lohko on luettava, ydin lähettää I/O-toimintopyynnön useille vierekkäisille lohkoille. Siten ydin yrittää varmistaa, että seuraava luettava lohko on jo ladattu levypuskuriin. Tällaiset toiminnot suoritetaan yleensä luettaessa tiedostoja peräkkäin.

EXT2fs-järjestelmä sisältää myös suuren määrän optimointeja tiedon sijoittamista varten. Lohkoryhmiä käytetään ryhmittelemään yhteen vastaavat inodit ja tietolohkot. Ydin yrittää aina sijoittaa yhden tiedoston tietolohkot samaan ryhmään sekä sen kuvaajan. Tämän tarkoituksena on vähentää käyttöpäiden liikettä kuvaajan ja sitä vastaavien tietolohkojen lukemisen aikana.

Kun kirjoitetaan tietoja tiedostoon, EXT2fs varaa etukäteen enintään 8 peräkkäistä lohkoa varattaessaan uutta lohkoa. Tämän menetelmän avulla voit saavuttaa korkean suorituskyvyn raskaassa järjestelmäkuormituksessa. Tämä mahdollistaa myös tiedostojen sijoittamisen vierekkäisiin lohkoihin, mikä nopeuttaa niiden myöhempää lukemista.

EXT2fs-kirjasto

EXT2fs-resurssien käytön ja tämän tiedostojärjestelmän ohjausrakenteiden toiminnan yksinkertaistamiseksi kehitettiin libext2fs-kirjasto. Tämä kirjasto sisältää toimintoja, joita voidaan käyttää EXT2-tiedostojärjestelmän tietojen määrittämiseen ja muokkaamiseen käyttämällä suoraan fyysistä laitetta.

Useimmat EXT2fs-apuohjelmat (mke2fs, e2fsck, tune2fs, dumpe2fs, debugfs jne.) käyttävät tätä kirjastoa. Tämä yksinkertaistaa huomattavasti näiden apuohjelmien muokkaamista, koska kaikki muutokset, jotka tuovat lisäominaisuuksia EXT2fs-tiedostojärjestelmään, on tehtävä vain EXT2fs-kirjastossa.

Koska EXT2fs-kirjaston käyttöliittymä on melko laaja ja abstrakti, sen avulla voidaan helposti kirjoittaa ohjelmia, jotka vaativat suoran pääsyn tiedostojärjestelmään. Esimerkiksi EXT2fs-kirjastoa käytettiin 4.4 BSD-vedoksen siirron ja joidenkin apuohjelmien palauttamisen aikana. Hyvin vähän muutoksia tarvittiin näiden työkalujen mukauttamiseksi Linuxiin (jouduimme korvaamaan useita tiedostojärjestelmään liittyviä toimintoja kutsuilla EXT2fs-kirjastoon).

EXT2fs-kirjasto tarjoaa pääsyn useiden luokkien toimintoihin. Ensimmäinen luokka on tiedostojärjestelmään liittyvät toiminnot. Mikä tahansa ohjelma voi avata tai sulkea tiedostojärjestelmän, lukea tai kirjoittaa bittilohkon tai luoda uuden tiedostojärjestelmän levylle. On myös toimintoja tiedostojärjestelmän huonojen lohkojen luettelon muokkaamiseen.

Toinen toimintoluokka toimii hakemistojen kanssa. EXT2fs-kirjastoa käyttävä ohjelma voi luoda tai laajentaa hakemiston sekä lisätä tai poistaa merkintöjä hakemistosta. On toimintoja sekä tiedoston polun määrittämiseen inodin avulla että tiedoston polun määrittämiseen tietyn kuvaajan avulla.

Viimeinen toimintoluokka toimii indeksikahvoilla. On mahdollista lukea kuvaajataulukkoa, lukea tai kirjoittaa kuvaaja ja tarkastella määritetyn kuvaajan kaikkia lohkoja. On mahdollista käyttää toimintoja lohkojen ja kuvaajien sijoittamiseen ja vapauttamiseen.

EXT2fs-järjestelmätyökalut

EXT2fs-järjestelmää varten on kehitetty tehokkaat säätimet. Näitä työkaluja käytetään EXT2fs-tiedostojärjestelmien epäjohdonmukaisuuksien luomiseen, muokkaamiseen ja korjaamiseen. mke2fs-ohjelmaa käytetään levyosion liittämiseen, joka sisältää tyhjän EXT2fs-tiedostojärjestelmän.

Tiedostojärjestelmän parametrien konfigurointiin voidaan käyttää tune2fs-ohjelmaa, jonka avulla voit muuttaa vastausta virheisiin, järjestelmän kiinnitysten enimmäismäärää, järjestelmän tarkistusten enimmäisväliä sekä pääkäyttäjälle varattujen loogisten lohkojen määrää.

Ehkä mielenkiintoisin työkalu on tiedostojärjestelmän tarkistus. E2fsck on suunniteltu poistamaan epäjohdonmukaisuudet tiedostojärjestelmästä koko järjestelmän epätarkan sammutuksen jälkeen. E2fsck-ohjelman alkuperäinen versio perustuu Linus Torvald fsck -ohjelmaan Minix-tiedostojärjestelmälle. Ohjelman nykyinen versio on kuitenkin kirjoitettu uudelleen käyttämällä EXT2fs-kirjastoa ja se on nopeampi ja voi korjata enemmän järjestelmän virheitä tarkistettaessa alkuperäiseen versioon verrattuna.

e2fsck-ohjelma on suunniteltu toimimaan suurimmalla nopeudella. Koska tiedostojärjestelmän tarkistusohjelmat johtavat levyn lataamiseen, e2fsck-algoritmit tulisi optimoida niin, että tiedostojärjestelmän rakenteita käytetään paljon harvemmin. Ja lisäksi inodien ja hakemistojen tarkistusjärjestys suoritettaisiin lohkon numeron mukaan, mikä vähentää levyasemapäiden siirtämiseen kuluvaa aikaa.

Ensimmäisellä kerralla e2fsck käy läpi kaikki tiedostojärjestelmän inodit ja tutkii jokaisen inodin erillisenä järjestelmäelementtinä. Siten muita tiedostojärjestelmäobjekteja ei tarkisteta tämän testauksen aikana. Yksi tällaisten tarkistusten tarkoitus on tarkistaa tarkastettavan tiedoston tyypin olemassaolo sekä kaikkien kuvaajan lohkojen vastaavuus olemassa olevilla numeroilla varustettujen lohkojen kanssa. Ensimmäinen läpimeno tarkistaa bittikartat, jotka osoittavat lohkojen ja kuvaajien käytön.

Jos e2fsck löytää tietolohkoja, joiden numerot sisältyvät useampaan kuin yhteen kuvaajaan, ajetaan siirrot 1B - 1D eron ratkaisemiseksi joko lisäämällä jaettavia lohkoja tai poistamalla yksi tai useampi kuvaaja.

Ensimmäinen läpikulku vie eniten aikaa, koska kaikki inodit on luettava muistiin ja tarkistettava. I/O-toimintojen ajan lyhentämiseksi seuraavissa läpikäynneissä kaikki tarvittavat tiedot jäävät puskuriin. Tämän järjestelmän tyypillinen piirre on kaikkien tiedostojärjestelmän hakemistolohkojen etsiminen. Tämän tiedon saamiseksi luetaan toisessa läpikäymisessä kaikkien tiedostojärjestelmän hakemistojen kuvaajarakenteet uudelleen.

Toisessa läpikäynnissä hakemistot tarkistetaan tiedostojärjestelmän erillisinä elementteinä. Jokainen hakemistolohko tarkistetaan erikseen ilman viittausta muihin hakemistolohkoihin. Tämä sallii e2fsck:n lajitella kaikki hakemistolohkot lohkonumeron mukaan ja tarkistaa ne nousevassa järjestyksessä, mikä vähentää levyn käyttöaikaa. Hakemistolohkot testataan sen varmistamiseksi, että niiden merkinnät ovat kelvollisia ja että ne sisältävät viittauksia kahvoihin, joissa on olemassa olevia numeroita (kuten määritettiin ensimmäisessä läpikäynnissä).

Jokaisen hakemistokuvaajan ensimmäiselle hakemistolohkolle tarkistetaan "."-merkintöjen olemassaolo. ja ".." ja että merkinnän "" kuvaajanumero. vastaa nykyistä hakemistoa. (".."-merkinnän kuvaajanumero testataan vasta kolmannella ajokerralla.)

Toisen läpimenon aikana emohakemistoa vastaavat tiedot tallennetaan puskuriin.

On huomattava, että toisen läpimenon loppuun mennessä lähes kaikki levyn I/O-toiminnot on suoritettu. Kaikki kolmannen, neljännen ja viidennen kierroksen tarvittavat tiedot ovat muistissa, mutta loput kierrokset kuormittavat prosessoria ja vievät alle 5-10% e2fsck:n kokonaissuoritusajasta.

Kolmannella läpikäynnillä tarkistetaan hakemistoyhteydet. E2fsck tarkistaa jokaisen hakemiston polut juureen käyttämällä toisella läpikäynnillä saatuja tietoja. Tässä jokaisen hakemiston ".."-merkintä on valittuna. Kaikki tarkistuksen jälkeen tunnistetut hakemistot, joilla ei ole yhteyttä juurihakemistoon, sijoitetaan hakemistoon /lost+found.

Neljännessä ajossa e2fsck tarkistaa kunkin inodin viitemäärät käymällä läpi kaikki inodit ja vertaamalla viitelukuja (tämä tieto tallennetaan ensimmäisestä läpikäynnistä) sisäisiin laskureihin, jotka laskettiin toisen ja kolmannen ajon aikana. Kaikki poistamattomat tiedostot, joiden viitemäärä on nolla, sijoitetaan myös /lost+found -hakemistoon.

Lopuksi viidennessä ajossa e2fsck tarkistaa, että kaikki tiedostojärjestelmätiedot täsmäävät. Täällä verrataan aikaisemmissa ajoissa saatuja lohkojen ja kuvaajien bittikarttoja todellisiin arvoihin ja tarvittaessa säädetään levyllä olevia tietoja vastaavasti.

Toinen hyödyllinen työkalu on tiedostojärjestelmän debuggeri. Debugfs on tehokas ohjelma, jonka avulla voit määrittää ja asettaa tiedostojärjestelmän tilan. Pohjimmiltaan se on interaktiivinen käyttöliittymä EXT2fs-kirjastoon, eli se kääntää kirjoitetut komennot kutsuiksi kirjaston toimintoihin.

Debugfsin avulla voidaan määrittää tiedostojärjestelmän sisäinen rakenne, korjata vaurioitunut järjestelmä manuaalisesti tai luoda ehdollisia testejä e2fsck:lle. Valitettavasti tämä ohjelma voi vahingoittaa tiedostojärjestelmää, jos et osaa käyttää sitä. Tämän työkalun avulla voit yksinkertaisesti tuhota tiedostojärjestelmän. Siksi debugfs avaa tiedostojärjestelmän oletusarvoisesti vain luku -tilassa. Voit käyttää luku-/kirjoitustilassa määrittämällä -w-vaihtoehdon.

Suorituskykylaskenta

Bonnie-testin tulokset näkyvät seuraavasta taulukosta:

Merkki merkiltä tallennus (Kb/s)

Estä tallennus (Kb/s)

Kopiointi (Kb/s)

Merkki merkiltä luku (Kb/s)

Estä luku (Kb/s)

BSD Async

BSD-synkronointi

Ext2fs

1237

1033

Xia fs

Tulokset ovat melko hyviä lohkon I/O:lle: EXT2fs-järjestelmä on suorituskyvyltään muita järjestelmiä parempi. Tämä johtuu sijoitusmenettelyihin sisältyvistä optimoinneista. Nauhoitus tapahtuu myös melko nopeasti, koska se tehdään ryhmätilassa. Suuri lukunopeus johtuu siitä, että lohkot on allokoitu tiedostoon, joten asemapäät eivät liiku kahden lukukerran välillä ja esilukuoptimointi on täysin toimiva.

Toisaalta FreeBSD-järjestelmässä on parempi suorituskyky symboliselle I/O:lle. Tämä saattaa johtua siitä, että FreeBSD ja Linux käyttävät erilaisia ​​proseduureja vastaaville C-kirjastoille. Lisäksi FreeBSD:llä on mitä todennäköisimmin optimoitu symbolinen lukukirjasto, joten suorituskyky on tässä hieman parempi.

Andrein testitulokset

Andrew'n testitulokset näkyvät seuraavasta taulukosta:

Kappale 1 Luominen

Passi 2 kopio

Kappale 3 Tilan tarkistus

Läpi 4 tavulta -tarkistus

Kappale 5 Kokoelma

2203

7391

6319

17466

75314

BSD-synkronointi

2330

7732

6317

17499

75681

Ext2fs

Kahden ensimmäisen kierroksen tulokset osoittavat, että Linux voittaa asynkronisella tiedonsiirrolla. Kun luot hakemistoja ja tiedostoja, BSD-järjestelmä kirjoittaa hakemistokahvat ja hakemistomerkinnät synkronisesti. Spekulaatioiden mukaan FreeBSD:n asynkronista tukea ei ole vielä täysin otettu käyttöön.

Kolmannessa kierrossa Linuxin ja BSD:n arvot ovat hyvin samanlaiset. Vaikka BSD toimii paremmin, tiedostonimipuskurin lisääminen Linuxin VFS:ään poistaa tämän ongelman.

Neljännessä ja viidennessä kierrossa Linux on nopeampi kuin FreeBSD, pääasiassa yhtenäisen puskurinhallinnan ansiosta. Puskurin koko voi kasvaa tarpeen mukaan ja viedä enemmän muistia kuin FreeBSD, joka käyttää kiinteää kokoa. EXT2fs- ja Xia fs -järjestelmien tulosten vertailu osoittaa, että EXT2fs-järjestelmien sisältämiä optimointeja todella käytetään: näiden järjestelmien suorituskyvyn ero on noin 5-10%.

Johtopäätös

EXT2-tiedostojärjestelmä on laajimmin käytetty Linux-käyttäjien keskuudessa. Se tarjoaa vakio-Unix-ominaisuuksia ja lisäominaisuuksia. Lisäksi ytimeen sisältyvän optimoinnin ansiosta se näyttää erinomaisia ​​suorituskykytuloksia.

EXT2fs-järjestelmä sisältää ominaisuuksia, joiden avulla voit lisätä uusia ominaisuuksia. Jotkut työskentelevät kehittääkseen laajennuksia todelliseen tiedostojärjestelmään: Posix ACL, palautus poistetut tiedostot ja tiedostojen pakkaus reaaliajassa.

Ensin EXT2fs-järjestelmä integroitiin Linux-ytimeen, ja nyt sitä siirretään aktiivisesti muihin käyttöjärjestelmiin. EXT2fs on myös tärkeä osa Masix-käyttöjärjestelmää, jota yksi kirjoittajista parhaillaan kehittää.


Yläosa