Linux failu sistēmu veidi un to funkcijas. Failu un pārrāvuma failu sistēma ext2 failu sistēma ext2 3

Tagad mēs aprakstām populārāko disku failu sistēmu Linux - Ext2. Pirmā Linux izlaišana izmantoja Minix 1 failu sistēmu, kurai bija īss failu nosaukumi un maksimālais faila izmērs 64 MB. Minix 1 failu sistēma beidzot tika aizstāta ar pirmo paplašināto ext failu sistēmu, kas ļāva izmantot ilgākus failu nosaukumus un lielākus failu izmērus. Sakarā ar tās zemo efektivitāti (darbības laikā), Ext sistēma tika aizstāta ar tās Ext2 secību, kas joprojām tiek plaši izmantota.

Diska nodalījums ar EXT2 satur failu sistēmu, kas parādīta attēlā. 10.17 Izkārtojums. 0 Bloks Linux sistēma neizmanto un satur datora kravas kodu. Pēc 0 bloka diska nodalījums ir sadalīts bloku blokos (izņemot diska cilindru robežas). Katra grupa tiek organizēta šādi.


Pirmais bloks ir superblock (superblock), kas saglabā informāciju par failu sistēmas izkārtojumu, tostarp I-mezglu skaitu, disku bloku skaitu, bezmaksas disku bloku saraksta sākumu (tas parasti ir vairāki simti elementu ). Pēc tam seko grupas deskriptors, kas satur informāciju par bitu masīvu atrašanās vietu, bezmaksas bloku un I-mezglu skaitu grupā, kā arī grupas direktoriju skaitu. Šī informācija ir svarīga, jo EXT2 failu sistēma cenšas sadalīt katalogus vienmērīgi visā diskā.

Divos bitu blokos tiek ierakstīti bezmaksas bloki un bezmaksas I-mezgli (tas ir arī mantojis no Minix 1 failu sistēmas un atšķir to no vairuma UNIX failu sistēmu, kurās saraksts tiek izmantots bezmaksas blokiem). Katra bitu masīva izmērs ir vienāds ar vienu bloku. Ar izmēru bloka 1 KB, šī shēma ierobežo izmēru bloka blokiem 8192 blokiem un 8192 I-mezgliem. Pirmais skaits ir reāls ierobežojums, un otrais ir praktiski nē. Ar blokiem 4 kB skaitļu četras reizes vairāk.

Tad atrodas paši i-mezgli. Tie ir numurēti no 1 līdz dažiem maksimāliem. Katra i-mezgla lielums ir 128 baiti, un apraksta to tieši vienu failu. I-mezgls satur konta informāciju (ieskaitot visu atgriešanās zvanu, kas vienkārši ņem to no I-mezglu), kā arī pietiekamu daudzumu informācijas, lai noteiktu visu disku bloku atrašanās vietu, kurā ir faila dati.

Pēc I-mezgliem ir datu bloki. Visi faili un katalogi tiek saglabāti šeit. Ja fails vai direktorija sastāv no vairāk nekā viena bloka, tad šie bloki nav nepieciešami nepārtraukti uz diska. Faktiski lielā faila bloki visticamāk izkaisīti visā diskā.

Attiecīgie katalogi I-mezgli ir izkaisīti pār visām diska bloku grupām. Ext2 cenšas organizēt parastos failus vienā blokiem kā vecāku direktoriju, un datu faili ir vienā blokā kā avota koda I-mezgls (ar nosacījumu, ka ir pietiekami daudz vietas). Šī ideja tika aizņemta no Berkeley Fast File System failu sistēmas (McKusick et al., 1984). Bitu bloki tiek izmantoti, lai veiktu ātrus lēmumus par atlasi

jaunu failu sistēmas datu vietas.

Ja jauni failu bloki ir iezīmēti, EXT2 ir arī vairāku (astoņu) papildu bloku izvēle (preallocates) par to pašu failu (lai samazinātu failu sadrumstalotību turpmāko ierakstu operāciju dēļ). Šī shēma izplata failu sistēmu visā diskā. Tam ir arī labs sniegums (sakarā ar tās tendenci uz saistīto atrašanās vietu un samazinātu sadrumstalotību).

Lai piekļūtu failam, vispirms jāizmanto viens no Linux sistēmas zvaniem (piemēram, atvērtu), par kuru vēlaties norādīt ceļu uz failu. Šis ceļš izjauca, un tās katalogu sastāvdaļas tiek iegūtas no tā. Ja ir norādīts relatīvais ceļš, meklēšana sākas no pašreizējā procesa kataloga, citādi - no saknes direktorijas. Jebkurā gadījumā I-mezgls pirmajam katalogam ir viegli atrast: Procesa deskriptorā ir rādītājs uz to vai (saknes direktorijas gadījumā) tas tiek glabāts konkrētā diskā uz diska.

Katalogs ļauj izmantot failu nosaukumus līdz 255 rakstzīmēm (10.18. Att.). Katrs direktorijs sastāv no noteikta skaita diska bloku (lai direktoriju varētu rakstīt uz diska atomino). Direktorijā failu un direktoriju elementi ir nedrošā secībā (katrs postenis tieši seko iepriekšējam). Elementi nevar šķērsot bloku robežas, tāpēc katra diska bloka beigās parasti ir vairāki neizmantoti baiti.


Katra direktorija ieraksta 1. attēlā. 10.18 sastāv no četrām fiksētā garuma laukiem un vienu mainīgā garuma laukā. Pirmais lauks ir I-mezgla numurs 19 kolosālajam failam, 42 par lielo un 88 failu Bigdir direktorijā. Turpmāk ir REC_LEN lauks, kas ziņo par visu direktoriju ieraksta lielumu baitos (iespējams, kopā ar papildu vietām pēc nosaukuma). Šis lauks ir nepieciešams, lai atrastu nākamo ierakstu (gadījumā, ja faila nosaukumu papildina nezināms skaits baitu). Attēlā šo lauku norāda bultiņa. Pēc tam ir lauka tipa lauks, direktorija utt. Pēdējais fiksētā garuma lauks satur faila nosaukuma garumu baitos (8, 10 un 6 par šo piemēru). Visbeidzot, faila nosaukums nāk nulles baitu un papildina 32 bitu robežu. Papildu pastkastes baiti var sekot.

Att. 10.18, b tiek parādīts tajā pašā direktorijā pēc apjoma elementa noņemšanas. Viss, kas tiek darīts katalogā - palielina numuru ieraksta lielumu iepriekšējā kolosālā faila, un direktoriju ierakstu baiti attālinātajam apjomīgajam failam tiek pārveidoti par pirmajiem ierakstu pildvielām. Pēc tam šos baitus var izmantot, lai ierakstītu jaunu failu.

Tā kā meklēšana katalogos tiek lineāri, tad ieraksta meklēšana, kas atrodas lielā kataloga beigās, var ilgt ilgu laiku. Tāpēc sistēma atbalsta kešatmiņas katalogus, kuriem nesen tika veikta piekļuve. Kešatmiņas meklēšana tiek veikta pēc faila nosaukuma, un, ja tas ir atrasts, tad vairs nav nepieciešama dārga lineārā meklēšana. Dentry objekts tiek ievadīts katra ceļa komponentu direktoriju elementu kešatmiņā, un (caur tās I-mezglu) meklē nākamo ceļa priekšmetu direktorijā (līdz brīdim, kad tiek atrasts faktiskais fails I-mezgls).

Piemēram, lai atrastu Absolūtā ceļa norādīto failu (piemēram, / USR / AST / failu), jāveic šādi pasākumi. Pirmkārt, sistēma atrod saknes direktoriju, kas parasti izmanto I-mezglu ar numuru 2 (īpaši tad, kad i-mezgls ar numuru 1 ir rezervēts strādāt ar sliktiem blokiem). Tā ievieto atbilstošo elementu direktoriju priekšmetu kešatmiņā (nākotnes sakņu kataloga meklēšanai). Pēc tam tas meklē "USR" virkni saknes direktorijā, lai iegūtu numuru I-mezglu par / USR direktoriju (kas tiek ievadīts arī kešatmiņā direktoriju elementu). Pēc tam šis i-mezgls tiek izlasīts, un no tā ielādē diska bloki, lai jūs varētu izlasīt / usr direktoriju un meklēt to AST līniju. Pēc atbilstošā elementa atrasts, jūs varat definēt I-mezgla numuru / usr / AST. Ņemot šo i-mezglu numuru, varat to izlasīt un atrast direktoriju blokus. Visbeidzot, mēs meklējam "failu" un atrodiet viņa I-mezgla numuru. Tādējādi relatīvā ceļa izmantošana lietotājam ir ne tikai ērtāka, bet arī samazina sistēmas darbības apjomu.

Ja fails ir pieejams, sistēma iegūst I-mezgla numuru un izmanto to kā I-mezgla tabulas indeksu (diskā), lai meklētu atbilstošo I-mezglu un izlasītu to atmiņā. Šis i-mezgls ir ievietots I-mezgla tabulā (I-mezgla tabulā) - kodola datu struktūra, kas satur visus I-mezglus pašlaik atvērtajiem failiem un direktorijiem. I-mezglu formātam jābūt (minimālam) visos laukos, kas atgriež sistēmas zvanu stat tik, ka Stat zvans var strādāt (skatīt 10.10 tabulu). Cilnē. 10.13 parāda dažas no I-mezgla struktūras laukiem, kas tiek atbalstīti Linux failu sistēmā. I-mezgla faktiskā struktūra satur daudz vairāk jomu, jo to pašu struktūru izmanto, lai attēlotu katalogus, ierīces un citus īpašus failus. I-mezgla struktūra satur arī rezervētas arī lauka turpmākai izmantošanai. Stāsts ir parādījis, ka neizmantotie biti ir ilgi paliek bez darījumiem.

Tagad pieņemsim redzēt, kā sistēma lasa failu. Jūs atceraties, ka tipiskais aicinājums uz bibliotēkas procedūru, lai sāktu sistēmas zvanu, ir šāds:

n \u003d lasīt (FD, buferis, nbytes);


Kad kodols saņem kontroli, tad viss, ko tā var sākt - šie trīs parametri un informācija tās iekšējās tabulās (kas saistīti ar lietotāju). Viens no šiem iekšējo tabulu elementiem ir failu deskriptoru masīvs. Tas tiek indeksēts ar failu deskriptoriem un satur vienu elementu katram atvērtajam failam (uz kādu maksimālo summu, noklusējums parasti ir 32).

Ideja ir sākt ar šo failu deskriptoru un pabeigt atbilstošo burbuli. Apskatīsim vienu pilnīgi iespējamo shēmu: ļaujiet mums ievietot Pozel rādītāju uz failu deskriptoru tabulu. Neskatoties uz vienkāršību, šī metode (diemžēl) nedarbojas. Problēma ir šāda. Izmantojot katru failu deskriptoru, failā jābūt savienotam, kas definē baitu failā, no kura sāksies nākamā lasīšanas vai ierakstīšanas operācija. Kur šis rādītājs jāglabā? Viena iespēja ir novietot to autobusu tabulā. Tomēr šī pieeja nespēs strādāt, ja vairāki procesi, kas nav savienoti viens ar otru, vienlaicīgi atvērs to pašu failu, jo katram procesam jābūt savam rādītājam.

Otrs risinājuma risinājums ir novietot rādītāju tabulas aprakstos. Šajā gadījumā katram failam atverot procesu, ir sava pozīcija failā. Diemžēl šāda shēma arī nedarbojas, bet neveiksmes cēlonis šajā gadījumā nav tik acīmredzams un ir saistīts ar failu koplietošanas raksturu Linux sistēmā. Apsveriet čaulas skriptu 5, kas sastāv no divām komandām (P1 un P2), kas jāveic savukārt. Ja skripts tiek saukts ar komandrindu

ir sagaidāms, ka P1 komanda rakstīs savu izeju uz X failu, un pēc tam P2 komanda arī uzrakstīs savu izeju uz X failu, sākot no vietas, kur P1 komanda apstājās.

Kad korpuss sāk P1 procesu, X fails vispirms būs tukšs, tāpēc P1 komanda vienkārši sāk rakstīt failu pozīcijā 0. Tomēr, ja P1 pabeidz savu darbu, noteiktu mehānismu būs nepieciešams, lai nodrošinātu, ka P2 process būs Skatiet kā sākotnējo pozīciju ne 0 (un tas ir tas, kā tas notiks, ja atrašanās vieta faila deskriptoros failā ir tabulā), un vērtību, uz kuras PI apstājās.

Tas, kā tas tiek darīts, ir parādīts 1. attēlā. 10.19. Fokuss ir ievadīt jauno tabulu - Open File Apraksts tabula (Open File Apraksts tabula) - starp tabulu failu deskriptoru un I-mezglu tabulu un uzglabāt rādītāju failā (kā arī lasīšanas / rakstīšanas bitu) . Attēlā mātes process ir apvalks, un meita ir pirmais PI process, un pēc tam P2 process. Kad korpuss izveido PI procesu, tās lietotāja struktūra (ieskaitot failu deskriptoru tabulu) ir precīza tējas membrānas struktūras kopija, tāpēc abiem ir norādes uz to pašu atvērto failu aprakstu. Kad processPi pabeidz savu darbu, Shell failu deskriptors turpina norādīt atvērto failu aprakstu tabulu, kas satur P1 pozīcijas pozīciju failā. Kad tagad korpuss rada P2 procesu, tad jaunais bērnu process automātiski pārņem atrašanās vietu failā, bet ne jaunu procesu, ne arī Shell ir pienākums zināt pašreizējo vērtību šajā pozīcijā.


Ja kāds svešs process atver failu, tā saņems savu ieraksts tabulas apraksta tabulā ar savu pozīciju failā, proti, tas ir nepieciešams. Tādējādi atklātā faila apraksta tabulas uzdevums ir ļaut vecāku un bērnu procesiem dalīties vienā rādītājā failā, bet ārvalstu procesiem piešķir personiskos norādes.

Tātad (atgriežoties pie lasīšanas lasīšanas lasīšanas problēmas), mēs parādījām, kā tiek noteikti pozīciju failā un I-mezglā. I-mezgls satur pirmo 12 failu bloku disku adreses. Ja atrašanās vieta failā iekrīt tās pirmajos 12 blokos, vēlamais failu bloks ir lasīts, un dati tiek kopēti lietotājam. Attiecībā uz failiem, kuru garums pārsniedz 12 blokus, I-mezgls satur vienotā netiešā bloka diska adresi (atsevišķs netiešais bloks) (10.19. Att.). Šajā blokā ir papildu disku bloku diska adreses. Piemēram, ja bloka izmērs ir 1 KB, un diska adrese aizņem 4 baitus, viena netiešā ierīce var saglabāt līdz 256 disku adresēm. Šī shēma ļauj jums atbalstīt failus līdz 268 KB.

ext2. (Sauc arī kā ext2fs.) - Otrā paplašināta failu sistēma(Otrā paplašināta failu sistēma) ir failu sistēma, kas veidota uz Linux kodola. Radītājs un attīstītājs Ext2 ir Remy karte. Ext2 failu sistēma tika uzcelta ar veco, iepriekšējā versijā - ext.

Saskaņā ar šādiem rādītājiem kā ātrumu un veiktspēju, šī failu sistēma var kalpot kā atsauce. Tas ir pastāstīts par failu sistēmas veiktspējas testu rezultātiem. Piemēram, testos, lai panāktu konsekventas lasīšanas un rakstīšanas ātrumu, kas veica Dell tehnisko centru, EXT2 failu sistēma pārsniedz EXT3, un tas ir zemāks lasīšanas ātrums tikai modernāks ext4.

Galvenais trūkums EXT2 ir tas, ka tas nav žurnālistu failu sistēma. Tomēr šis trūkums tika izvadīts nākamajā failu sistēmā - ext3.

ext2 tiek izmantots uz flash kartēm un cietvielu diskdziņiem (SSD), jo žurnālistu trūkums ir priekšrocība, strādājot ar diskiem ar ierobežojumiem attiecībā uz ierakstu ciklu skaitu.

Ext2 izveides vēsture.

Linux sistēmas straujās attīstības laikā tā izmantoja Minix failu sistēmu. Tā bija diezgan augsta stabilitāte, bet tas bija 16 bitu. Tā rezultātā, tas pastāvēja stingru ierobežojumu 64 MB uz sadaļu. Turklāt bija ierobežojums uz faila nosaukuma maksimālo garumu, kas bija 14 rakstzīmes.

Šie ierobežojumi kopumā bija iemesls attīstībai "uzlabota failu sistēma" (līdz ar to termins " Paplašināta failu sistēma »). Viņai bija uzdevums atrisināt divas Minix galvenās problēmas. Jaunā failu sistēma tika publicēta 1992. gada aprīlī. Tas bija ext, tas paplašināja faila lieluma ierobežojumu uz 2 gigabaitiem un uzstādīja faila nosaukuma robežvērtību 255 rakstzīmēs.

Tomēr, neraugoties uz jaunas failu sistēmas panākumiem, joprojām bija diezgan daudz neatrisinātu problēmu. Piemēram, nebija atbalsta atsevišķu piekļuvi, nebija laika zīmogu datu modifikācijas. Nepieciešamība atrisināt šos uzdevumus un kalpo kā motīvs, lai izveidotu nākamo paplašinātās Ext2 failu sistēmas versiju (" Otrā paplašinātā failu sistēma »). Ext2 tika izstrādāts 1993. gada janvārī, tas arī īsteno atbilstošos ACL piekļuves kontroles sarakstus un paplašinātos failu atribūtus.

Loģiskā organizācija ext2.

Ext2 direktoriju hierarhijas grafiks ir atspoguļots tīkla veidā. Tas ir saistīts ar to, ka viens fails var ievadīt vairākus katalogus nekavējoties.

Visiem failu tipiem ir simboliskie vārdi. Hierarhiski organizētās failu sistēmās tiek izmantoti trīs veidu nosaukumi: vienkārši, kompozītmateriāli un relatīvi. Tātad ext2. Vienkārša nosaukuma gadījumā ierobežojums ir tāds, ka tā garums nedrīkst pārsniegt 255 rakstzīmes, turklāt ir jābūt nulles simbolam un slīpsvītra.

Attiecībā uz nulles simbolu, ierobežojumi ir saistīti ar rindu attēlojumu SI valodā, jo slīpsvītra simbols, viss ir tas, ka tas tiek izmantots kā dalīšanas raksturs starp katalogiem.

Pilns vārds ir visu katalogu vienkāršu simbolisku nosaukumu ķēde, caur kuru ceļš no saknes darbojas uz šo failu. EXT2 fails var ievadīt vairākus direktorijus, tas nozīmē, ka tam var būt vairāki pilni vārdi (viens fails ir daži pilnie vārdi). Bet anyway, pilns nosaukums definē failu.

Ext2 atribūti:

  • ierakstiet un piekļuves tiesības failam,
  • Īpašnieks, piekļuves grupa,
  • informācija par atļautajām darbībām, \\ t
  • izveides laiks, pēdējais piekļuves datums, pēdējais izmaiņu datums un pēdējais noņemšanas laiks,
  • pašreizējais faila izmērs
  • failu specifikācija:
    • regulārs fails
    • katalogs,
    • ierīces baitu orientēta ierīce,
    • file Block orientēta ierīce,
    • nosaukts kanāls
    • simboliska saite
  • aizņemto bloku skaits, \\ t
  • citi

Failu atribūti ir iekļauti speciālajās tabulās, nevis direktorijās, jo tas var būt vienkāršās failu sistēmās. Rezultātā direktorijā ir ļoti vienkārša struktūra, kas sastāv no divām daļām: indeksa deskriptora un nosaukuma numurs.

Fiziskā organizācija ext2.

Diska sadaļas struktūra

Kā daļu no EXT2, var izšķirt:

  • bloki un bloku bloki;
  • indeksa deskriptors;
  • superblock.

Visa diska nodalījuma vieta ir sadalīta fiksētajos blokos, bloķē vairāku sektora lielumu (1024, 2048, 4096 vai 8192 baiti). Bloka lielums ir norādīts, veidojot failu sistēmu diska sadaļā. Visi bloki ir piešķirti secības numuri. Lai samazinātu sadrumstalotību un cieto disku galvu kustību skaitu, lasot lielus datu blokus, bloki ir apvienoti grupās.

Failu sistēmas pamatkoncepcija ir indekss deskriptors (saukts arī inode - informācijas mezgls.). Šī ir īpaša struktūra, kas satur informāciju par atribūtiem un fizisko failu atrašanās vietu. Indeksa decapstruktori ir apvienoti tabulā, kas ietverta katra bloku bloka sākumā. Superblock ir EXT2 failu sistēmas galvenais elements. Tā satur vispārīgu informāciju par failu sistēmu. Superblock atrodas 1024 baitos no sadaļas sākuma. Superbloka integritāte nosaka failu sistēmas funkcionalitāti. OS rada vairākas superblock rezerves kopijas - nodalījuma bojājuma gadījumā. Nākamajā blokā pēc Superblock ir globāla deskriptora tabula - bloku grupu apraksts masīva veidā ar vispārēju informāciju par visām bloku grupām.

Blok grupa

Visi ext2 bloku bloki tiek sadalīti grupās. Katrai grupai globālās deskriptora tabulā ir izveidots atsevišķs ieraksts. Šis ieraksts saglabā galvenos parametrus, piemēram, ka: bloka numurs bitkartes un tabulās, bezmaksas bloku skaitu grupā, indeksu aprakstu skaitu, kas satur katalogus.

Bitu kartes bloks - Šī ir sistēma, kurā katrs bits informē, vai failā, kas atbilst tam ir fails. Ja bits ir 1, tad bloks ir aizņemts. Līdzīgu funkciju veic indeksa aprakstu bitmap: tas parāda, kuri indeksu apraksti ir aizņemti, un kas nav. Linux kodols mēģina vienmērīgi izplatīt inode direktoriju grupās, un inode faili - pāriet uz grupu ar mātes katalogu. Atlikušā vieta parādās tabulā, jo dati tiek piešķirti failu glabāšanai.

Datu adresēšanas sistēma

Datu adresēšanas sistēma ir viena no visnopietnākajām un galvenajām failu sistēmas sastāvdaļām. Pateicoties tam, vēlamais fails ir viens no daudzajiem tukšajiem vai aizņemtajiem blokiem uz diska.

eXT2 piemēro šādu failu bloku adresēšanas shēmu. Lai uzglabātu faila adresi, 15 lauki ir izolēti, no kuriem katrs sastāv no 4 baitiem. Ja fails iekļaujas 12 blokos, attiecīgo kopu skaits ir uzskaitīti pirmajās divpadsmit adresēs. Ja faila lielums pārsniedz 12 blokus, šāds lauks satur klasteru adresi, kurā var atrasties šādu failu bloku skaitu. Tātad trīspadsmitais lauks tiek izmantots netiešai adresēšanai.

Ar maksimālo bloka lielumu 4096 baitos, klasteris, kas atbilst 13. laukam, var saturēt līdz pat 1024 numuriem šādu failu blokiem. Ja faila lielums pārsniedz 12 + 1024 blokus, tad tiek izmantots 14. lauks, kurā atrodas klasteru adrese, kas satur 1024 klasteru numurus, katrs no tiem attiecas uz 1024 failu bloku. Jau ir divkārša netieša adresēšana. Un ja failā ir vairāk nekā 12 + 1024 + 1048576 bloki, tad tiek izmantots pēdējais 15. lauks trīskāršā netiešā adresē.

Šāda adresēšanas sistēma ļauj jums izmantot failus, vairāk nekā 2 TB ar maksimālo bloku izmēru 4096 baitos.

Ja jums ir divas operētājsistēmas, Windows un Linux ir instalēta, tad jūs, iespējams, vēlaties, lai būtu ietverti sadaļās bezmaksas operētājsistēmas tieši no logiem bez pārkraušanas datoru.

Diemžēl Linux OS sadaļu atbalsts Windows nav sniegta. Un veltīgi. Man šķiet, ka tas varētu būt skaists žests no Microsoft.

Problēmas būtība ir tā, ka Windows izmanto NTFS failu sistēmu, un Linux ir savs veids, kā organizēt failus, paplašināto failu sistēmu, jaunāko versiju, kurai ir secības numurs 4.

Linux ir draudzīgāka lietotājiem, nevis viņas komerciālā māsa: Linux, noklusējuma atbalsta Windows NTFS failu sistēmā. Protams, jūs nevarēsiet instalēt Linux NTFS sadaļā, bet jūs varat izlasīt un rakstīt datus no tā.

Ext2 IFS.

EXT2 IFS atbalsta Windows NT4.0 / 2000 / XP / 2003 / Vista / 2000 / XP / 2003 / Vista / 2008 versijas X86 un X64 un ļauj jums apskatīt saturu Linux Ext2 sadaļās, un var arī ierakstīt uz tiem. Utility nosaka EXT2FS.SYS sistēmas draiveri, kas paplašina Windows iespējas un ietver pilnīgu atbalstu EXT2 IT: Partemts ext2 tiek piešķirti disku burti, un faili un mapes tiek parādītas tajās visās lietojumprogrammu dialogos, piemēram, , Explorer.

Ext2 FSD.

EXT2 FSD ir bezmaksas vadītājs Windows Systems (2K / XP / Vista / 7 versijas X86 un X64). Tāpat kā iepriekšējā lietderība, kas pēc būtības ir arī vadītājs, ietver pilnīgu atbalstu EXT2 failu sistēmai Windows.

LTools - komandrindas lietderības komplekts, kas ļauj lasīt un ierakstīt datus uz / no Linux Ext2, Ext3 un Reiserfs (standarta Linux failu sistēmas) no DOS vai Windows.

Ir versija programmas ar grafisko apvalku (rakstīts Java) - LToolsgui, kā arī versija ar grafisko apvalku, kas rakstīts.

Ext2read.

Desertu kā vienmēr visvairāk garšīgi.

Ext2Read ir lietderība, kas balstīta uz vadītāja failu, kas ļauj apskatīt un rakstīt EXT2 / EXT3 / EXT4 sadaļām. Atbalsta LVM2 un kas atšķir to no citām šīs pārskatīšanas programmām, EXT4 failu sistēma. Iegultais atbalsts rekursīvām kopēšanas katalogiem.

Un šeit ir otrais deserts. Sākotnēji tika teikts, ka labs Microsoft žests tiktu iekļauts atbalsts Linux sadaļām Windows pēc noklusējuma.

Gests joprojām tika veikts Linux 20. gadadienā. Redzēt sevi.

Tas ir viss. Paldies par uzmanību. Es būšu cīņa atpakaļ no maija vabolēm. To šis pavasaris ir daudz. 🙂

Vladimirs Miskovs

Failu sistēmas arhitektūra ext2

Rakstā aplūkota Linux operētājsistēmas EXT2 failu sistēmas loģiskā struktūra.

EXT2 failu sistēmas pamata sastāvdaļas

Tāpat kā jebkurā Unix failu sistēmā, šādus komponentus var atšķirt kā daļu no EXT2 failu sistēmas:

  • bloki un bloku bloki;
  • informācijas mezgls;
  • superblock.

Bloku bloki un bloki

Visa diska nodalījuma telpa ir sadalīta fiksētā izmēra blokos, vairāku sektoru izmērs - 1024, 2048 un 4096 baiti. Bloķēšanas lielums ir norādīts, veidojot failu sistēmu cietā diska sadaļā. Mazāks bloka izmērs ietaupa vietu cietajā diskā, bet arī ierobežo maksimālo failu sistēmas lielumu. Visiem blokiem ir secības numuri. Lai samazinātu cieto disku galviņu sadrumstalotību un skaitu, lasot lielus datu blokus, bloki ir apvienoti grupās.

Informācijas mezgls

Failu sistēmas pamatkoncepcija ir informācijas mezgls, informācijas mezgls vai inode. Šī ir īpaša struktūra, kurā ir informācija par atribūtiem un fizisko failu atrašanās vietu. Faila atribūti ir tās veids (parastais fails, direktorijs uc), piekļuves tiesības, īpašnieka identifikators, izmērs, radīšanas laiks. Informācija par fizisko atrašanās vietu ir absolūtu bloku numuru secība, kas satur faila datus.

Superblock

Superblock ir EXT2 failu sistēmas galvenais elements. Tā satur šādu failu sistēmas informāciju (nepilnīgs saraksts):

  • kopējais bloku un inodes skaits failu sistēmā;
  • bezmaksas bloku un inode skaitu failu sistēmā;
  • failu sistēmas bloka lielums;
  • bloku un inodu skaits grupā;
  • izmēra inode;
  • failu sistēmas identifikators;
  • pirmā datu bloka numurs.

Citiem vārdiem sakot, tas ir bloka numurs, kas satur superblock. Šis numurs vienmēr ir vienāds ar 0, ja failu sistēmas bloka lielums ir lielāks par 1024 baitiem un 1, ja bloka izmērs ir 1024 baiti.

Failu sistēmas funkcionalitāte ir tieši atkarīga no superbloka integritātes. Operētājsistēma izveido vairākas dublēšanas kopijas, lai varētu atjaunot to bojājumu gadījumā. Galvenā kopija atrodas 1024 baitu kompensācijā no sadaļas sākuma, kurā tiek izveidota failu sistēma (pirmie 1024 baiti ir rezervēti operētājsistēmas bootloader).

Ext2 failu sistēmas agrīnās versijas izveidoja superbloka kopijas katra bloku bloka bloka sākumā. Tas noveda pie liela diska vietas zudums, tāpēc vēlāk tika samazināta superbloka kopiju skaits, un to izvietošanai tika piešķirtas 0, 1, 3, 5 un 7 grupu grupas.

Blok grupas formāts

EXT2 failu sistēmas vispārējā strukturālā diagramma ir atspoguļota 1. attēlā. viens.

Gandrīz visām bloku grupām ir tāds pats formāts. Katrā grupā papildus informācijas blokiem tiek glabāta informācija par bloku un inodu grupu nodarbināšanu bitkartes veidā. Bloku bloks 0 ietver arī superblocks un tabulu aprakstus grupu, kuras mēs izskatīsim zemāk.

Nodarbinātības bloku kartīte parasti atrodas pirmajā grupas blokā. Ja koncernā ir rezerves kopija, Bitmap atrodas grupas otrajā blokā. Bitkartes lielums ir viens bloks. Katrs šīs kartes bits apzīmē bloka stāvokli. Ja bits ir iestatīts (1), bloks ir aizņemts, ja bloks ir atiestatīts (0) - bloks ir bezmaksas. Grupas pirmais bloks atbilst kartes nulles bitam, otrajam blokam - pirmajam bitam utt.

Tabulā tiek savākti inode, kas atrodas vienā grupā. BITE nodarbinātības kartes inode grupā katrs bits raksturo elementa statusu inode grupas tabulā.

Katrs bloku bloks ir aprakstīts, izmantojot bloku grupas deskriptoru. Grupas rokturis ir struktūra, kas satur informāciju par bloku bloku bitkartes adresēm, inode aizņemts bitmap un attiecīgās grupas inode tabulu. Visi grupas deskriptori tiek savākti grupu aprakstu tabulā, kas tiek glabāta grupā bloku 0. Tāpat kā Superblock, operētājsistēma izveido rezerves kopijas tabulas deskriptoru.

Failu lasīšanas algoritms

Katram inodei, kā arī blokam ir secības numurs, kas ir unikāls failu sistēmā, un tajā ir tikai informācija par vienu failu. Tādējādi, lai piekļūtu faila saturam, jums ir jāzina atbilstošās inodes secības numurs, kas atbilst tam.

Kā minēts iepriekš, informācija par fizisko failu atrašanās vietu ir ietverta inodē. Šī informācija ir 32 bitu bloku numuru secība, kas satur faila datus (1. att.). Pirmie 12 numuri ir tiešas saites uz informācijas blokiem (tiešo bloku numuru). 13. numurs ir netieša saite (netiešs bloku numurs). Tā satur bloka adresi, kurā tiek glabāti informācijas bloku adreses. 14. istaba ir dubultā netieša saite (dubultā bloki), 15. numurs ir trīskāršā netieša saite (trīskāršā bloku numurs).

Faila nosaukums inode nav iekļauts, iestatot atbilstību starp failu nosaukumiem un inodes secības numuriem tiek veikta, izmantojot katalogus.

Katalogi

Faili UNIX un POSIX sistēmās tiek glabāti koku hierarhiskā failu sistēmā. Failu sistēmas sakne ir saknes direktorija, ko norāda simbols "/". Katrs starpposma mezgls failu sistēmas kokā ir katalogs. Failu sistēmas koka galīgās virsotnes ir tukšas katalogi vai faili. Absolūtā ceļa nosaukums faila sastāv no nosaukumiem visu katalogi, kas ved uz norādīto failu, sākot ar saknes direktoriju. Tātad, dziesmu nosaukums /home/test.file nozīmē, ka test.File fails atrodas mājas direktorijā, kas, savukārt, atrodas saknes katalogā "/".

Katalogs, kā arī fails ir aprakstīts, izmantojot inodi. Kataloga saturs ir ierakstu klāsts, no kurām katrs satur informāciju par failu, kas ir "iekšpusē" pašreizējā direktorijā.

Direktoriju ierakstam ir šāds formāts:

  • secības numurs inode fails;
  • ieraksta garums baitos;
  • faila nosaukums;
  • faila nosaukuma garums.

Inode faila meklēšana vienmēr sākas ar saknes direktoriju. Piemēram, lai iegūtu inodes secības numuru saknes direktorijā, operētājsistēmai ir jāiegūst saknes direktorijas saturs, atrodiet to ar šī faila nosaukumu un noņemiet inodes faila numuru no šī ieraksta.

Vairāki inodes numuri ir rezervēti failu sistēmā, to saraksts ir iekļauts galvenes failā:

* Īpaši inodes numuri

#Define ext2_bad_ino 1 / * slikti bloki inode * /

#Define ext2_root_in 2 / * root inode * /

#Define ext2_acl_idx_in 3 / * ACL inode * /

#Define ext2_acl_data_ino 4 / * ACL inode * /

#Define ext2_boot_loader_ino 5 / * boot loader inode * /

#Define ext2_undel_dir_ino 6 / * Undelete Directory inode * /

Lai ierakstītu saknes direktoriju, inode ir rezervēta 2. numurā (root inode). Šis inode atrodas bloku blokā 0 un ņem otro pozīciju šīs grupas inode tabulā. Pirmā nenovērtētā inode numurs tiek glabāts superblock.

Pēc inodes secības numura noteikšanas, kodols aprēķina grupas numuru, kurā atrodas šī inode, un tā pozīcija inode grupas tabulā. Ņemot vērā inode no šīs pozīcijas, operētājsistēma saņem pilnu faila informāciju, tostarp bloku adreses, kurās tiek glabāti faila saturs.

No bloka numurs, kurā atrodas mode, aprēķina pēc formulas:

grupa \u003d (inode_num - 1) / inodes_per_group

kur:

  • grupu.- vēlamais bloka bloka numurs;
  • inode_num - secības numurs inode, kas nosaka failu;
  • inodes_per_group - inode skaitu grupā (šī informācija ir superblock).

Inode pozīciju inode grupas tabulā nosaka ar formulu:

indekss \u003d (inode_num - 1)% inodes_per_grupa

kur indekss ir inode pozīcija tabulā.

Apsveriet piemēru iegūšanai saturu test.File failu, kas atrodas saknes direktorijā. Lai izlasītu /test.File failu:

  • saknes direktorijas ierakstu klāstā atrodiet ierakstu par šo failu;
  • izņemiet inodes faila secības numuru, aprēķiniet grupas numuru, kurā atrodas šis inode;
  • no šīs grupas deskriptora jūs iegūstat inode grupas tabulas adresi;
  • aprēķināt inode pozīciju šajā tabulā;
  • lasīt inode failu;
  • no inodes, lai iegūtu adreses bloku adreses un izlasītu informāciju šajos blokos.

Att. 2 Sīkāka informācija Parādiet / testa faila rādījumus. Fails.

    1-6 soļi - sakaru kataloga lasīšana:

  1. No bloku grupas 0 tabulu apraksti tiek nolasīti.
  2. No tabulas deskriptoru tabulas, grupas bloki GROUP 0 tiek ielādēta un adrese inode Group tiek nolasīts no tā.
  3. No bloku grupas 0 lasa inode tabulu.
  4. Root direktorijas inode secības numurs ir fiksēts un vienāds ar 2, tāpēc otrais elements tiek nolasīts no 0. INODE GROUP, kurā ir bloka adrese ar saknes direktoriju saturu. Pieņemsim, ka šī vienība atrodas A. bloku blokā.
  5. No bloku grupas tiek nolasīts ar bloku, kas satur saknes direktorijas ierakstus.
  6. Meklē ierakstu ierakstu nosaukts "test.file". Ja tiek atrasts šāds ieraksts, no tā ielādēts inode sērija "Test.File" fails.
  7. Nosakot inode numuru, varat piekļūt faila blokiem (7-11 soļi):

  8. Grupas numurs tiek aprēķināts, kurā atrodas šī inode, un tā pozīcija inode grupas tabulā (pieņemsim, ka grupas numurs ir vienāds ar B, un pozīciju tabulā - X).
  9. No grupas deskriptoru tabulas noņemiet porcijas grupas deskriptoru B, un šīs bloku bloka bloka galds tiek nolasīts no tā.
  10. Inode tabula tiek nolasīta no B bloka grupas.
  11. No bloka bloku inodes tabulas lasa inodi, kas atrodas X pozīcijā.
  12. No lasīt inodi, bloka adreses ar satura failu /test.file tiek ielādēta un informācija tiek nolasīta no bloka ar norādīto adresi.

Failu lasīšanas algoritma programmatūras ieviešana

Avota dati: ir cietā diska nodalījums, kurā izveidota EXT2 failu sistēma. Šī sadaļa atbilst ierīcei / dev / hDA3 failam. Sadaļas saknes direktorijā tiek izveidots mājas apakšdirektorijs, un tajā ir tests.File failu šādā saturā:

Vai Cytrus dzīvo dienvidos?

Jā, bet viltus instancē!

1234567890-=

Nedomājiet slikti, tas nav absurds, bet testa vingrinājums no Telegraphistu apmācības kursa bijušās PSRS komunikācijas karaspēkā!

Uzmanību! Jāņem vērā viens svarīgs punkts. Izveidotais fails netiks nekavējoties ierakstīts uz diska, un vispirms iekrist diska buferī. Mēģinot nekavējoties iegūt saturu faila atbilstoši iepriekšminētajam algoritma neradīs neko, jo informācija par šo failu nav fiziski uz diska. Tas ir nepieciešams, lai "piespiest" sistēmu, lai ierakstītu diska buferi uz diska. Vieglākais veids, kā to izdarīt, ir veikt atsāknēšanas operāciju. Tāpēc, kad fails ir izveidots, restartējiet sistēmu.

Mūsu uzdevums ir izmantot ierīci / dev / HDA3 failu, lai izlasītu /home/test.file failu, izmantojot metodi tiešās piekļuves saviem informācijas blokiem.

Apsveriet programmas moduļa programmas īstenošanu, kas veic šo darbību.

Galvenes faili:

#Include.

#Include.

#Include.

#Include.

#Include.

#Include.

Galvenes fails nosaka strukturālos veidus, kas apraksta galvenās sastāvdaļas EXT2 failu sistēmas - Superblock, bloka grupu deskriptors, informācijas mezgls, direktoriju ierakstu.

Apsveriet īsi laukus, kas iekļauti katrā no šīm struktūrām:

  1. Struktur Ext2_Super_Block Superblock Struktūra:
    • __U32 S_INODES_COUNT- kopējais modu skaits failu sistēmā;
    • __U32 s_blocks_count.- kopējais bloku skaits failu sistēmā;
    • __U32 s_Free_blocks_count.- brīvo bloku skaits;
    • __U32 S_FREE_INODES_COUNT.- bezmaksas inode;
    • __U32 S_FIRST_DATA_BLOCK- pirmā datu bloka numurs (bloka numurs, kurā atrodas superblock);
    • __U32 s_log_block_size. - Šī vērtība tiek izmantota, lai aprēķinātu bloka lielumu. Bloka lielumu nosaka ar formulu: bloka izmērs \u003d 1024<< s_log_block_size;
    • __U32 s_blocks_per_group - grupā bloku skaits;
    • __U32 s_inodes_per_group - inode skaitu grupā;
    • __U16 s_magic - ext2 failu sistēmas identifikators (0xef53 paraksts);
    • __U16 s_inode_size - informācijas mezgla (inode) lielums;
    • __U32 S_FIRST_INO. - Pirmā apsekotās inodes numurs.
  2. Struktūra Ext2_Group_desc grupas deskriptors Dizaina struktūra:
    • __U32 bg_block_bitmap- bitmap nodarbinātības grupas blokiem;
    • __U32 bg_inode_bitmap- Bitting karte nodarbinātības inode Group;
    • __U32 bg_inode_table - ADODE tabulas adrese.
  3. Struktūra ext2_inode informācijas mezgla struktūra:
    • __U16 i_mode ir failu veids un piekļuves tiesības uz to. Faila tips Definējiet bitus 12-15 no šī lauka:
      • 0xa000.- simboliska saite;
      • 0x8000.- normāls fails;
      • 0x6000.- bloķēt bloka ierīci;
      • 0x4000.- Katalogs;
      • 0x2000.- simboliska ierīces fails;
      • 0x1000- FIFO kanāls.
    • __U32 i_size. - lielums baitos;
    • __U32 i_atime.- pēdējais piekļuves laiks;
    • __U32 i_cTime - failu izveides laiks;
    • __U32 i_mtime.- pēdējās modifikācijas laiks;
    • __U32 i_blocks. - faila aizņemto bloku skaits;
    • __U32 i_block - informācijas bloku adreses (ieskaitot visas netiešās saites).
  4. EXT2_N_BLOCKS vērtība ir definēta failā:

    * Konstantes attiecībā pret datu blokiem

    #Define ext2_ndir_blocks 12.

    #Define ext2_ind_block ext2_ndir_blocks.

    #define ext2_dind_block (ext2_ind_block + 1)

    #Define ext2_tind_block (ext2_dind_block + 1)

    #Define ext2_n_blocks (ext2_tind_block + 1)

  5. Struktūra ext2_dir_entry_2 direktoriju ieejas struktūra:
  6. #Define ext2_name_len 255.

  • __U32 inode - inode numura fails;
  • __U16 REC_LEN. - direktoriju ieraksta garums;
  • __U8 name_len.- faila nosaukuma garums;
  • uzvārds.faila nosaukums.

Mēs definējam sadaļas nosaukumu, kurā tiek izveidota failu sistēma, globālās struktūras un mainīgie.

#Define part_name "/ dev / hda3"

struktūra ext2_super_block sb;

/ * buferis galda deskriptoru glabāšanai * /

neparakstīta char buff_grp;

neparakstīta char buff; / * Informācijas buferis * /

intem; / * Ierīces failu rokturis * /

int bloni; / * Failu sistēmas bloka izmērs * /

Mēs definējam vairākas funkcijas, kas mums jāstrādā:

Superblock lasīšanas funkcija:

void read_sb ()

Miesset (& sb, 0.1024);

Mēs esam nobīdījuši 1024 baiti no sadaļas sākuma un izlasiet superblock uz struktūru strukturēta ext2_super_block sb:

Ja (LSEEK (INDEV, 1024.0)< 0) {

Perrors ("LSEEK");

Iziet (-1);

Ja (izlasiet (Indev, Char * & SB, Sizeof (SB))< 0) {

Perrors ("lasīt");

Iziet (-1);

Pārbaudiet failu sistēmas identifikatoru:

Ja (sb.s_magic! \u003d Ext2_super_magic) (

Printf ("Nezināms failu sistēmas veids!");

Iziet (-1);

Ext2_super_magic vērtība ir definēta galvenes failā.

Parāda informāciju par failu sistēmu, kas atrodas Superblock:

printf ("Superblock info ----------");

Printf ("inodes skaits -% u", sb.s_inodes_count);

Printf ("bloki skaits -% u", sb.s_blocks_count);

Printf ("bloka izmērs -% u", 1024<< sb.s_log_block_size);

Printf ("pirmais inode -% d", sb.s_first_ino);

Printf ("Magic - 0x% x", sb.s_magic);

Printf ("inode izmērs -% d", sb.s_inode_size);

Printf ("inodes katrai grupai -% u", sb.s_inodes_per_group);

Printf ("blosks grupā -% u", sb.s_blocks_per_group);

Printf ("pirmais datu bloks -% u", sb.s_first_data_block);

Atgriešanās;

Funkcija Lasīšanas tabulas deskriptori:

void read_gdt ()

Aprēķiniet failu sistēmas bloka lielumu:

Blksize \u003d 1024.<< sb.s_log_block_size

Grupu aprakstu tabula atrodas blokā, kas atrodas tieši aiz pirmā datu bloka (Superblock).

Lasiet tabulu:

Ja (LSEEK (INDEV (SB.S_FIRST_DATA_BLOCK + 1) * Blksize, 0)< 0) {

Perrors ("LSEEK");

Iziet (-1);

Ja (izlasiet (Indev, Buff_Gr, Blksize)< 0) {

Perrors ("lasīt");

Iziet (-1);

Atgriešanās;

Inode satura iezīme pēc tās numura:

void get_inode (int inode_num, struct2_inode * in)

Funkcijas ieejas iezīmes - inode secības numurs un struktūra strukturēta ext2_inode.

Struktūra ext2_group_desc gd;

U64 grupa, indekss, poz;

Aprēķiniet bloku grupas numuru, kurā atrodas inode ar inode_num secības numuru:

Grupa \u003d (inode_num - 1) / sb.s_inodes_per_group;

No galda deskriptoriem, noņemiet grupas deskriptoru un kopēt to uz struktūru:

Miesset ((void *) & gd, 0, izmērs (GD));

Memcpy ((void *) & gd, buff_grp + (grupa * (lielums (GD))), izmērs (GD));

Aprēķiniet inodes pozīciju ar inode_num secības numuru grupas grupas inode tabulā un izlasiet šo inodi struktūras struktūrā Struktur Ext2_inode:

indekss \u003d (inode_num - 1)% sb.s_inodes_per_group;

Poz \u003d ((__u64) gd.bg_inode_table) * Blksize + (indekss * sb.s_inode_size);

PREAD64 (INDEV, IN, SB.S_INODE_SIZE, POS);

Atgriešanās;

Datu bloka lasīšanas funkcija:

void read_iblock (struktūra ext2_inode * in, int blk_num)

U64 poz;

Ievades funkciju parametri - inode struktūra un bloka numurs (vidējais numurs no adrešu bloka secības, kas atrodas inode).

Aprēķiniet kompensāciju informācijas blokam sadaļā un izlasiet šo vienību pasaules buferšķīdumā:

Poz \u003d ((__u64) in-\u003e i_block) * blolsize;

PREAD64 (INDEV, BUFF, Blksize, POS);

Atgriešanās;

Funkcija saknes satura saņemšanai direktorija:

tukša get_root_dentry ()

Struktūra ext2_inode;

Ir zināms root direktorijas inode secība, tāpēc mēs iegūstam saknes direktorijas inodes saturu un izlasiet tās saturu buferī:

get_inode (ext2_root_ino un in);

Read_iblock (& \u200b\u200bin, 0);

Buff buferis satur saturu saknes direktorijā.

Atgriešanās;

Inodes numura saņemšanas funkcija pēc faila nosaukuma:

int get_i_num (char * nosaukums)

Ievades funkciju parametri - faila nosaukums. Atgriešanās vērtība - secības numurs Inode fails.

Int i \u003d 0, rec_len \u003d 0;

Struktūra ext2_dir_entry_2 dent;

Buff buferī ir virkne direktoriju ierakstu. Lai noteiktu inodes faila secības numuru, šajā masīvā ir jāatrod ar šī faila nosaukumu:

Par (; i< 700; i++) {

Memcpy ((void *) & dent, (bufete + rec_len), izmēra (dent));

Ja (! Memcmp (dent.name, vārds, dent.name_len) pārtraukums;

Rec_len + \u003d dent.Rec_len;

Atgriezties dent.inode;

Un tagad mēs pierakstām galveno funkciju:

int galvenais ()

Mainīgie un struktūras:

struktūra ext2_inode;

// absolūtais ceļojuma faila nosaukums

Neparakstīta char * full_path \u003d "/home/test.file";

Neparakstīta char biff1;

Static int i \u003d 1;

Int n, i_num, out, veids;

Pirmais raksturs Absolūtā ceļa nosaukuma faila jābūt tiešai slīpsvītra (/). Pārbaudi:

Ja (Full_path! \u003d "/") (

Perrors ("slīpsvītra");

Iziet (-1);

Atveriet ierīces failu, izlasiet superblocks un galda deskriptorus:

Indev \u003d atvērts (part_name, O_rdonly);

Ja (Indev.< 0) {

Perrors ("atvērts");

Iziet (-1);

READ_SB ();

Lasīt_gdt ();

Mēs saņemam Sakņu kataloga saturu:

get_root_dentry ();

Tagad bufera buferis satur visus ierakstus saknes direktorijā (ja vēlaties, jūs varat saglabāt tos atsevišķā failā). Tagad, ņemot saknes direktoriju ierakstus, mēs varam nokļūt uz saturu test.File failu, izmantojot iepriekš minēto failu lasīt algoritmu. Šim nolūkam mēs organizējam ciklu. Ciklā cikla mēs analizēsim Absolūtā ceļa nosaukumu faila, izceļot tās elementus - apakšdirektorijas (tas ir viens, mājās) un nosaukumu meklēšanas failu (test.file). Katram elementam mēs definējam inodes secības numuru, mēs uzskatām šo inode un pēc tam iegūstot nulles bloka saturu (no adrešu bloku secības):

kamēr (1) (

Miesset (bife1.0, izmērs (bife1));

Par (n \u003d 0; n< EXT2_NAME_LEN; n++, i++) {

Bifug1 [n] \u003d full_path [i];

Ja (((bifug1 [n] \u003d\u003d "/") || (bifug1 [n] \u003d\u003d "?")) (

I ++;

Pārtraukums;

bifug1 [n] \u003d "?";

Katram faila absolūtā ceļa nosaukuma elementam mēs nosakām inodes secības numuru, izlasiet šo inodi atmiņā un pēc tam iegūstiet nulles bloka saturu:

I_num \u003d get_i_num (bifete);

Get_inode (i_num, & in);

Read_iblock (& \u200b\u200bin, 0);

Parādīt faila informāciju (nosaukums, inode numurs, faila lielums un tā tips):

Printf ("inode numurs -% u", i_num);

Printf ("Faila nosaukums -% s", bufete);

Printf ("Faila izmērs -% U", in.I_SIZE);

Faila veidu nosaka vecāki četri i_mode lauka lauka struktūras biti ext2_inode:

tips \u003d ((in.i_mode & 0xf000) \u003e\u003e 12);

Printf ("tips -% d", tips);

Slēdzis (tips) (

Lieta (0x04):

Printf ("(katalogs)");

Pārtraukums;

Lieta (0x08):

Printf ("(parastais fails)");

Pārtraukums;

Lieta (0x06):

Printf ("(bloka vienība)");

Pārtraukums;

Lieta (0x02):

Printf ("(simboliskā ierīce)");

Pārtraukums;

Noklusējums:

Printf ("(nezināms veids)");

Pārtraukums;

Pārbaudiet faila veidu. Ja tas ir regulārs fails - pārtraukt ciklu:

Ja (tips & 0x08) (

Buff buferis būs informācija, kas lasīta no informācijas blokiem par /home/test.file failu. Mēs rakstām šo informāciju failā:

OUTF \u003d OPEN ("OUT", O_CREAT | O_RDWR, 0600);

Rakstiet (OUTF, Buff, Izmērs (bifeļāda));

Aizvērt (OUTF);

Pārtraukums;

Mēs aizejam:

Tuvu (Indev);

Atgriezties 0;

Par šo loģisko struktūru EXT2 failu sistēmas.

(Otrā paplašināta failu sistēma).

· Linux failu sistēmu mežsaimniecība

· Disku nodalījuma struktūra EXT2FS

·

· Katalogi

· Failu ierīces

·

·

· Bibliotēka ext2fs.

· EXT2FS sistēmas sadaļa

· Privātuma aprēķināšana

Matfak

Prog.

2. KURSS 5. GRAMS.

Chichirov Andrejs

Falomethem Ext2fs (otrā paplašināta failu sistēma).

Linux failu sistēmu derīguma termiņš

Linux mainīgie bija datu bāze, pamatojoties uz Minix operatīvo sistēmu. Tas būtu nominētie diski starp divām sistēmām nekā jaunai failu sistēmai, tāpēc Linus Torvalds sekoja Linux Minix failu sistēmas apakšiedaļai. Lai gan šī failu sistēma bija diezgan efektīva ar salīdzinoši nelielu kļūdu daudzumu.

Tomēr ar Minix failu sistēmu saistītās mirgošana ir diezgan augstas, tāpēc viņi sāka domāt par jauno Linux failu sistēmu.

Lai kontrolētu jaunās failu sistēmas ieviešanu Linux indes, ir izmantota virtuālā failu sistēma (VFS). VFS ir uzrakstījis Chris Provenzano, un pēc tam Linus Torvalds to ir nodevis integrācijā indē.

Pēc instalēšanas VFS indes, jaunā FAL sistēmas FAL sistēma (paplašināta failu sistēma) ir bijusi viegli un pievienota Linux 0,96c Vexa. Jaunajā failu sistēmā tika noņemtas divas būtiskas Minix sistēmas: tā maksimālais apjoms varētu sasniegt 2 gigabaitus, un maksimālais faila nosaukums ir 255 rakstzīmes. Tas bija sasniegums ar Minix failu sistēmu, lai gan daži no vienkārši redzamajiem joprojām rakstīt. Nebija neapšaubāma piekļuves, modifikācija indeksa descippet un modificēt šūnas failu maiņu. Šī failu sistēma izmantoja saistītus sarakstus, lai atvērtu ar bezmaksas blokiem un indeksēt atkāpes, kas lielā mērā ietekmēja sistēmas sistēmas: ar sarakstiem sarakstos kļuva nenoteikta un doused, kas tika izmantots failu sistēmas failā.

Šo zondes lēmums bija divu jaunu failu sistēmu izlaišana 1993. gada janvārī: Xia un Ext2FFS (otrā paplašināta failu sistēma). Lielākoties Xia failu sistēma balstījās uz Minix, pievienojot vairākas jaunas funkcijas. Būtībā tā bija iespēja praktizēt ar gariem failu nosaukumiem, lielākas tilpuma disku apstiprināšana un faila izmaiņu šūnu spriegums. Ar smalkiem akmeņiem EXT2FS balstījās uz EXTF ar daudziem uzlabojumiem un papildinājumiem. Viņa arī bija iespēja nākotnē.

Kad šīs divas failu sistēmas tika izlaistas, tās bija funkcionāli piningually. Xia sistēma bija uzticamāka nekā EXT2F, pateicoties tās samazināšanai. Kļūdas EXT2FS sistēmā tika nesavtas to klusā pieteikumā, un ir pievienoti liels skaits jaunu funkciju un uzlabojumu. Pašreizējā Ext2FFS failu sistēma ir ļoti uzticama un ir kļuvusi par de facto Linux failu sistēmu.

Nākamajā tabulā ir sniegta kopīga informācija par funkcionalitāti funkcionālo funkciju, kas tiek nodrošināti ar svītrām failu sistēmām.

Minix FS.

Ext fs.

Ext2 fs.

Xia FS.

Maksimālā failu sistēma

Maksimālais faila garums

Maksimālais faila nosaukuma garums

Failu izmaiņu izmaiņu torņa apakšiedaļa

Spēja tempu

Maināms Pazmp Bloka

Infomas aizsardzība

Ja jums ir nepieciešams faila nosaukuma garums 2. To var palielināt līdz 1012.

Ext2Fs iekļūs dažus blokus root lietotājam. Parasti tas ir 5% no kopējā apjoma, kas ļauj sistēmas administrācijai izvairīties no cietā diska darbības jomas trūkuma tā aizpildot to ar DPUUGI lietotāju lietotājiem.

Disku nodalījuma struktūra EXT2FS

Cietā diska ražotāji parasti piegādā savus produktus, kas formatēti zemā līmenī. Ciktāl es zinu, tas nozīmē, ka visas diska vietas ar īpašu etiķešu palīdzību ir sadalīta ar "sektoriem", 512 baitu izmēru. Šāds disks (vai diska sadaļa) ir jāsagatavo lietošanai konkrētā operētājsistēmā. MS-DOS vai Windows sagatavošanas procedūra tiek saukta par formatējumu un Linux - izveidojot failu sistēmu. Failu sistēmas izveide ext2fs. Tas ir jāizveido konkrētas loģiskās struktūras diska sadaļā. Šī struktūra ir veidota šādi. Pirmkārt, sāknēšanas zona tiek piešķirta diskā. Boot zona ir izveidota jebkurā failu sistēmā. Galvenajā nodalījumā tas satur sāknēšanas ierakstu - koda fragmentu, kas uzsāk operētājsistēmas iekraušanas procesu startēšanas laikā. Citās sadaļās šī teritorija netiek izmantota. Visas pārējās diska vietas ir sadalīta blokos. Vienība var būt lielums no 1, 2 vai 4 kilobaitiem. Bloks ir adresējams ar diska vienību. Atrašanās vietas failu izvēle tiek veikta visu bloku, tāpēc, izvēloties bloka lielumu, jums ir kompromiss. Lielais bloka lielums parasti samazina diska pārsūdzību skaitu, lasot vai rakstot failu, bet tas palielina reti izmantotās telpas īpatsvaru, jo īpaši, ja ir liels skaits mazo failu.

Bloki savā teritorijā ir apvienoti bloku grupās. Bloķēt grupas failu sistēmā un blokos grupā ir numurēti secīgi, sākot ar 1. Pirmajam blokam uz diska ir skaitlis 1 un pieder grupai ar numuru 1. kopējais bloku skaits uz diska (diskā sadaļa) ir diska apjoma dalītājs, kas izteikts nozarēs. Un bloku grupu skaits nav jāsadala bloku skaitu, jo pēdējā bloku grupa var nebūt pilnīga. Katra bloku bloka sākumam ir adrese, ko var iegūt kā ((grupas numurs - 1) * (bloku skaits grupā)).

Katrai bloku grupai ir viena un tā pati struktūra. Tās struktūra ir parādīta šādā tabletē.

Diska nodalījuma grupas struktūra ext2fs.

Šīs struktūras pirmais elements (Superblock) ir vienāda visām grupām, un visi pārējie ir individuāli katrai grupai. Superblock tiek uzglabāts katras bloku grupas pirmajā blokā (izņemot 1. grupu, kurā iekraušanas ieraksts atrodas pirmajā vienībā). Superblock Tas ir failu sistēmas sākumpunkts. Tai ir 1024 baitu un vienmēr atrodas uz nobīdes 1024 baitu no sākuma failu sistēmas. Vairāku kopiju klātbūtne no superbloka ir saistīts ar ārkārtīgi svarīgi šī failu sistēmas elementa. Superblock dublikāti tiek izmantoti, atjaunojot failu sistēmu pēc neveiksmēm.

Superblock saglabātā informācija tiek izmantota, lai organizētu piekļuvi citiem diska datiem. Superblock definē failu sistēmas lielumu, maksimālo failu skaitu sadaļā, brīvās vietas apjomu un satur informāciju par to, kur meklēt neapdzīvotās teritorijas. Kad sākat OS, Superblock tiek nolasīts atmiņā un visas izmaiņas failu sistēmā vispirms atrodiet displeju superblock kopijā, kas atrodas OP, un tiek reģistrēti tikai periodiski. Tas ļauj palielināt sistēmas veiktspēju, jo daudzi lietotāji un procesi pastāvīgi atjaunina failus. No otras puses, kad superblock ir izslēgts, tas ir jāraksta uz diska, kas neļauj izslēgt datoru, vienkārši izslēdzot spēku. Pretējā gadījumā ar nākamo slodzi superblock reģistrētā informācija nebūs piemērota failu sistēmas reālajai stāvoklim.

Superblock ir šāda struktūra

Lauka nosaukums

Veids

Piezīme

s_inodes_count

Ulong

Indeksu aprakstu skaits failu sistēmā

s_blocks_count.

Ulong

Kloķu skaits failu sistēmā

s_r_blocks_count.

Ulong

SuperUser rezervēto bloku skaits

s_Free_blocks_count.

Ulong

Bezmaksas bloku skaits

s_Free_inodes_count.

Ulong

Bezmaksas indeksu aprakstu skaita skaitītājs

s_first_data_block

Ulong

Pirmais bloks, kas satur datus. Atkarībā no ierīces lieluma šis lauks var būt vienāds ar 0 vai 1.

s_log_block_size.

Ulong

Loģikas bloka izmēra indikators: 0 \u003d 1 KB; 1 \u003d 2 kB; 2 \u003d 4 KB.

s_log_frag_size.

Garš.

Fragmenta lieluma indikators (šķiet, fragmenta koncepcija pašlaik netiek izmantota)

s_blocks_per_group.

Ulong

Kloķu skaits katrā bloka blokā

s_frags_per_group.

Ulong

Katra bloka bloka fragmentu skaits

s_inodes_per_group

Ulong

Indeksu aprakstu skaits (inodes) katrā bloka blokā

s_mtime.

Ulong

Laiks, kad failu sistēma bija pēdējā uzstādīta.

s_wtime.

Ulong

Laiks, kad pēdējais laiks tika ierakstīts failu sistēmā

s_mnt_count.

Ushort.

Metru montāžas failu sistēmas. Ja šis skaitītājs sasniedz norādīto nākamajā laukā (S_MAX_MNT_Count), failu sistēma ir jāpārbauda (tas tiek darīts, kad restartēts), un letējs tiek atiestatīts.

s_max_mnt_count.

Īss

Numuru, kas nosaka, cik reizes failu sistēmu var uzstādīt

s_magic

Ushort.

"Magic numurs" (0xef53), norādot, ka failu sistēma pieder EX2FS tipam

s_state.

Ushort.

Karogi, kas norāda failu sistēmas pašreizējo stāvokli (neatkarīgi no tā, vai tas ir tīrs (tīrs) utt.)

s_errors.

Ushort.

Karogi, kas nosaka kļūdu ziņojumapmaiņas procedūras (ko darīt, ja tiek atrastas kļūdas).

s_pad.

Ushort.

Pildīšana

s_lastcheck.

Ulong

Pēdējās failu sistēmas pārbaudes laiks

s_checkinterval

Ulong

Maksimālais laika periods starp failu sistēmas pārbaudēm

s_creator_os.

Ulong

Norādot OS tipu, kurā tiek izveidota failu sistēma

s_rev_level.

Ulong

Pārskatīšanas līmeņa failu sistēma.

s_rerved

Ulong

Aizpildot līdz 1024 baitiem

Pēc Superblock atrodas bloka grupas (grupu deskriptoru) apraksts. Šis apraksts ir masīvs ar šādu struktūru.

Lauka nosaukums

Veids

Mērķis

bg_block_bitmap

Ulong

No bloka adrese, kas satur šīs grupas bitu karšu blokus (bloka bitmap)

bg_inode_bitmap

Ulong

Bloka adrese, kurā ir šīs grupas indeksu aprakstu bitkarte (inode bitmap)

bg_inode_table

Ulong

Bloka adrese, kurā ir šīs grupas indeksu aprakstu (inode tabula)

bg_free_blocks_count.

Ushort.

Skaitītājs brīvo bloku šajā grupā

bg_free_inodes_count

Ushort.

Bezmaksas indeksu aprakstu skaits šajā grupā

bg_used_dirs_count

Ushort.

Indeksu aprakstu skaits šajā grupā, kas ir katalogi

bg_pad.

Ushort.

Pildīšana

bg_reserved.

Ulong

Pildīšana

Bloka bloka lielumu var aprēķināt kā (izmērs_group_blok_v_ext2 * number_groups) / size_block (Ja nepieciešams, noapaļots).

Grupas aprakstā glabātā informācija tiek izmantota, lai atrastu bloku un indeksu aprakstu kartes, kā arī rādītāju aprakstu tabulu. Neaizmirstiet, ka bloki un bloku bloki ir numurēti no 1.

Bitu kartes bloks (bloks bitmap) ir struktūra, katrs no tiem norāda, vai attiecīgais bloks ir piešķirts tam. Ja bits ir 1, tad bloks ir aizņemts. Šī karte kalpo, lai meklētu bezmaksas blokus gadījumos, kad tas ir nepieciešams, lai izceltu atrašanās vietu saskaņā ar failu, bitmap bloku ieņem bloku skaitu, kas ir vienāds ar (Numurs_block_v_group / 8) / size_block (Ja nepieciešams, noapaļots).

Indeksu aprakstu bitkarte veic līdzīgu funkciju attiecībā uz rādītāju aprakstu tabulu: rāda, kādi apraksti ir aizņemti.

Šāda apgabala bloka struktūras struktūrā kalpo, lai saglabātu rādītāja failu deskriptoru tabulu. Indeksa deskriptora struktūra tiek uzskatīta par šādu apakšiedaļu.

Nu, visbeidzot, atlikušā vieta bloku grupā tiek piešķirta, lai uzglabātu faktiski failus.

Failu sistēmaExt. 2 raksturo:

  • hierarhiskā struktūra
  • saskaņota datu masu apstrāde, \\ t
  • dynamic faila paplašinājums,
  • informācijas drošība failos
  • perifēro ierīču (piemēram, terminālu un lentes ierīču) interpretācija kā faili.

Failu iekšējais skats

Katram failam Ext 2 sistēmā ir unikāls indekss. Indeksā ir informācija, kas nepieciešama jebkuram procesam, lai atsauktos uz failu. Procesi attiecas uz failiem, izmantojot skaidri definētu sistēmas zvanu kopu un identificējot failu virknes failu, kas darbojas kā kompozīta faila nosaukumu. Katrs kompozīta nosaukums noteikti nosaka failu, lai sistēma kodolu pārveidotu šo nosaukumu faila indeksam. Indekss ietver tabulu adreses atrašanās vietas faila informāciju uz diska. Tā kā katrs diska bloks ir adresēts tā numuram, šajā tabulā saglabā diska bloku numurus. Lai palielinātu elastību, kodols pievienots failam pa vienam blokam, ļaujot faila informāciju izkaisīt visu failu sistēmu. Taču šī prakses shēma sarežģī datu meklēšanas uzdevumu. Adreses tabulā ir saraksts ar bloku numuriem, kas satur faila īpašumā esošo failu, tomēr vienkāršie aprēķini liecina, ka lineārais failu bloku saraksts indeksā ir grūti kontrolēt. Lai maza indeksa struktūra darbotos ar lieliem failiem, diska bloka adreses tabula tiek saskaņota ar 1. attēlā redzamo struktūru

Lielākajai daļai failu Ext 2 sistēmā ir lielums, kas nepārsniedz 10 kB un pat 1 KB! Tā kā 10 KB fails atrodas tiešās adresēšanas blokos, lielākā daļa datu glabāto datiem, piekļuvi var veikt vienā apelācijā uz disku. Tāpēc, pretēji, lai piekļūtu lieliem failiem, strādājot ar standarta lieluma failiem ātri.

Indeksa failu deskriptori

Katrs diska fails atbilst vienam un tikai vienam indeksa failu rokturim, kas identificē pēc tā secības numura - faila indeksu. Tas nozīmē, ka failu skaitu, kurus var izveidot failu sistēmā, ierobežo indeksu aprakstu skaits, kas ir vienkārši definēts, veidojot failu sistēmu, vai tiek aprēķināta, pamatojoties uz diska nodalījuma fizisko tilpumu. Indijas Descports pastāv diskā statiskā formā, un kodols tos nolasa atmiņā pirms sākuma ar viņiem strādāt.

Indeksa failu rokturis ir šāda struktūra:

Lauka nosaukums

Veids

Apraksts

I_mode.

Ushort.

Tipa un piekļuves tiesības uz šo failu.

I_uid

Ushort.

Faila īpašnieka identifikators (īpašnieks UID).

I_size.

Ulong

Faila lielums baitos.

I_atime.

Ulong

Pēdējās piekļuves faila (piekļuves laiks) laiks.

I_ctime

Ulong

Failu izveides laiks.

I_mtime.

Ulong

Pēdējās faila modifikācijas laiks.

I_dtime

Ulong

Failu dzēšanas laiks.

I_gid

Ushort.

Grupas identifikators (GID).

I_links_count.

Ushort.

Attiecības skaitītājs (saišu skaits).

I_blocks.

Ulong

Faila okupēto bloku skaits.

I_flags.

Ulong

Failu karogi Failu karogi)

I_rerved1

Ulong

Rezervēts OS.

I_block

Ulong

Norādes uz blokiem, kuros faila dati tiek ierakstīti (tieša un netieša pievēršas 1. attēlā)

I_Version.

Ulong

Failu versija (NFS)

I_file_acl

Ulong

ACL fails.

I_dir_acl

Ulong

ACL katalogs

I_faddr.

Ulong

Fragmenta adrese (fragmenta adrese)

I_frag

UCHAR.

Fragmenta numurs (fragmenta numurs)

I_fsize.

UCHAR.

Fragments izmērs (fragments izmērs)

I_pad1

Ushort.

Pildīšana

I_rerved2.

Ulong

Rezervēts

Tipa lauks un piekļuves tiesības uz failu ir divu baitu vārds, katrs no tiem kalpo kā karogs, kas norāda faila attiecību uz konkrētu tipu vai uzstādīšanu vienu konkrētu tiesību failu.

Identifikators

Vērtība

Iecelšanas karogs (lauki)

S_ifmt.

F000.

Faila tipa maska

S_ifsock.

A000.

Domēna ligzda (ligzda)

S_iflnk.

C000

S_ifreg.

8000

Normāls (regulārs) fails

S_ifblk.

6000

Bloku orientēta ierīce

S_ifdir.

4000

Katalogs

S_ifchr

2000

Baitu orientēta (simboliska) ierīce

S_ififo.

1000

Nosaukts kanāls (FIFO)

S_isuid

0800

SUID - bitu maiņas īpašnieks

S_isgid

0400

SGID - Grupu maiņu biti

S_isvtx

0200

Uzdevumu saglabāšanas bits (lipīga bits)

S_irwxu.

01c0.

Faila īpašnieka tiesību maska

S_irusr.

0100

Tiesības lasīt

S_iwusr.

0080

Tiesības ierakstīt

S_ixusr.

0040

Tiesības izpildīt

S_irwxg.

0038

Grupas maska \u200b\u200bgrupa

S_irgrp.

0020

Tiesības lasīt

S_iwgrp.

0010

Tiesības ierakstīt

S_ixgrp.

0008

Tiesības izpildīt

S_irwxo.

0007

Citu lietotāju tiesību maska

S_iroth

0004

Tiesības lasīt

S_iwoth

0002

Tiesības ierakstīt

S_ixoth

0001

Tiesības izpildīt

Starp indeksu aprakstiem ir vairāki apraksti, kas ir paredzēti īpašiem mērķiem un ir īpaša loma failu sistēmā. Tie ir šādi apraksti

Identifikators

Vērtība

Apraksts

Ext2_bad_ino.

Indeksa deskriptors, kurā uzskaitītas bojāto bloku adreses (slikti bloki)

Ext2_root_ino.

Failu sistēmas saknes direktoriju indeksa deskriptors (root inode)

Ext2_acl_idx_ino.

ACL inode

Ext2_acl_data_ino.

ACL inode

Ext2_boot_loader_ino.

Loader Index deskriptors (boot loader inode)

Ext2_undel_dir_ino.

Undelete Directory inode.

Ext2_first_ino.

Pirmais ne-pro-indeksa deskriptors

Svarīgākais rokturis šajā sarakstā ir saknes direktoriju deskriptors. Šis deskriptors norāda uz saknes direktoriju, kas, tāpat kā visi katalogi, sastāv no šādas struktūras ierakstiem:

Lauka nosaukums

Veids

Apraksts

Inode

Ulong

failu indeksa deskriptora numurs (indekss)

rec_len.

Ushort.

Šī ieraksta garums

name_len.

Ushort.

Faila nosaukuma garums

Nosaukums.

Char.

Faila nosaukums

Atsevišķs ieraksts katalogā nevar šķērsot bloka robežu (tas ir, tas būtu jāatrodas pilnībā vienā blokā). Tāpēc, ja nākamais ieraksts nav pilnībā piemērots šajā blokā, tas tiek nodots nākamajam blokam, un iepriekšējais ieraksts turpinās tādā veidā, ka tas aizpilda bloku līdz galam.

1. attēls. Tiešās un netiešās adresēšanas bloki indeksā

2. attēls faila apjoms baitos pie bloka izmēra 1 KB

3. attēls Diska indeksa piemērs

3. attēlā redzams konkrēta faila diska indekss. Šis indekss pieder parastajam failam, kuras īpašniekam ir "MJB" un kuru lielums ir 6030 baiti. Sistēma ļauj lietotājam "MJB" lasīt, rakstīt un izpildīt failu; "OS" grupas un visiem pārējiem lietotājiem ir atļauts lasīt vai izpildīt failu, bet ne ierakstīt datus tajā. Pēdējo reizi, kad fails tika nolasīts 1984. gada 23. oktobrī 13:45, ieraksts bija pēdējais laiks tika veikts 22. oktobrī, 1984 plkst. 10:30. Indekss mainīja pēdējo reizi 1984. gada 23. oktobrī plkst. 13:30, lai gan šajā laikā netika reģistrēta informācija. Kernel kodē visus iepriekš minētos datus indeksā. Pievērsiet uzmanību indeksa satura ierakstam un faila saturam. Faila saturs mainās tikai tad, ja fails tiek ierakstīts. Indeksa saturs mainās gan mainot faila saturu un mainot faila īpašnieku, piekļuves tiesības un rādītāju komplekti. Faila satura maiņa automātiski izraisa indeksa korekciju, bet indeksa korekcija nenozīmē faila satura maiņu.

Katalogi

Katalogi ir faili, no kuriem tiek veidota failu sistēmas hierarhiskā struktūra; Viņiem ir svarīga loma faila nosaukuma pagriešanā uz indeksa numuru. Katalogs ir fails, kas satur ierakstu kopumu, kas sastāv no indeksa numura un direktorijā iekļautā faila nosaukuma. Kompozīts nosaukums ir simbolu virkne, kas aizpildīta ar tukšu simbolu un slīpi līniju kopīgu ("/") vairākās sastāvdaļās. Katram komponentam papildus pēdējai jābūt direktorijas nosaukumam, bet pēdējais komponents var būt fails, kas nav direktorija. Unix sistēmas V versijā katra komponenta garums ir ierobežots līdz 14 rakstzīmēm; Tādējādi kopā ar 2 baitiem, kas piešķirti indeksa numuram, direktorijas ierakstīšanas lielums ir 16 bytes.

Nobīde baitos
Katalogs

Indeksa numurs
(2 baiti)

Nosauktfails

1798

tajā

1276

fsck.

kliedziens

1268

motd.

1799

kalns

mknod.

2114

passwd.

1717

umount.

1851

kontrolsaraksts.

fsdbld

konfigurācija

1432

getty

crash.

mKFS.

4. attēls Kataloga formāts / utt

4. attēlā redzams "utt." Formāts. Katram direktorijā ir faili, kurus nosaukumi ir norādīti punkti un divi punkti ("" un "..") un indeksa numuri, kas atbilst attiecīgi šī kataloga indeksa numuriem un mātes katalogu. Indeksa numurs failam "." Direktorijai "/ etc" ir adrese ar nobīdes 0 un vērtību 83. Faila indeksa numurs ".." ir adrese ar nobīdes 16 no direktorijas sākuma un vērtības 2. ieraksti direktorijā var būt tukšs un indeksa numurs ir 0. Piemēram, ierakstīšana ar adresi 224 "/ etc" direktorijā ir tukšs, neskatoties uz to, ka tajā ir iekļauts ieraksta punkts failam ar nosaukumu "Crash". MKFS programma inicializē failu sistēmu tādā veidā, ka indeksu numuri failiem "." Un ".." saknes direktorija sakrīt ar failu sistēmas sakņu indeksa numuru.

Kernel saglabā datus direktorijā tādā pašā veidā, kā tas notiek parastā tipa failā, izmantojot indeksa struktūru un blokus ar tiešās un netiešās adresēšanas līmeni. Procesi var izlasīt datus no katalogiem tādā pašā veidā, kā viņi lasa regulārus failus, bet ekskluzīvā ieejas tiesības uz direktoriju ir rezervēta ar kodolu, kas nodrošina pareizību direktoriju struktūras. Kataloga piekļuves tiesības ir šāda nozīme: Lasīšanas tiesības dod procesu iespēju lasīt datus no kataloga; Ierakstīšanas tiesības ļauj procesam izveidot jaunus ierakstus direktorijā vai dzēsiet veco (izmantojot Creat, MKNOD, saites un atslābināšanas sistēmas darbības), kā rezultātā kataloga saturs mainās; Izpildes tiesības ļauj procesam meklēt direktorijā ar faila nosaukumu (jo "izpildes" katalogs ir bezjēdzīga).

Ja jebkura programma izmanto ceļu uz failu, attiecīgais Nomep indekss Descip satur katalogos. Pēc faila nosaukuma izmantošanas indeksa distresta numurā šī descippot tiek ievietots atmiņā un pēc tam izmanto turpmākajā Zap.

Unix failu sistēmu koncepcija ietver atsauces jēdzienu. Vienu indeksu Descipboard var saistīt ar vairākiem failu nosaukumiem. DeskPott palīdz lauka, hinner, ar kuru failu partneri. Pievienojot saiti, ir izveidot direktoriju ierakstu, kur indekss Descippet numurs norāda uz DiskPot, un palielināt atsauces skaitītāju Deccpport. Jums vajadzētu izdzēst saišu saites samazina atsauces skaitītāju un dzēš desqpot, ja šis skaitītājs kļūst par nullu.

Šādas saites sauc par stingru un to var izmantot tikai vienā failu sistēmā (jūs nevarat izveidot saiti failu sistēmai no flip failu sistēmas). Turklāt cieta saite var norādīt tikai failu (stingra atsauce uz direktoriju var izmantot, lai fokusētu failu sistēmā).

Lielākajā daļā Unix sistēmu ir cita veida saite. Šīs saites, kas veicina tikai faila nosaukumu, sauc par simbolisku. Jūs izmantojat sliktāku šādu saiti, izmantojot ceļu uz failu failā indeksā Descipboard, inde aizstāj vārdu atsauces uz Descite programmatūru (ti, nosaukumā galamērķa failu) un atkārtoti INTPPS ceļu uz failu. Tā kā simboliskā saite nenorāda indeksa desqpot, ir iespējams izveidot saites uz failiem, kas atrodas dezinficētā failu sistēmā. Šīs saites var norādīt jebkura veida failu pat neeksistē. Simboliskās saites ir tik izmantoti, jo tie nav tie ugunsgrēki, kuriem ir grūti saite. Tomēr tie aizņem zināmu skaitu uz diska, kur ir atļauts indekss Decipboard un datu bloki. To izmantošanu var izmantot, lai izlādītu saistītu veidus, kā izmantot ceļu uz failu uz indeksa descipboard, kas ir saistīts ar to, ka simboliskās saites no indes ir atkārtoti ievadīt ceļu uz failu.

Failu ierīces

Unix līdzīgas operētājsistēmās piekļuve ierīcēm tiek veikta, izmantojot īpašus failus. Šis fails nenotiek failu sistēmā. Tas ir tikai piekļuves punkts ierīces disku.

Ir divu veidu ierīču faili: simbolisks un bloks. Lietojot simbolisku tipu, ir iespējams apmainīties ar datiem ar ierīci tikai rakstzīmju režīmā, savukārt bloka tipa ierīces ļauj apmainīties tikai blokus, izmantojot buferi. Pieprasot I / O pieprasījumu ierīces failam, šis vaicājums ir novirzīts uz atbilstošās ierīces vadītāju. Katrs līdzīgs fails atbilst vecākajam skaitlim, kas nosaka ierīces veidu, un jaunāko istabu, kas nosaka ierīci pati.

Papildu funkcijas Ext2FS.

Papildus Unix, Ext2FS standartālās funkcijas, ir dažas papildu funkcijas, kas parasti nav pēc tam iesniegti Unix failu sistēmas.

Failu atsibuti ļauj mainīt polārā, izmantojot failus ar failiem. Varat instalēt failā vai direktorijā. Otrajā gadījumā šajā direktorijā izveidotie faili manto šo attīrīšanu.

Sistēmas maktizācijas gaitā var instalēt dažas īpašas iezīmes, kas saistītas ar failu atseviomiem. Mount opcija ļauj administrācijai izvēlēties failu izveides funkcijas. Failu sistēmā ar BSD funkcijām faili tiek veidoti ar tādu pašu identifikatoru GPPP, kā arī dzīvokļu katalogu. Funkciju sistēma V ir nedaudz sarežģītāka. Ja setgid bitu katalogs ir iestatīts, tiek saņemti šī direktorijas GPP identifikatora faili, un apakšdirektorijas manto GPPP un setgīdu bitu identificēšanu. Šajā gadījumā faili un katalogi tiek izveidoti ar pamata identifikatoru GPPP izraisa ppcress.

EXT2FS sistēma var izmantot sinhrono datu modifikāciju, kas ir līdzīga BSD sistēmai. Mount opcija ļauj administrācijai norādīt visus datus (indeksēt descplinists, biti, netiešie bloki un direktoriju bloki), kas ierakstīti uz DC sinhroni to izmaiņām. To var izmantot, lai sasniegtu augstu informācijas ierakstus, bet arī ņem vērā priesterības pasliktināšanos. Faktiski, šī funkcija parasti netiek izmantota, jo pasliktināšanās proliferācijas, to var izmantot, lai sviedri lietotājiem lietotājiem, kas nav atzīmēti, izmantojot failu sistēmu.

EXT2FS ļauj izveidot failu sistēmu, lai izvēlētos loģisku bloku. Tas var būt Pazmer 1024, 2048 vai 4096 baiti. Liela apjoma bloku izmantošana I / O optimitātei (kā sūkņa daudzums uz diska samazinās), un tāpēc uz mazāku galvu galveni. Ar otru pusi no bloka, izmantošana lielu bloku blokiem uz Disk Pension Dial. Parasti pēdējais faila bloks netiek izmantots ne tikai informācijas jomā, tāpēc, palielinot bloka tilpumu, palielinās tilpuma diska perforators.

Ext2FS ļauj izmantot oskized simboliskas saites. Izmantojot šādas saites, bloķēt datu blokus netiek izmantoti. Galamērķa faila nosaukums nav datu blokā, bet indeksā Decipboard pati. Šāda struktūra ļauj saglabāt diska perforatoru un iztvaicē simbolisko saites skotu. Protams, ir cauruļvadi, kas tiek glabāti zem descīta, pārslīdoši, tāpēc ne katra saite var tikt parakstīta kā Hersal. Maksimālais faila nosaukuma garums sekundārajā saiknē ir 60 rakstzīmes. Tuvākajā nākotnē plānots apturēt šo shēmu maziem tilpuma failiem.

EXT2FS seko failu sistēmas stāvoklim. Slikti izmanto atsevišķu lauku suspensijā, lai norādītu failu sistēmas statusu. Ja failu sistēma ir uzstādīta lasīšanas / rakstīšanas laikā, tās stāvoklis ir uzstādīts kā "nav tīrs". Ja lasa tikai lasāmā baudīšanā tas tiek demontēts vai pēc tam tās stāvoklis ir uzstādīts "tīrs". Kad sistēma sistēmas un failu sistēma tiek uzsākta, šī informācija tiek izmantota, lai darbotos nepieciešamību pēc failu sistēmas. Slikti arī novieto dažas ļauns kļūdas šajā jomā. Atvērts neatbilstības inde, failu sistēma ir atzīmēta kā "kļūdaina". Failu sistēmas simulators pārbaudīs šo informāciju sistēmas sistēmai, pat ja tās stāvoklis faktiski ir "tīrs".

Ilgstoša ignorējot failu sistēmas testēšanu Dažreiz tas dažkārt var būt ar dažām pietiekamību, tāpēc EXT2FS ietver divas normatīvās sistēmas metodes. Spear stock veicina sistēmas stiprinājums skaitītājs. Šis skaitītājs palielina katru PA, kad sistēma ir uzstādīta lasīšanas / rakstīšanas funkcijā. Ja tā vērtība sasniedz maksimumu (tas ir arī hudded suspensijā), tad failu sistēmas testēšanu sākas ar izrakstīšanās, pat ja tā stāvoklis ir "tīrs". Pēdējais, pirmo reizi un maksimālais inteliģents starp pirmo tiek hudded suspensijā. Kad maksimālā izlūkošana tiek panākta starp rozā, failu sistēmas stāvoklis ir ignorēts, un tiek sākta kontrolpunkts.

EXT2FS sistēmai ir atbalstīta tās klātbūtne. Tune2FS Brums var izmantot, lai mainītu:

  • darbība Pri kļūda izsaiņošana. Atvērts ar indes neatbilstību, failu sistēma ir atzīmēta kā "kļūdaina", un var veikt vienu no šādiem soļiem: izpildes īstenošana, failu sistēmas atjaunināšana lasāmā baudīšanā, lai izvairītos no tā Savienošana, sistēmas peidžeru sistēma failu sistēmai.
  • maksimālā uzstādītā vērtība.
  • maksimālā inteliģence starp tapām.
  • loģisko bloku skaitu, ko vada root lietotājam.

Var izmantot arī uzstādītās iespējas, lai mainītu kļūdas indes pienākuma maiņu.

Izmantojot ATPibut ļauj lietotājiem dzēst secīgus failus. Jūs varat izdzēst līdzīgu failu, blokos, kurus izmanto, lai izmantotu šo failu, tiek ierakstīts pēc izlases informācijas. Tas tiks reklamēts, lai piekļūtu šā faila pirmajai reizei iestādei un diska zvana palīdzībai.

EXT2FS sistēma Nesen pievienoja jaunus failus no 4.4 BSD failu sistēmas. Failu ievietošanas failus var izmantot tikai lasīšanai: nevienam nav jāmaina tās vai jāizdzēš tās. To var izmantot, lai aizsargātu svarīgus konfigurācijas failus. Failu failu veids, tie ir faili, kurus var pārvērst ierakstīšanas funkcijās, un datus var pievienot tikai šī faila beigām. Šāda veida failus var arī noņemt vai pastāvīgi. Tos var izmantot kā Zeper failus, kas var tikai palielināt apjomu.

Privitātes optimizācija

Ext2FS sistēmu veicina daudzas funkcijas, kas optimizē savu profilu, kas noved pie informācijas apmaiņas apjoma palielināšanai par failu lasīšanu un rakstīšanu.

Ext2FS aktīvi izmanto diska buferi. Kad vienība ir jālasa, inde parāda i / O izvēles / izejas necaurspīdīgo. Tādējādi nabadzīgākie mēģinājumi pārliecināties, ka nākamais bloks, kas jālasa, jau ir atbildīgs par diska buferi. Šādas iespējas parasti tiek veiktas, izmantojot sērijas lasīšanas failus.

EXT2FS sistēma nodrošina arī lielu informācijas optimizāciju. Bloki tiek izmantoti, lai apvienotu atbilstošās indeksa descippets un datu blokus. Saindēšanās vienmēr cenšas izspiest viena faila datu blokus vienā GPup, kā arī tās desqpot. To piemēro, lai samazinātu galvenes galvu un izlasītās izlases nolasīšanas procesu un atbilstošos datu blokus, kas atbilst tam.

Šie datu ieraksti failā, EXT2FS pastiprinās līdz 8 blakus esošiem blokiem, izmantojot jauno bloku. Šāda metode ļauj sasniegt sistēmas sistēmas stiprās puses augstu rīcību. Tas arī ļauj izmantot blakus esošos blokus failiem, kas atbilst to turpmākajam lasījumam.

Bibliotēka ext2fs.

Lai izmantotu EXT2FS kaitēkļu lietošanu un šīs failu sistēmas kontaktu iežu kontroli, Libext2FS bibliotēka ir bijusi viegli. Šī bibliotēka nodrošina funkcijas, ko var izmantot, lai darbotos un mainītu šīs ext2 failu sistēmas, atsaucoties uz fiziski novērst.

Lielākā daļa Ext2FS komunālo pakalpojumu (MKE2FS, E2FSCK, TUNE2FS, DUMME2FFS, DEBUGFS un DP.) Izmantojiet šo bibliotēku. Tas stingri papildina šo komunālo pakalpojumu modifikāciju, jo jebkuras izmaiņas, lai ieviestu papildu funkcijas EXT2FFS failu sistēmai, būtu vienatnē tikai EXT2FS bibliotēkā.

Tā kā Ext2FS interneta bibliotēka ir pietiekami Shiyky un palīgierīces, to var viegli rakstīt ar savu palīdzību, kas būs viegli uzrakstīts, par kuru var izmantot failu sistēmu. Piesakies, Ext2FS bibliotēka tika izmantota 4.4 BSD izgāztuve un dažu komunālo pakalpojumu atgūšana. Tas tika nogalināts, lai veiktu ļoti maz izmaiņas, lai pielāgotu šos lietojumus Linux (tas bija nepieciešams, lai aizstātu vairākas funkcijas, kas mijiedarbojas ar failu sistēmu, lai zvanītu uz Ext2FS bibliotēku).

EXT2FS bibliotēka ietver piekļuvi vairāku klasēm. Pubertātes klase ir necaurspīdīga, kas saistīta ar failu sistēmu. Jebkurš šampūns var atvērt vai pārslēgt failu sistēmu, lasīt vai rakstīt bitu bloku, izveidot jaunu failu sistēmu uz diska. Ir arī slikto bloku sistēmas bloku saraksta funkcijas.

Otrā necaurspīdīga klase izmantos katalogus. Propamma, izmantojot Ext2FS bibliotēku, var izveidot vai skaut direktoriju, kā arī pievienot vai dzēst ierakstus direktorijā. Ir funkcijas kā propelenti par indeksa descippiesu ceļu uz failu un ceļa ceļu uz failu atbilstoši norādītajam nolaisties.

Pēdējā necaurspīdīga klase atveras ar indeksa descilepts. Ir iespējams lasīt Deccpport tabulu, skaitīt vai pierakstīt DescpotP, PP apskatīt visus norādītās desqpot blokus. Ir iespējams turpināt bloku veidošanās un atbrīvošanas funkcijas un nolaupīt.

EXT2FS sistēmas sadaļa

Attiecībā uz EXT2FS sistēmā tika izmantoti spēcīgi papildu izmantošanas izmantošana. Šie lietojumi tiek izmantoti, lai izveidotu, modificētu un coppe nekādas neatbilstības EXT2FS failu sistēmās. MKE2FS programma tiek izmantota, lai instalētu diska pastu, kas nodrošina tukšu Ext2FS failu sistēmu.

Tune2FS lietojumprogrammu var izmantot failu sistēmas PAPALMET jaudai. CC var tikt mainīts uz jaunām kļūdām, maksimālo sistēmu montāžas maksimālo skaitu, maksimāli paredzēts starp sistēmas gaitu un loģisko bloku skaitu, kas balstīta uz Root lietotājs.

Iespējams, vismodernākā izmantošana ir vienkāršotā failu sistēma. E2FSCK saņēma pilnīgus neatbilstības failu sistēmā pēc visas sistēmas saņemšanas injekcijas. E2FSCK Propama sākotnējā versija ir balstīta uz Linus Torvald FSCK failu Minix failu sistēmai. Tomēr pašreizējās versijas Transanent perioda, izmantojot Ext2FS bibliotēku un ir ātrāk, un to var izpildīt tikai lielākā skaitā kļūdu šajā jomā izmeklēšanas, saskaņā ar sagatavošanu ar papīra Vexa.

E2FSCK kauns tika pētīts tādā laikā, lai tas tiktu veikts ar maksimālo ātrumu. Tā kā failu sistēmas drukas tiek aicinātas uz diska galvu, jums vajadzētu optimizēt E2FSCK mirgojošos algoritmus, piemēram, ka failu sistēmas procedūra jāizmanto daudz vieglāk. Un turklāt indeksu apspriesti un katalogi tiks veikti atbilstoši bloka numuram, lai samazinātu diska vadītājus.

E2FSCK laušanā failu sistēma tiek virzīta ar visām indeksu, kā arī vienu descipptiut kā atsevišķu sistēmas elementu. Šāds notikums šie testēšana neatbilst failu sistēmas objektiem. Viens no šādu tapu mērķiem ir faila tipa tipa esamība, kā arī visu bloku sarakste ar blokiem ar esošajiem numuriem. Pārslēgšanās laikā biti darbojas, norādot bloku un nolēmumu izmantošanu.

Ja E2FSCK atrod datu blokus, kuru INS tiek savākti vairāk nekā vienā nolaisties.

Tuvākā pepšana aizņem lielāko daļu no visiem, jo \u200b\u200bvisi indeksa descippets ir jālasa atmiņā un nedalāmā. Lai samazinātu ievades / izejas opcijas turpmākajās iestādēs, visa nepieciešamā informācija kustība paliek buferī. Šo shēmas izlasīšana ir meklēt visus failu sistēmas direktorijas blokus. Lai iegūtu šo informāciju, visu failu sistēmas direktoriju secības tiek nolasītas otrajā braucienos.

Otrajā apdarei katalogi raksta kā atsevišķus failu sistēmas elementus. Katras direktorijas bloks ir atdalīts, bez atsauces uz DPUCH direktoriju blokiem. Tas ļauj E2FSCK atvienot visus bloku blokus par bloku skaitu un sazināties ar to braukšanas laikā, šāds laiks, samazinot piekļuvi diska. Kataloga bloki tiek pārbaudīti to ierakstu realitātes atbilstība, un ka tie veicina atsauces uz descputs ar esošo numuru (kā tas tika ieslēgts laužot).

Katrā direktorijas grafikā ierakstu pastāvēšana tiks pastāvēta. ". un ".." un ka Descpet numurs ir ierakstīšanai. " Atbilst pašreizējam direktorijai. (Saraksta grafiku skaits ".." nepārbauda, \u200b\u200blīdz tas pagriezās.)

Veicot otru fodi, informācija, kas atbilst dzīvokļu katalogam, tiek saglabāta buferī.

Jāatzīmē, ka līdz otrā pchoda beigām tiks segtas gandrīz visas ievades / izejas opcijas ar disku. Visa informācija par katru info kustību, kas mēģina par tūkstošiem ceturto un piekto braucienu, tomēr, atlikušie pipspopa bedres un aizņem mazāk nekā 5-10% no kopējā E2FSCK izpildes.

Kataloga savienojumi ir iekļauti trinketā. E2FSCK Vai katra direktorijas ceļi dzert gulēt, izmantojot otrā foda iegūto informāciju. Šeit ir ieraksts ".." katram katalogam. Visi katalogi, kas identificēti pēc pirmās un nav savienojumi, tiek ievietoti / pazudušā + atrastajā direktorijā.

Ceturtkārt, E2FSCK braucieni, atsauces skaitītāji katram indeksam DECIP satur ppplaying visus Decccports un atspoguļo atsauces skaitītājus (šī informācija tiek turēta no krustojas) ar iekšējiem skaitītājiem, kuru vērtības tika aprēķinātas apakšsadarbība un stumbri. Visi neizdevās faili ar nulles atsauces skaitītāju tiek ievietoti arī / pazudušā + atrastajā direktorijā.

Un visbeidzot, piektajā gadījumā E2FSCK ir visa informācijas informācijas atbilstība failu sistēmai. Šeit ir bloku un nolēmumu biti, kas tika iegūti pirmajā ekspluatācijā, ar derīgām vērtībām un, ja nepieciešams, riska informācija par disku.

Izmantojiet failu sistēmas atkļūdotāja lietderīgo izmantošanu. Debudfs ir spēcīgs iedomība, kas ļauj jums nolaisties un iestatīt faila sistēmas statusu. Būtībā tas ir interaktīvs internets EXT2FS bibliotēkai, tas ir, tipiskās komandas, lai izsauktu bibliotēkas funkcijas.

Debudfs var izmantot, lai darbinātu iekšējo failu sistēmas stingrību, atstājot atveseļošanās sistēmu vai izveidotu nosacītus testus E2FSCK. Diemžēl šī Jammija var uzvarēt failu sistēmā, ja nezināt, kā to izmantot. Ar šo spēku ir pietiekami, lai iznīcinātu failu sistēmu. Tāpēc Debudfs ieslēdz failu sistēmu noklusējuma lasīšanas pozīcijā. Lai piekļūtu lasīšanas / rakstīšanas aploksnei, jums jānorāda -W opcija.

Privātuma aprēķināšana

Bonnie testa rezultāti ir redzami no nākamās tabulas:

Cukura ierakstīšana (CB / S)

Patch ierakstu (CB / S)

Veiktspēja (KB / s)

Cukura lasīšana (CB / S)

Gabals lasījums (kb / s)

BSD async.

BSD sinhronizācija.

Ext2 fs.

1237

1033

Xia FS.

Rezultāti ir pietiekami labi pazīstami ar bloka ieejas / izvadi: EXT2FS sistēma uzvar uz atsauces sistēmu. Tas ir saistīts ar optimizāciju, kas iekļauta PA tuvināšanā. Ieraksts ir arī pietiekami ātri, saskaņā ar faktu, ka tas ir kucēns gambient purem. Lielais lasīšanas ātrums ir saistīts ar faktu, ka bloki tika izvilkti failā, tāpēc virsraksti nav veikti starp diviem rādījumiem un pirmās kārtas optimizāciju pilnībā pilnībā.

Ar otru pusi no sāniem, FreeBSD sistēma ietver simbolisku ievadi / izejas atsauces vērtību iepriekš. Iespējams, tas ir saistīts ar faktu, ka FreeBSD un Linux izmanto atbilstošu ar bibliotēkām, kas atbilst attiecīgajām C bibliotēkām. Turklāt FreeBSD, jo vairāk optimizēta simboliska lasīšanas bibliotēka, un tāpēc šeit ir mazliet labāk.

Testa rezultāti Andrew.

Andrew testu rezultāti ir redzami no nākamās tabulas:

Pāvests 1 Izveidot

Santehnika 2 Kopēšana

Santehnika 3 Statuss

Santehnika 4 Bantti

Santehniķis 5 kompilācija

2203

7391

6319

17466

75314

BSD sinhronizācija.

2330

7732

6317

17499

75681

Ext2 fs.

Pēdējo divu bedrīšu rezultāti liecina, ka Linux uzvarēs asynchonal datu apmaiņu. Jūs izveidojat direktorijus un failus, BSD sistēma sinhroni ieraksta direktoriju desckports un ierakstus. Ir zvans, ka ASYNCHPONE subdepending par FreeBSD vēl nav pilnībā īstenots.

Cīņā Linux un BSD ir ļoti līdzīga. Kaut kad BSD ir aprakstīts iepriekš, pievienojot buquency failu nosaukumiem uz Linux VFS sistēmu, ir iestatīts uz šāda veida.

Piektajā un piektajā PPOD, Linux būs ātri FreeBSD, galvenokārt par kombinētās pušķu lietošanas izmantošanu. Bufera tilpums var aizņemt vairāk atmiņas un veikt vairāk atmiņas nekā FreeBSD, kur tiek izmantots fiksēts apjoms. EXT2FFS un XIA FS atbildes rezultāti liecina, ka optimizācija, kas radusies EXT2FFS, patiešām tiek izmantota: šo sistēmu izdarītājs ir aptuveni 5-10%.

Secinājums

EXT2 failu sistēma ir visbiežāk izmantotā Linux lietotājiem. Viņa nodrošina UNIX standarta funkcijas un papildu funkcijas. Turklāt, pateicoties optimizācijai, kas iekļauta indes, tas liecina par lieliskiem reaģēšanas rezultātiem.

EXT2FS sistēma ietver funkcijas, lai pievienotu jaunas funkcijas. Daži cilvēki rūpējas par PAS izmantošanu reālajai failu sistēmai: piekļuves kontroles saraksts, atbilstošā POSIX standa, atjaunojot attālos failus un saspiest failus ilgtermiņa uzturēšanās laikā.

Pirmkārt, EXT2FS sistēma tika integrēta Linux indes, un tas aktīvi virzās uz operētājsistēmu darbību. Ext2FS ir arī svarīga Masx darbības sistēmas sastāvdaļa, ko pašlaik mācās viens no autops.