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.
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:
- 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); - 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. - 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. - 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. - 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 |
Indeksinumero |
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ää.