Ext2 датотечен систем во Linux. Како да пристапите до Ext2, Ext3, Ext4 датотечен систем во датотечниот систем ext2 во околина на Windows

Како да се овозможи пристап до партиција на диск или отстранлив медиум со датотечни системи во околина на Windows Ext2/3/4 ? Ако, на пример, има и втор систем на компјутерот линукс. И потребно е да се работи со неговите податоци од околината Windows. Или друг пример - кога виртуелните дискови се монтирани во Windows со инсталиран вклучен виртуелни машинисистеми линуксили Андроид. Со Ext2/3/ 4 Windows не работи природно, му требаат алатки од трети страни за ова. Кои се овие средства?Да ги разгледаме оние подолу.

***
Првите три средства ќе овозможат само читање на информативни уреди со Ext2/3/4. Последното решение ќе овозможи и читање и пишување податоци. Сите алатки подолу се бесплатни.

1. DiskInternals Linux Reader

Едноставна програма е примитивен менаџер на датотеки, направен како обичен Windows Explorer, со поддршка за датотечни системи Екст 2/3/4 , Reiser4 , HFS , UFS2. Во прозорецот на програмата ќе видиме партиции и уреди со линуксили Андроид.

За да копирате, изберете папка или датотека, притиснете го копчето Зачувај.

Потоа наведете ја патеката за копирање.

2. Приклучок за Total Commander DiskInternals Reader

Фановите на популарната можат да извлечат податоци линуксили Андроидвнатре во Windows користејќи го овој менаџер на датотеки. Но, откако ќе инсталирате посебен приклучок во него. Еден од овие приклучоци е, тој може да поврзува и чита информативни уреди форматирани во Ext2/3/4 , Масти/exFAT , HFS/HFS+ , ReiserFS. Преземете го приклучокот, отпакувајте ја неговата архива внатре , потврдете ја инсталацијата.

Ние лансираме (важно) во име на администраторот. Одиме во делот. Ние притискаме.

Овде, заедно со другите партиции и медиуми на дискот, оној со Ext2/3/4 .

Податоците се копирани на традиционалните начин - со притискање на F5 на вториот панел.

3. Приклучок за Total Commander ext4tc

Поедноставена алтернатива на претходното решение − ext4tc, уште еден приклучок за . Може да се поврзе со уреди за читање информации форматирани само во Ext2/3/4. Преземете го приклучокот, отпакувајте ја неговата архива во менаџерот на датотеки, започнете ја инсталацијата.

Ние лансираме (важно) во име на администраторот. Кликнете. Влегуваме во.

Ако треба да копирате податоци, користете го вообичаениот метод со копчето F5.

4. Поддршка за двигатели Ext2Fsd

Програма Ext2Fsdе возач Ext2/3/4, имплементира поддршка за овие датотечни системи на ниво на оперативен систем. Можете да работите со партиции на дискови и дискови форматирани во овие датотечни системи како со обични медиумски уреди поддржани од Windows во прозорецот Explorer или програми од трета страна. Возачот дозволува и читање и пишување податоци.

Се презема најновата тековна верзија Ext2Fsd.

За време на инсталацијата, активирајте (ако е за долгорочна работа) три предложени полиња за избор:

1 - Autorun драјвер со Windows;
2 - Поддршка за снимање за ext2;
3 - Поддршка за форматирање за Ext3.

Во фазата на претходна завршница, ја активираме опцијата за стартување на прозорецот на менаџерот за возачи - - со поврзаното доделување информации на уредите со Ext2/3/4возење букви.

Во прозорецот што се отвори ќе го видиме превозникот со веќе доделеното писмо. На пример, во нашиот случај, носител со Ext4се дава првото бесплатно писмо Ф.

Сега можеме да работиме со дискот Фво прозорецот на истражувачот.

Доделете писмо до новите поврзани уреди со Ext2/3/4Можете да го користите контекстното мени повикано на секое од прикажаните во прозорецот уреди. Но, само со доделување буква на диск, таков уред нема да се прикаже после рестартирање на Windows, ова решение е само за една сесија на работа на компјутер. За да направите нов уред со Ext2/3/4трајно видливо во околината на Windows, треба да кликнете двапати на неа за да го отворите прозорецот за поставки и да поставите параметри за трајно поврзување. Во втората колона ви треба:

За пренослив медиум, активирајте го полето за избор означено со бројот 1 на сликата од екранот и означете ја буквата на уредот;
За внатрешни дискови и партиции, активирајте го полето за избор наведено на сликата подолу со бројот 2, а исто така означете ја буквата на уредот.

14 јун

Датотечни системи ext2, ext3, XFS, ReiserFS, NTFS

Датотечниот систем- ова е редослед што го одредува начинот на организација, складирање и именување на податоците на кој било електронски медиум за складирање во компјутерите.

Разновидноста на датотечните системи се објаснува со фактот дека секој е измислен за свој специфичен сет на задачи. Некои пишуваат мали датотеки многу брзо (да речеме, до 1 GB), но во исто време лошо комуницираат со големи датотеки или воопшто не работат со нив. Некои се добри во однос на безбедноста, други во однос на брзината на пишување / читање. Секој датотечен систем има свои добрите, лошите страни, ранливости и карактеристични карактеристики.

ВО линуксНајчесто користени типови на датотечни системи се:

  1. ext2- се залага за Втор проширен датотечен систем(втор продолжен датотечен систем). Развиен од Remy Card во 1993 година како датотечен систем за Linux кернелот, од 1993-2001 година беше главниот датотечен систем линукс.
    Предноста е големата брзина на читање/запишување.
    Главниот недостаток на системот ext2е тоа што не е запишан, но благодарение на ова има одлични перформанси ( сеча- ова е процес на логирање кој складира листа на промени што помага да се одржи интегритетот на датотечниот систем при различни неуспеси на системот);
  2. ext3- се залага за Трет проширен датотечен систем(трета верзија на продолжениот датотечен систем). Развиен од Стивен Твиди во 2001 година, кој се користи до денес во дистрибуции линукс. Роден е како подобрена ext2.
    Предноста на овој систем е во тоа што е запишан, односно неговата сигурност се зголемува многу пати во споредба со ext2.
    Недостаток е малку пониски перформанси и брзина на читање/пишување.
  3. XFS- Развиена од компанијата Силиконска графикаво 1993 година, беше додаден во кернелот линукскако датотечен систем во 2002 година до целото семејство на дистрибуции линукс, во моментов се користи како „мајчин“ во дистрибуцијата Црвена капа.
    Предноста е присуството на евиденција на метаподатоци, висока стабилност на работа, поддржана е дистрибуција на I/O стримови во групи, голема брзина на читање/запишување, можно е дефрагментирање дури и кога партицијата е монтирана и можете да ја зголемите големината на датотечниот систем. Работи најефективно со големи датотеки.
    Недостаток е што големината на партицијата не може да се намали, обработката на метаподатоците не е толку брза, работи значително побавно со мали датотеки од другите типови датотечни системи.
  4. ReiserFS- развиен од компанијата namesysпод раководство на Ханс Рајзер во 2001 г. Се користи само на оперативни системи линукс. Тоа беше првиот датотечен систем за журнал што беше усвоен во кернелот.
    Предноста на овој датотечен систем е што работи многу брзо со мали датотеки (брзината на читање/пишување е поголема од онаа на семејството ext4), поддржува логирање.
    Недостаток е што неговиот развој значително забави поради апсењето на шефот Ханс Рајзер и нема шифрирање во позадина.
  5. NTFS- се залага за нова технологија датотечен систем(нова технологија датотечен систем). Развиена во јули 1993 година од страна на корпорацијата Мајкрософт. Широко се користи во различни оперативни системи, како и во различни медиуми за складирање.
    Предноста е вградената можност за ограничување на пристапот до податоци за различни корисници, како и доделување ограничувања на максимален волуменпростор на дискот, употреба на систем за дневник, голема брзина на читање / пишување мали датотеки.
    Недостаток е што за стабилна работа не е потребна мала RAM меморија на компјутер, работи бавно со големи датотеки, должината на патеката на датотеката е ограничена (32.767 знаци на Уникод).

На толку едноставен начин, ги сфативме „датотечните системи ext2, ext3, XFS, ReiserFS, NTFS«!

Датотечниот систем(англиски датотечен систем) - редослед што го одредува начинот на организирање, складирање и именување податоци на носители на информации на ИТ опрема (со користење на преносни флеш мемориски картички во преносни Електронски Уреди: дигитални камери, мобилни телефониитн д) и компјутерска технологија. Го дефинира форматот на содржината и физичкото складирање на информации кои обично се групирани во форма на датотеки. Специфичен датотечен систем ја одредува големината на името на датотеката (папката), максималната можна големина на датотеката и партицијата и збир на атрибути на датотеката. Некои датотечни системи обезбедуваат услуги, како што се контрола на пристап или шифрирање на датотеки.

Задачи на датотечен систем

Главните функции на кој било датотечен систем се насочени кон решавање на следниве задачи:

именување на датотеки;

програмскиот интерфејс за работа со датотеки за апликации;

мапирање на логичкиот модел на датотечен систем со физичката организација на складиштето на податоци;
организирање на стабилноста на датотечниот систем на неуспеси во напојувањето, хардверски и софтверски грешки;

Во системи со повеќе корисници, се појавува друга задача: заштита на датотеките на еден корисник од неовластен пристап од друг корисник, како и обезбедување заедничка работа со датотеки, на пример, кога датотека е отворена од еден од корисниците, за други истото датотеката ќе биде привремено достапна во режим само за читање.

Датотечниот систем е главната структура што ја користи компјутерот за организирање информации на хард дискот. При инсталирање на нов хард дискмора да биде поделен и форматиран за одреден датотечен систем, по што може да складира податоци и програми. Windows има три можни опции за датотечен систем: NTFS, FAT32 и ретко користениот наследен систем FAT (исто така познат како FAT16).

NTFS е претпочитан датотечен систем за оваа верзија на Windows. Има многу предности во однос на претходниот систем FAT32; некои од нив се наведени подолу.

Способност за автоматско враќање од некои грешки на дискот (FAT32 ја нема оваа способност).
Подобрена поддршка за големи хард дискови.
Повисок степен на безбедност. Можете да користите дозволи и шифрирање за да спречите кориснички пристап до одредени датотеки.

Датотечниот систем FAT32 и ретко користениот систем FAT беа користени претходно Верзии на Windows, вклучувајќи ги Windows 95, Windows 98 и Windows Millennium Edition. Датотечниот систем FAT32 не го обезбедува нивото на безбедност што го обезбедува NTFS, така што ако компјутерот има партиција или волумен форматирана во FAT32, датотеките на таа партиција се видливи за секој што има пристап до компјутерот. Датотечниот систем FAT32 исто така има ограничувања за големината на датотеката. Во оваа верзија на Windows, не е можно да се создаде партиција FAT32 поголема од 32 GB. Исто така, партицијата FAT32 не може да содржи датотека поголема од 4 GB.

Главната причина за користење на системот FAT32 би била тоа што компјутерот ќе може да работи и Windows 95, Windows 98 или Windows Millennium Edition, како и оваа верзија на Windows (конфигурација со повеќе ОС). За да креирате таква конфигурација, мора да инсталирате претходна верзија на оперативниот систем на партиција форматирана со FAT32 или FAT, правејќи ја примарна (примарната партиција може да го содржи оперативниот систем). Други делови до кои се пристапува од претходните верзии Windows, исто така, мора да биде форматиран како FAT32. Претходните верзии на Windows можат да пристапуваат само до мрежните партиции или томови NTFS. NTFS партициите на локалниот компјутер нема да бидат достапни.

FAT - плус:

Потребна е малку RAM меморија за да работи ефикасно.
Брза работасо мали и средни именици.
Дискот прави помалку движења на главата во просек (во споредба со NTFS).
Ефективна работана бавни погони.

МАСТИ - лошите страни:

Катастрофално губење на перформансите со зголемена фрагментација, особено за големи погони (само FAT32).
Тешкотии со случаен пристап до големи (да речеме, 10% или повеќе од големината на дискот) датотеки.
Многу бавна работа со директориуми кои содржат голем број датотеки.

Добрите NTFS:

Фрагментацијата на датотеките има мало или никакво влијание врз самиот датотечен систем - перформансите на фрагментираниот систем се деградирани само во однос на пристапот до самите податоци за датотеката.
Комплексноста на структурата на директориумот и бројот на датотеки во еден директориум, исто така, не претставуваат некои посебни пречки за изведбата.
Брз пристап до произволен фрагмент од датотека (на пример, уредување големи .wav датотеки).
Многу брз пристап до мали датотеки (неколку стотици бајти) - целата датотека е на истото место како и системските податоци (MFT рекорд).

Недостатоци на NTFS:

Значајни барања за системска меморија (64 MB е апсолутен минимум, повеќе е подобро).
Бавните дискови и контролери без мастеринг со автобус во голема мера ги забавуваат перформансите на NTFS.
Работата со директориуми со средна големина е тешка бидејќи тие се скоро секогаш фрагментирани.
Дискот што работи долго време во состојба од 80% - 90% полн ќе покаже исклучително ниски перформанси.

Следниве датотечни системи се сметаат за „мајчин“ за Linux (т.е. оние на кои може да се инсталира и од кои може да започне): ext2fs, ext3fs, ext4fs, ReiserFS, XFS, JFS.Тие се на кои обично им се нуди избор при инсталирање на огромното мнозинство на дистрибуции. Се разбира, постојат начини Инсталации на Linuxдо датотечните системи FAT/VFAT/FAT32, но ова е само за оние љубители и господови кои разбираат многу за перверзии и нема да зборувам за нив.

Главните критериуми за избор на датотечен систем обично се доверливоста и брзината. Во некои случаи, треба да го земете предвид и факторот на компатибилност - во овој случај, тоа значи способност на други оперативни системи да пристапат до одреден датотечен систем.
Ќе започнам со ReiserFS - бидејќи причината за пишување на оваа белешка беше прашањето: што треба да се смета за мали датотеки? На крајот на краиштата, добро е познато дека ефикасноста на работата со мали датотеки е силата на овој датотечен систем.

Значи, малите датотеки се датотеки помали од логичкиот блок на датотечниот систем, кој во Linux во повеќето случаи е еднаков на четири килобајти, иако може да се постави при форматирање во одредени граници (во зависност од специфичниот FS). Има безброј такви мали датотеки во кој било оперативен систем сличен на Unix. Типичен пример се датотеките што го сочинуваат дрвото на портите на FreeBSD, портите на Gentoo и слични пренесени системи.
Во повеќето датотечни системи, таквите мини-датотеки имаат и своја сопствена инода (информативен јазол што содржи мета информации за датотеката) и блок на податоци, што доведува и до потрошувачка на простор на дискот и до побавно работење на датотеките. Особено, ова е причината за катастрофалната внимателност на датотечниот систем FreeBSD (и стариот, UFS и новиот, UFS2) кога работи со сопствениот систем на пристаништа.

Во датотечниот систем ReiserFS, во такви случаи, не се доделуваат посебни блокови за податоци - тој успева да ги турка податоците на датотеката директно во областа на сопствената инода. Поради ова, просторот на дискот е зачуван, а перформансите се зголемуваат - буквално неколку пати во споредба со сите други FS.
Ова ракување со мали датотеки ReiserFS доведе до легенда за нивната несигурност. Навистина, кога датотечниот систем се урива (односно, уништување на услужните области), податоците поставени заедно со неговите иноди исчезнуваат заедно со нив - и неповратно. Со оглед на тоа што во оние датотечни системи каде инодите и податочните блокови се секогаш просторно одделени, вторите теоретски може да се обноват. Значи, за ext2/ext3 има дури и алатки кои ви дозволуваат да го направите ова.

Сепак, како и секоја легенда, и оваа остава само впечаток на автентичност. Прво, трајното губење на податоци се однесува само на многу мали датотеки. Меѓу корисничките, практично нема такви, а сите други лесно се обновуваат од комплетот за дистрибуција.
Второ, зборувајќи за можноста за враќање на податоци од блокови кои ја изгубиле нивната врска со нивните иноди, не случајно го употребив зборот „теоретски“. Бидејќи во пракса ова занимање е исклучително одзема време, не дава загарантиран резултат. Секој што морал да го направи ова ќе се согласи дека може да се препушти на тоа само од целосна безнадежност. И тоа важи за сите датотечни системилинукс. Така, овој аспект може да се занемари при изборот на датотечен систем.

Во однос на вкупните перформанси, ReiserFS е дефинитивно побрз од сите останати FS со списанија, и во некои аспекти дури го надминува ext2. Резултатите од споредувањето на брзината на некои вообичаени операции со датотеки со датотеки може да се најдат овде.
Но, со компатибилноста на ReiserFS, ситуацијата е нешто полоша. Пристапот до него од Windows OS, колку што знам, не е можен. Некои оперативни системи од семејството BSD (DragonFlyBSD, FreeBSD) го поддржуваат овој датотечен систем, но во режим само за читање. Дури и веројатноста дека произволно Linux LiveCD од минатото нема поддршка за ReiserFS не е нула.

И тука е време да се потсетиме на ext3fs. Неговата предност воопшто не е во поголема сигурност - ова е истата легенда како нестабилноста на ReiserFS. Сум слушнал за падовите на ext3fs колку што сум слушнал за падовите на ReiserFS. Јас самиот не можев да го уништам ниту едното ниту другото. Освен ако не работеше со ext2 - но дури и тоа беше многу одамна, во времето на кернелот 2.2 (или дури и 2.0).

Не, главната предност на ext3fs е неговата компатибилност - гарантирано е да се чита од кој било систем на Линукс. На пример, при реставрација од некој древен асистент LiveCD - ситуација која речиси и не е толку неверојатна, морав да навлезам во неа. Повторно, повеќето BSD системи лесно го разбираат ext3fs (иако без дневник). За Windows, исто така, има, колку што знам, секакви драјвери и приклучоци за заеднички менаџери на датотеки(тип Тотален командант) кои обезбедуваат пристап до ext2fs/ext3fs партиции.

Во однос на перформансите, ext3fs остава измешан впечаток. Прво, неговата изведба е многу зависна од режимот на евиденција, од кои има три: со целосна евиденција на податоци, делумно евидентирање на податоци и евиденција само за метаподатоци. Во секој од режимите, покажува различни перформанси на различни типови операции со датотеки. Сепак, во секој случај, настапот не е рекорд.

Меѓутоа, ако барањето за брзина е ставено на прво место, тогаш ext2fs е надвор од конкуренција овде - сепак, во овој случај ќе мора воопшто да го поднесете недостатокот на логирање. И, следствено, со долги проверки на датотечниот систем во случај на какво било неправилно исклучување - и со обемот на современите дискови, ова може да се одолговлекува долго време ...

Во врска со XFS, можно е да се каже следново. Во однос на компатибилноста, сè што е напишано за ReiserFS важи за него - згора на тоа, до одредено време не беше поддржано од стандардниот кернел на Linux. Од гледна точка на перформансите, XFS исто така не свети, зборувајќи вкупно за истото ниво како ext3fs. И за операцијата за бришење датотеки, генерално покажува депресивна бавност.
Според моето искуство, користењето на XFS се исплати кога работите не само со големи, туку и со многу големи датотеки - кои всушност се само DVD слики и видео датотеки.

Се враќам на прашањето за доверливост. Баналното исклучување при нормална работа на корисникот, по правило, безболно ги пренесува сите записни датотечни системи (и ниту еден од нив не ја осигурува безбедноста на операциите на корисникот што не се запишани на дискот - спасување на давениците и тука останува работата на самите давеници) . Точно, за кој било датотечен систем е можно да се симулира ситуација во која исклучувањето на напојувањето ќе доведе до повеќе или помалку сериозно оштетување на него. Меѓутоа, во реалниот живот, појавата на такви ситуации е малку веројатна. И можете целосно да ги елиминирате со купување на непрекинато напојување - тоа ќе даде поголема доверба во безбедноста на податоците отколку типот на датотечен систем. Па, во секој случај, само нивната редовна резервна копија може да биде гаранција за враќање на уништените податоци ...

Мислам дека горенаведените информации се доволни за информиран избор. Мојот личен избор во изминатите неколку години беше ReiserFS. Повремено, на системи каде што е оправдано да се премести сè што е можно надвор од root партицијата, препорачливо е да се користи ext3fs за root датотечен систем и ReiserFS за сè друго.

Ако е обезбедена посебна партиција за директориумот /boot (и ова се препорачува при користење ГРУБ подигнувачнеговите развивачи) - за него, ниту еден друг датотечен систем, освен ext2fs, не е оправдан, секаков вид на дневник нема смисла овде. Конечно, ако се создаде посебна партиција за сите видови мултимедијални материјали, тогаш можете да размислите за XFS.

Ако на објаснувањето му пристапиме пометодично

ext - Во раните денови на Linux, ext2 (продолжен датотечен систем, верзија 2) беше доминантен систем. Од 2002 година, тој беше заменет со системот ext3, кој е во голема мера компатибилен со ext2, но исто така поддржува функции за дневник, а при работа со кернел верзија 2.6 и повисока, исто така ACL. Максималната големина на датотеката е 2 ТБ, максималната големина на датотечен систем е 8 ТБ. На крајот на 2008 година, официјално беше објавена верзија на ext4, која е компатибилна наназад со ext3, но многу функции се имплементирани поефикасно од претходно. Дополнително, максималната големина на датотечен систем е 1 EB (1.048.576 TB) и може да сметате на тоа некое време за да биде доволно. За reiser - Системот беше именуван по неговиот основач, Ханс Рајзер, и беше првиот систем за логирање кој пристапи до кернелот на Linux за податоци. Верзијата SUSE на zp дури и се сметаше за стандард некое време. Главните предности на reiser во однос на ext3 се поголема брзина и подобро поставување при работа со мали датотеки (и повеќето датотеки во датотечен систем имаат тенденција да бидат мали). Со текот на времето, сепак, развојот на reisefers престана. Одамна беше најавена верзијата 4, која се уште не е готова, а поддршката за верзијата 3 е завршена. За xfs - Датотечниот систем xfs првично беше развиен за работни станици SGI што работат на оперативниот систем IRIX. Xfs е особено добар за работа со големи датотеки, особено е идеален за работа со стриминг видео. Системот поддржува квоти и проширени атрибути (ACL).
jfs

jfs - a66peBHaTypaJFS кратенка од „Journaled File System“. Првично беше развиен за IBM, а потоа адаптиран за Linux.Jfs никогаш навистина не уживал многу препознатливост во Linux и моментално има мизерно постоење, инфериорно во однос на другите датотечни системи.
brtfs

brtfs - ако тоа е волја на водечките развивачи на кернелот, датотечниот систем brtfs во Linux има светла иднина. Овој систем беше развиен во Oracle од темел. Вклучува поддршка за мапирање на уреди и RAID. Brtfs е најмногу сличен со ZFS на Sun. Неговите најинтересни карактеристики вклучуваат проверка на датотечниот систем во движење, како и поддршка за SSD (Solid State Drives се хард дискови базирани на флеш меморија). За жал, работата на brtfs нема да биде завршена во догледна иднина. Од верзијата 11 на Fedora, можно е да се инсталираат brtfs, но препорачувам да го користите само за развивачи на датотечни системи!
Не постои „најбрзиот“ или „најдобар“ датотечен систем - проценката зависи од тоа за што имате намера да го користите системот. На почетниците на Linux корисници кои работат на локален компјутер им се советува да работат со ext3, а на администраторите на серверот со ext4. Се разбира, ext4 е побрз од ext3, но ext4 има многу полоша ситуација со сигурноста на податоците - лесно можете да изгубите информации ако системот одеднаш се исклучи.

Ако имате инсталирано втор оперативен систем сличен на UNIX на вашиот компјутер, тогаш следните датотечни системи ќе ви бидат корисни при размена на податоци (од еден во друг ОС).

sysv - се користи од SCO, Xenix и Coherent OS.

ufs - Се користи од FreeBSD, NetBSD, NextStep и SunOS. Linux може да чита само информации од такви датотечни системи, но не може да прави промени во податоците. За да пристапите до сегментите на BSD, дополнително ќе ви треба наставката за диск ознака на BSD. Слична екстензија постои за табелите со партиции на SunOS.

ZFS е релативно нов систем развиен од Sun за Solaris. Бидејќи кодот ZFS не е во согласност со лиценцата GPL, тој не може да се интегрира со кернелот на Linux. Поради оваа причина, Linux го поддржува овој датотечен систем само индиректно преку FUSE.
Windows, Mac OS X

Следниве датотечни системи ќе бидат корисни при размена на информации со MS DOS, Windows, OS/2 и Macintosh.

vfat - се користи во Windows 9x/ME. Linux може да чита информации од такви партиции и да прави промени во нив. Системските драјвери на vfat ви дозволуваат да работите со стари датотечни системи MS DOS (8 + 3 знаци).

ntfs - системот се користи во сите модерни верзии на Windows: otNT и повисоки. Linux може да ги чита и менува своите датотеки.

hfs и hfsplus - овие датотечни системи се користат во Apple компјутери. Linux може да ги чита и менува своите датотеки.

ЦД-а и ДВД-а со податоци обично користат свои сопствени датотечни системи.

iso9660 - Датотечниот систем за CD-ROM-ови е опишан во стандардот ISO-9660, кој дозволува само кратки имиња на датотеки. Долгите имиња се поддржани во различни оперативни системи на различни начини, со помош на различни екстензии кои се некомпатибилни едни со други. Системот Линукс е способен да работи и на наставката Rockridge заедничка за UNIX и на наставката Joliet развиена од Microsoft.

udf - овој формат (универзален формат на диск) се појави и се разви како наследник на ISO 9660.

Мрежни датотечни системи

Датотечните системи не мора да бидат на локалниот диск - тие
може да се поврзе со компјутер и преку мрежата. Линукс кернелот поддржува различни мрежни датотечни системи, од кои најчесто се користат следните.

smbfs/cifs - Помага да се мапираат директориумите на мрежата Windows или Samba на дрвото на директориуми.

nfs е најважниот мрежен датотечен систем во UNIX.

coda - овој систем е многу сличен на NFS. Има многу дополнителни функции, но не е многу вообичаено.

ncpfs - работи на протоколот на јадрото NetWare;oH што го користи Novell Netware.

Виртуелни датотечни системи

Постојат неколку датотечни системи во Linux кои не се дизајнирани да складираат податоци на хард диск (или други медиуми), туку само за размена на информации помеѓу кернелот и корисничките програми.
devpts - Овој датотечен систем обезбедува пристап до псевдо-терминали (кратко PTY) преку /dev/pts/* во согласност со спецификацијата UNIX-98. (Псевдо терминалите емулираат сериски интерфејс. На системите UNIX/Linux, таквите интерфејси ги користат терминалните емулатори како што е xterm. Обично се користат уреди како /dev/ttypn. Спротивно на тоа, спецификацијата UNIX-98 дефинира нови уреди. Повеќе детали информациите се пријавени во текстуалниот терминал H0WT0.)
proc и sysfs - датотечен систем proc се користи за прикажување на информации за услугата поврзани со управувањето со кернелот и процесите. Дополнително на ова, датотечен систем sysfs гради врски помеѓу кернелот и хардверот. Двата датотечни системи се монтирани на позициите /proc и /sys.
tmpfs - Овој систем се базира на споделена меморија според System V. Обично се поврзува на позиција /dev/shm и обезбедува ефикасна размена на информации помеѓу две програми. На некои дистрибуции (на пр. Ubuntu), директориумите /var/run и /var/lock исто така се креираат со помош на датотечен систем tmpfs. Датотеките во овие директориуми се користат од некои мрежни демони за складирање на идентификациони броеви на процесот и информации за пристап до датотеки. Благодарение на tmpfs, овие податоци сега се рефлектираат во RAM меморијата. Методот гарантира голема брзина, како и фактот дека по исклучувањето на компјутерот, нема да останат датотеки во директориумите /var/run или /var/lock.

usbfs - датотечен систем usbfs, почнувајќи од кернелот верзија 2.6 и понова, дава информации за поврзаните USB-уреди. Обично е интегриран во датотечен систем proc. За поддршката на USB-уредот во Linux.

Други датотечни системи

auto - всушност, нема датотечен систем со тоа име. Сепак, зборот auto може да се користи во /etc/fstab или со командата mount за да се одреди датотечен систем. Во овој случај, Linux ќе се обиде сам да го препознае датотечниот систем. Овој метод работи со повеќето главни датотечни системи.
autofs, autofs4

autofs, autofs4 исто така не се датотечни системи, туку екстензии на јадрото кои автоматски се извршуваат команда за монтирањеза избраните датотечни системи. Ако датотечен систем не се користи некое време, тогаш командата umount автоматски се извршува за него. Овој метод е корисен првенствено во случаи кога само неколку од многуте NFS директориуми активно се користат во исто време.

За извршување на овие операции, скриптата /etc/init.d/ autofs автоматски ја извршува програмата за автоматско монтирање при стартувањето на системот. Таа е конфигурирана со помош на датотеката /etc/auto.master. Соодветните програми автоматски се инсталираат во, на пример, Red Hat и Fedora. Во секој случај, autofs е овозможен само по конфигурирање на /etc/auto.master или /etc/auto.misc.
cramps и squashfs

cramfs и squashfs - Датотечните системи Cram и Squash се само за читање. Тие се користат за „спакување“ што е можно повеќе зипувани датотеки во флеш меморија или ROM (меморија само за читање).

осигурувач - FUSE е кратенка за „Датотечен систем во кориснички простор“ и овозможува развој и употреба на драјвери за датотечниот систем надвор од јадрото. Затоа, FUSE секогаш се користи со надворешен двигател на датотечен систем. FUSE работи особено со двигателот ntfs-3g NTFS.

gfs и ocfs - Глобалниот датотечен систем на Oracle и датотечниот систем Oracle Cluster ви овозможуваат да изградите гигантски мрежни датотечни системи до кои може паралелно да пристапат многу компјутери во исто време.

jffs и yaffs - Journaling Flash File System и Yet Another Flash File System се специјално оптимизирани за работа со цврсти погони и флеш медиуми. Користејќи специјални алгоритми, тие се обидуваат рамномерно да ги користат сите мемориски ќелии (технологија за израмнување на абење) со цел да се избегне предвремено откажување на системот.
јамка

јамка - се користи за работа со псевдо уреди. Уредот за враќање на јамката е адаптер способен за пристап до обична датотека како да е блок уред. Благодарение на него, можете да поставите кој било датотечен систем во која било датотека, а потоа да го поврзете со дрвото на директориуми користејќи монтирање. Функцијата на јадрото одговорна за ова - поддршка на псевдо-уредот - е имплементирана во модулот за јамка.

Постојат различни начини за користење на псевдо-уреди. Особено, тие можат да се користат при креирање на дискови во RAM за почетна иницијализација (Initial RAM-диск) за GRUB или LILO, при имплементирање на шифрирани датотечни системи или тестирање на ISO слики за ЦД.

Медиумски датотечни системи за складирање

Датотечни системи
ISO 9660
Joliet продолжување на датотечен систем ISO 9660.
Rock Ridge (RRIP, IEEE P1282) е наставка за датотечен систем ISO 9660 дизајнирана да ги складира атрибутите на датотеките што се користат во оперативните системи POSIX
Екстензии на Amiga Rock Ridge
Ел Торито
Екстензии на Apple ISO9660
HFS, HFS+
Универзален формат на диск Спецификација за формат на датотечен систем независен од оперативниот систем за складирање датотеки на оптички медиуми. UDF е имплементација на стандардот ISO/IEC 13346
планината Рение

Датотека Линукс систем- ова е најчесто ext4. Тоа е логирање и ви овозможува практично да работите со податоци кога решавате огромно мнозинство задачи. Сепак, има и други. Главните типови на датотечни системи и принципите на работа со нив ќе бидат разгледани во рамките на овој материјал.

Видови датотечни системи Линукс и нивните карактеристики

Карактеристични карактеристики се брзината на работа со датотеки, безбедноста и параметрите (како што е големината на блокот) кои постојат стандардно и се поставени кога се креира FS. Можеби најважната карактеристика е присуството на дневник. Системскиот дневник снима податоци или метаподатоци(само заглавија) ​​од кои може да се повратат информациите во случај на неуспех.

Датотечниот систем може да се креира на кој било уред: диск или системска партиција.

EXT2 датотечен систем

EXT2 е веќе застарен датотечен систем кој речиси не се користи во современите инсталации. главниот недостаток е недостатокот на логирање, што, соодветно, го оневозможува обновувањето на податоците во случај на неуспех. Сè уште се користи на преносни медиуми како што е USB. За нив не е потребно списание, бидејќи зафаќа одреден простор.

Исто така, гарантира максимална брзина.

  • за EXT2 максималната големина на датотеката е -2 TB

EXT3 датотечен систем

Заменет EXT2, главната карактеристика е изгледот на магазинот, е целосно компатибилен наназад со EXT2 (EXT2 може слободно да се конвертира во EXT3). Сега е исто така ретко, EXT4 скоро секогаш се користи.

Дневникот е посебна област во меморијата која ги снима информациите за сите промени.

  • за EXT3 максималната големина на датотеката е -2 TB
  • максималната големина на сите датотеки е 32 ТБ
  • Секој директориум може да има до 32.000 поддиректориуми

Постојат три опции за дневник (наведено при креирање на датотечен систем):

  • журнал - во метаподатоците на списанието, како и самата информација
  • нарачано - стандардна опција, само метаподатоците се зачувуваат по запишувањето на дискот
  • запишување - само метаподатоците се исто така зачувани, можете да изберете да ги зачувате пред да запишете на диск или потоа

EXT4 датотечен систем

Најчесто се користи модерната верзија на проширениот датотечен систем

  • максимална големина на датотека -2 TB 16 TB
  • максималната големина на сите датотеки е 1 EB (ексабајт). 1 EB = 1024 PB (петабајт). 1 PB = 1024 TB (терабајт).
  • Секој директориум може да има до 64.000 поддиректориуми

Во EXT4 евиденцијата може да се исклучи со поставување на опцијата податоцикога е монтиран во исклучен

EXT како главен датотечен систем на Linux и работни практики

Датотечниот систем е креиран со командата mk2fs

Посакуваната опција за логирање е наведена при монтирање, на пример:

монтирајте /dev/vdc /mnt/1 -t ext3 -o data=journal

Конвертирање од EXT2 E во XT3

ReiserFS

ReiserFS (и модерната имплементација на Reiser4 со поддршка за SELinux) работат добро и се многу продуктивни - особено кога работите со голем број мали датотеки. ReiserFS не доделува иноди за секоја мала датотека со нивна заедничка обработка, исто така ReiserFS користи дневник со неколку достапни опции. Во моментов, датотечниот систем е поддржан од програмери од Русија.

Можете да креирате FS за уред со командата

XFS

XFS е датотечен систем со записи. Користи RAM меморијаза складирање информации, така што е можно губење на податоци - на пример, кога напојувањето е исклучено.

За да користите XFS во Ubuntu ќе треба да инсталирате пакети xfsprogsИ xfsdump

vfat

Датотечниот систем Линукс постои и во околината на Виндоус. Се користи кога е неопходно да се организира заеднички пристап до одредени дискови и партиции на клиенти со различни оперативни системи. Во други случаи, не е препорачливо да го користите бидејќи може да биде тешко кога работите во Linux.

(Втор продолжен датотечен систем).

Историја на развојот на датотечните системи Линукс

· Структура на партиција на дискот во ext2fs

·

· Каталози

· Датотеки на уредот

·

·

EXT2fs библиотека

· Системски алатки EXT2fs

· Пресметка на перформанси

Матфак

Софтвер

2. јадење 5. гр.

Чичиров Андреј

датотечен систем EXT2fs (Втор продолжен датотечен систем).

Историја на развојот на датотечните системи Линукс

Првите верзии на Linux беа развиени врз основа на оперативниот систем Minix. Би било полесно да се делат дискови помеѓу два системи отколку да се развие нов датотечен систем, па Линус Торвалдс одлучи да воведе поддршка за датотечен систем Minix во Linux. Во тоа време, овој датотечен систем беше прилично ефикасен софтвер со релативно малку грешки.

Сепак, ограничувањата поврзани со структурата на датотечниот систем Minix беа доста високи, па почнаа да размислуваат за развој на нов датотечен систем за Linux.

За да се поедностави воведувањето на нов датотечен систем во кернелот Линукс, беше развиен виртуелен датотечен систем (VFS). VFS првично беше напишан од Крис Провенцано, а потоа препишан од Линус Торвалдс пред да биде интегриран во кернелот.

Откако беше инсталиран во кернелот VFS, нов датотечен систем EXTfs (Проширен датотечен систем) беше развиен во април 1992 година и додаден во верзијата на Linux 0.96c. Новиот датотечен систем отстрани две значајни ограничувања на системот Minix: неговата максимална големина може да достигне 2 гигабајти, а максималната должина на името на датотеката - 255 знаци. Ова беше подобрување во однос на датотечниот систем Minix, иако сè уште имаше некои проблеми. Немаше поддршка за поделен пристап, модификација на инода и модификација на временски ќелии за модификација на датотеки. Овој датотечен систем користеше поврзани списоци за да работи на слободни блокови и иноди, што во голема мера влијаеше на перформансите на системот: со текот на времето, списоците станаа неуредени и подредени, што доведе до фрагментација на датотечниот систем.

Решението за овие проблеми беше објавувањето во јануари 1993 година на алфа верзии на два нови датотечни системи: Xia и EXT2fs (Втор продолжен датотечен систем). Во најголем дел, датотечниот систем Xia беше базиран на Minix со додадени неколку нови функции. Овие беа главно способност за работа со долги имиња на датотеки, поддршка за поголеми партиции на дискот и поддршка за три временски слотови за промена на датотеки. Од друга страна, EXT2fs се базираше на EXTfs со многу подобрувања и дополнувања. Таа, исто така, имаше можности за иден развој.

Кога беа објавени овие два датотечни системи, тие беа функционално приближно еднакви. Системот Xia беше посигурен од EXT2fs со минимизирање. Како што станаа пошироко користени, беа откриени грешки во системот EXT2fs и беа додадени голем број нови функции и подобрувања. Во моментов, датотечен систем EXT2fs е многу сигурен и стана де факто стандарден датотечен систем Линукс.

Следната табела содржи општи информации за функционалноста што ја обезбедуваат различните датотечни системи.

Minix FS

ExtFS

Ext2FS

Xia FS

Максимална големина на датотечен систем

Максимална должина на датотеката

Максимална должина на името на датотеката

Поддршка за три временски ќелии за модификација на датотеки

Можност за проширување

Блок што може да се промени големината

Заштита на информации

Доколку е потребно, должината на името на датотеката во Екст 2може да се зголеми до 1012 година.

EXT2fs резервира голем број блокови за root корисникот. Ова е обично 5% од вкупниот број, што му овозможува на системскиот администратор да избегне да остане без простор на тврдиот диск кога е исполнет со работата на процесите на другите корисници.

Структура на партиција на дискот во ext2fs

Производителите на хард дискови обично ги испорачуваат своите производи ниско-форматирани. Колку што знам, тоа значи дека целиот простор на дискот е поделен на „сектори“ со помош на специјални ознаки, со големина од 512 бајти. Таков диск (или партиција на диск) мора да биде подготвен за употреба со специфичен оперативен систем. Во MS-DOS или Windows, постапката за подготовка се нарекува форматирање, а во Linux се нарекува создавање на датотечен систем. Креирање датотечен систем ext2fsе да се создаде одредена логичка структура во партицијата на дискот. Оваа структура е изградена на следниов начин. Прво, област за подигање е распределена на дискот. Областа за подигање е креирана на кој било датотечен систем. На примарната партиција, таа содржи запис за подигање, парче код што го иницира процесот на подигање на оперативниот систем при стартување. Оваа област не се користи на други делови. Остатокот од просторот на дискот е поделен на блокови. Блокот може да биде со големина од 1, 2 или 4 килобајти. Блокот е адресибилна единица простор на дискот. Доделувањето простор за датотеките се врши во блокови, така што мора да направите компромис при изборот на големината на блокот. Голема величинаблокот, по правило, го намалува бројот на пристапи на дискот при читање или пишување датотека, но го зголемува уделот на потрошениот простор, особено ако има голем број мали датотеки.

Блоковите во нивната област се комбинираат во групи блокови. Групите блокови во датотечниот систем и блоковите во групата се нумерирани последователно почнувајќи од 1. Првиот блок на дискот е нумериран со 1 и припаѓа на групата број 1. Вкупниот број на блокови на дискот (во партицијата на дискот) е делител на големината на дискот изразен во сектори. И бројот на блок групи не мора да го дели бројот на блокови, бидејќи последната група блокови можеби не е целосна. Почетокот на секоја група блокови има адреса, која може да се добие како ((група број - 1)* (број на блокови во групата)).

Секоја група блокови има иста структура. Неговата структура е прикажана во следната табела.

Блокирај групна структура на партиција на диск во ext2fs

Првиот елемент на оваа структура (суперблок) е ист за сите групи, а сите останати се индивидуални за секоја група. Суперблокот се чува во првиот блок од секоја блок група (со исклучок на групата 1, која има запис за подигање во првиот блок). Суперблоке почетна точка на датотечниот систем. Има големина од 1024 бајти и Секогаш лоциран на офсет 1024 бајти од почетокот на датотечниот систем. Присуството на неколку копии од суперблокот се објаснува со екстремната важност на овој елемент од датотечниот систем. Суперблок дупликатите се користат при враќање на датотечен систем по падови.

Информациите зачувани во суперблокот се користат за организирање пристап до останатите податоци на дискот. Суперблокот ја одредува големината на датотечен систем, максималниот број на датотеки во партицијата, количината на слободен простор и содржи информации за тоа каде да барате нераспределени области. Кога ќе се стартува ОС, суперблокот се чита во меморијата и сите промени во датотечниот систем прво се рефлектираат во копијата на суперблокот лоциран во оперативниот систем и се запишуваат на дискот само периодично. Ова ги подобрува перформансите на системот бидејќи многу корисници и процеси постојано ги ажурираат датотеките. Од друга страна, кога ќе го исклучите системот, суперблокот мора да биде запишан на дискот, што не дозволува да го исклучите компјутерот. едноставно исклучувањеисхрана. Во спротивно, при следното подигање, информациите напишани во суперблокот нема да одговараат на вистинската состојба на датотечниот систем.

Суперблокот ја има следната структура

Име на теренот

Тип

Коментар

s_inodes_count

УЛОНГ

Број на иноди во датотечниот систем

s_blocks_count

УЛОНГ

Број на блокови во датотечниот систем

s_r_blocks_count

УЛОНГ

Број на блокови резервирани за суперкорисник

s_free_blocks_count

УЛОНГ

Бесплатен бројач на блокови

s_free_inodes_count

УЛОНГ

Бесплатен иноден бројач

s_first_data_block

УЛОНГ

Првиот блок што содржи податоци. Во зависност од големината на блокот, ова поле може да биде или 0 или 1.

s_log_block_size

УЛОНГ

Индикатор за големина на логички блок: 0 = 1 KB; 1 = 2 KB; 2 = 4 KB.

s_log_frag_size

ДОЛГ

Индикатор за големина на фрагмент (се чини дека концептот на фрагмент во моментов не се користи)

s_blocks_по_група

УЛОНГ

Број на блокови во секоја група блокови

s_frags_по_група

УЛОНГ

Број на фрагменти во секоја група блокови

s_inodes_по_група

УЛОНГ

Број на иноди (иноди) во секоја блок група

s_mtime

УЛОНГ

Времето на последното монтирање на датотечниот систем.

s_wtime

УЛОНГ

Време кога последен пат бил напишан датотечниот систем

s_mnt_count

УШОРТ

Број на монтирања на датотечен систем. Ако овој бројач ја достигне вредноста наведена во следното поле (s_max_mnt_count), датотечниот систем мора да се провери (ова се прави при рестартирање), а бројачот се ресетира на нула.

s_max_mnt_count

КРАТКО

Број кој одредува колку пати датотечниот систем може да се монтира

s_magic

УШОРТ

„Магичен број“ (0xEF53) што покажува дека датотечниот систем е од типот ex2fs

s_state

УШОРТ

Знамиња што ја покажуваат моменталната состојба на датотечниот систем (дали е чист, итн.)

s_грешки

УШОРТ

Знамиња кои ги специфицираат процедурите за обработка на пораки за грешка (што да направите ако се најдат грешки).

s_pad

УШОРТ

полнење

s_lastcheck

УЛОНГ

Време на последната проверка на датотечен систем

s_checkinterval

УЛОНГ

Максимален временски период помеѓу проверките на датотечниот систем

s_creator_os

УЛОНГ

Означување на типот на ОС во кој е креиран датотечен систем

s_rev_level

УЛОНГ

Верзија (ниво на ревизија) на датотечен систем.

s_резервирано

УЛОНГ

Пополнување до 1024 бајти

По суперблокот е описот на групата блокови (Групни дескриптори). Овој опис е низа со следнава структура.

Име на теренот

Тип

Цел

bg_block_bitmap

УЛОНГ

Адреса на блокот што ја содржи блок битмапата на дадената група

bg_inode_bitmap

УЛОНГ

Адреса на блокот што ја содржи битмапата на инодата на оваа група

bg_inode_table

УЛОНГ

Адреса на блокот што ја содржи табелата со иноди од оваа група

bg_free_blocks_count

УШОРТ

Бројач на бројот на слободни блокови во оваа група

bg_free_inodes_count

УШОРТ

Број на бесплатни иноди во оваа група

bg_used_dirs_count

УШОРТ

Број на иноди во оваа група кои се директориуми

bg_pad

УШОРТ

полнење

bg_резервирана

УЛОНГ

полнење

Големината на описот на блок групата може да се пресмета како (block_group_size_in_ext2 * број_на_групи) / block_size(заокружено ако е потребно).

Информациите зачувани во описот на групата се користат за пронаоѓање на битмапите на блок и инода и табелата на инода. Запомнете дека блоковите и групите блокови се нумерирани почнувајќи од 1.

Блок битмапа е структура, од која секој бит покажува дали блокот што одговара на него е доделен на која било датотека. Ако битот е 1, тогаш блокот е зафатен. Оваа мапа се користи за пребарување на слободни блокови во случаи кога е неопходно да се одвои простор за датотека. Битмапата на блокот зафаќа број на блокови еднаков на (број_на_блокови_во_групата / 8) / блок_големина(заокружено ако е потребно).

Инодната битмапа врши слична функција како и табелата на инода: покажува кои иноди се зафатени.

Следната област во структурата на групата блок се користи за складирање на табелата на датотеката inode. Структурата на самата инода е подетално разгледана во следниот потсекција.

Па, и конечно, целиот преостанат простор во групата блокови е наменет за складирање на вистинските датотеки.

Датотечниот системлок 2 се карактеризира со:

  • хиерархиска структура,
  • координирана обработка на низи на податоци,
  • динамична екстензија на датотека,
  • заштита на информации во датотеки,
  • третирање на периферните уреди (како што се терминали и ленти) како датотеки.

Внатрешно претставување на датотеки

Секоја датотека во Ext 2 систем има единствен индекс. Индексот ги содржи информациите што му се потребни на секој процес за пристап до датотеката. Обработува пристап до датотеките користејќи добро дефиниран сет на системски повици и ја идентификува датотеката со низа знаци што делува како име на патеката на датотеката. Секое сложено име уникатно идентификува датотека, поради што кернелот на системот го претвора ова име во индекс на датотека.Индексот вклучува табела со адреси каде што информациите за датотеката се наоѓаат на дискот. Бидејќи секој блок на дискот е адресиран со неговиот број, оваа табела складира збирка броеви на блокови на дискови. За да се зголеми флексибилноста, кернелот додава по еден блок на датотеката, овозможувајќи информациите за датотеката да се расфрлаат низ датотечниот систем. Но, таквиот распоред ја комплицира задачата за наоѓање податоци. Табелата за адреси содржи список на броеви на блокови кои содржат информации што припаѓаат на датотека, но едноставните пресметки покажуваат дека е тешко да се управува со линеарна листа на блокови на датотеки во индекс. Со цел структурата на малиот индекс да работи со големи датотеки, табелата со адреси на блокот на дискот е усогласена со структурата прикажана на Слика 1

Повеќето датотеки во системот Ext 2 се помали од 10 KB или дури 1 KB!Со оглед на тоа што 10 KB од датотеката се во директни адресни блокови, повеќето од податоците складирани во датотеките може да се пристапат со еден пристап на дискот. Затоа, за разлика од пристапот до големи датотеки, работата со датотеки со стандардна големина е брза.

Датотека иноди

Секоја датотека на дискот има една и само една датотека инода, која се идентификува со нејзиниот реден број, инодата на датотеката. Ова значи дека бројот на датотеки што може да се креираат во датотечниот систем е ограничен со бројот на иноди, кој е или експлицитно поставен кога датотечниот систем се креира или се пресметува од физичката големина на партицијата на дискот. Инодите постојат во статичка форма на дискот и кернелот ги чита во меморијата пред да работи со нив.

Датотеката inode ја има следнава структура:

Име на теренот

Тип

Опис

I_mode

УШОРТ

Видот и дозволите на оваа датотека.

I_uid

УШОРТ

ИД на сопственикот на датотеката (Сопственик Uid).

I_size

УЛОНГ

Големина на датотеката во бајти.

I_atime

УЛОНГ

Времето на последниот пристап до датотеката (Време за пристап).

I_ctime

УЛОНГ

Време на создавање датотека.

I_mtime

УЛОНГ

Времето кога датотеката е последен пат изменета.

I_dtime

УЛОНГ

Време на бришење датотека.

I_gid

УШОРТ

ИД на групата (GID).

Јас_бројам врски

УШОРТ

Врските се бројат.

I_blocks

УЛОНГ

Бројот на блокови окупирани од датотеката.

Јас_знамиња

УЛОНГ

Знамиња на датотеки (Знамиња на датотека)

Јас_резервиран1

УЛОНГ

Резервирано за ОС

I_block

УЛОНГ

Покажувачи на блокови во кои се запишани податоците за датотеката (пример за директно и индиректно адресирање на Сл. 1)

I_верзија

УЛОНГ

Верзија на датотека (за NFS)

I_file_acl

УЛОНГ

Датотека ACL

I_dir_acl

УЛОНГ

директориум ACL

I_faddr

УЛОНГ

Адреса на фрагмент

I_frag

УЧАР

Број на фрагмент

I_fsize

УЧАР

Големина на фрагмент

I_pad1

УШОРТ

полнење

Јас_резервиран2

УЛОНГ

резервирани

Полето за тип на датотека и дозволи е збор од два бајти, од кој секој бит служи како знаменце што покажува дали датотеката е поврзана со одреден тип или поставување на една специфична датотека десно.

Идентификатор

Значење

Цел на знамето (поле)

S_IFMT

F000

Маска за тип на датотека

S_IFSOCK

A000

Сокет за домен (сокет)

S_IFLNK

C000

S_IFREG

8000

Нормална (обична) датотека

S_IFBLK

6000

Блокирај ориентиран уред

S_IFDIR

4000

Каталог

S_IFCHR

2000

Уред ориентиран кон бајти (карактер).

S_IFIFO

1000

Именувана цевка (fifo)

S_ISUID

0800

SUID - промена на битот за сопственост

S_ISGID

0400

SGID - бит за промена на групата

S_ISVTX

0200

Задача леплива малку

S_IRWXU

01C0

Маска за правата на сопственикот на датотеката

S_IRUSR

0100

Право на читање

S_IWUSR

0080

Напиши правилно

S_IXUSR

0040

Право на настап

S_IRWXG

0038

Маска за групни права

S_IRGRP

0020

Право на читање

S_IWGRP

0010

Напиши правилно

S_IXGRP

0008

Право на настап

S_IRWXO

0007

Маска за права за други корисници

S_IROTH

0004

Право на читање

S_IWOTH

0002

Напиши правилно

S_IXOTH

0001

Право на настап

Меѓу инодите, има неколку иноди кои се резервирани за посебни намени и играат посебна улога во датотечниот систем. Ова се следните дескриптори

Идентификатор

Значење

Опис

EXT2_BAD_INO

Инод што ги наведува адресите на лошите блокови на дискот (Bad blocks inode)

EXT2_ROOT_INO

Инодот на root директориумот на датотечниот систем (Root inode)

EXT2_ACL_IDX_INO

ACL инода

EXT2_ACL_DATA_INO

ACL инода

EXT2_BOOT_LOADER_INO

Инод на подигнувач

EXT2_UNDEL_DIR_INO

Избришете го директориумот inode

EXT2_FIRST_INO

Прва безрезервна инода

Најважната рачка на оваа листа е рачката до root директориумот. Овој дескриптор укажува на root директориумот, кој, како и сите директориуми, се состои од записи со следнава структура:

Име на теренот

Тип

Опис

инода

УЛОНГ

иноден број (индекс) на датотеката

rec_len

УШОРТ

Должината на овој запис

име_лен

УШОРТ

Должина на името на датотеката

Име

ЦАР

Име на датотека

Еден запис од директориумот не може да ја премине границата на блокот (односно, мора да биде целосно лоциран во еден блок). Затоа, ако следниот запис не се вклопува целосно во овој блок, тој се пренесува во следниот блок, а претходниот запис продолжува така што го пополнува блокот до крај.

Слика 1 Блокови на директно и индиректно адресирање во индексот

Слика 2 Големина на датотека во бајти со големина на блок од 1 KB

Слика 3. Пример за индекс на диск

Слика 3 ја прикажува диск инодот на датотеката. Оваа inode припаѓа на обична датотека чиј сопственик е „mjb“ и чија големина е 6030 бајти. Системот му овозможува на корисникот „mjb“ да ја чита, пишува и извршува датотеката; На членовите на групата „os“ и на сите други корисници им е дозволено само да ја читаат или извршуваат датотеката, а не да пишуваат податоци во неа. Досието последен пат е прочитано на 23 октомври 1984 година во 13:45 часот, последен пат напишано на 22 октомври 1984 година во 10:30 часот. Индексот последен пат е променет на 23 октомври 1984 година во 13:30 часот, иако во тој момент не била напишана информација во датотеката. Јадрото ги кодира сите горенаведени податоци во индекс. Забележете ја разликата во пишувањето на дискот на содржината на индексот и содржината на датотеката. Содржината на датотеката се менува само кога датотеката е напишана во. Содржината на индексот се менува и кога се менува содржината на датотеката и кога се менуваат сопственикот на датотеката, правата за пристап и множеството покажувачи. Промената на содржината на датотеката автоматски предизвикува корекција на индексот, но корекција на индексот не значи промена во содржината на датотеката.

Каталози

Директориумите се датотеки што ја сочинуваат хиерархиската структура на датотечниот систем; тие играат важна улога во претворањето на името на датотеката во иноден број. Директориум е датотека чија содржина е збир на записи што се состои од иноден број и име на датотека вклучени во директориумот. Сложеното име е низа од знаци кои се завршуваат со празен знак и се одделени со коса црта („/“) на повеќе компоненти. Секоја компонента, освен последната, мора да биде име на директориум, но последната компонента може да биде име на датотека што не е директориум. Верзијата V на системот UNIX ја ограничува секоја компонента на 14 знаци; така, заедно со 2-те бајти доделени на бројот на инодата, големината на записот во директориумот е 16 бајти.

Поместување на бајти
внатре во директориумот

Број на индекс
(2 бајти)

Имедатотека

1798

во тоа

1276

fsck

clri

1268

motd

1799

монтирање

mknod

2114

passwd

1717

износ

1851

листа за проверка

fsdbld

конфигурација

1432

гети

несреќа

mkfs

Слика 4 /etc формат на директориумот

Слика 4 го прикажува форматот на директориумот „etc“. Секој директориум содржи датотеки чиишто имиња се точка и две точки („“ и „..“) и чиишто инодни броеви се совпаѓаат со индексните броеви на дадениот директориум и родителскиот именик, соодветно. Број на индекс за датотеката "." во директориумот „/etc“ има адреса со поместување 0 и вредност 83. Инодниот број за датотеката „..“ има адреса на офсет 16 од почетокот на директориумот и вредност 2. Записите во директориумот може да бидат празни, а Инодниот број е 0. На пример, записот на адресата 224 во директориумот „/etc“ е празен, иако некогаш содржел влезна точка за датотека со име „crash“. Програмата mkfs го иницијализира датотечниот систем така што inode броевите за "." и „..“ во root директориумот одговараат на root inode бројот на датотечниот систем.

Јадрото складира податоци во директориум исто како што тоа го прави во обичен тип на датотека, користејќи структура на индекс и блокови со директни и индиректни нивоа на адреса. Процесите можат да читаат податоци од директориуми на ист начин како што читаат обични датотеки, но ексклузивен пристап за запишување до директориумот е резервиран од кернелот за да се осигура дека структурата на директориумот е точна. Дозволите за директориум ги имаат следните значења: дозволата за читање им дава можност на процесите да читаат податоци од директориумот; Дозволата за пишување му овозможува на процесот да креира нови записи во директориумот или да ги брише старите (со користење на системските операции creat, mknod, link и unlink), што ја менува содржината на директориумот; правото на извршување му овозможува на процесот да пребарува директориум по име на датотека (бидејќи „извршувањето“ на директориумот е бесмислено).

Кога процесот користи патека на датотека, кернелот ги пребарува директориумите за соодветниот број на инода. Откако името на датотеката ќе се претвори во број на инода, таа инода се става во меморијата и потоа се користи во следните барања.

Концептот на Unix датотечен систем го вклучува концептот на врска. Една инода може да се поврзе со неколку имиња на датотеки. Описникот содржи поле кое го содржи бројот со кој е поврзана датотеката. Додавањето врска се состои од создавање на запис во директориум каде што бројот на инодата покажува на друга инода и зголемување на бројачот на врски во дескрипторот. Кога референцата се отстранува, јадрото го намалува референтниот бројач и ја отстранува рачката ако тој бројач стане нула.

Таквите врски се нарекуваат тврди врски и можат да се користат само во еден датотечен систем (не можете да креирате врска за датотека од друг датотечен систем). Покрај тоа, тврда врска може да укаже само на датотека (тврда врска до директориумот може да доведе до јамка во датотечниот систем).

На повеќето Unix системи, постои друг тип на врска. Овие врски, кои го содржат само името на датотеката, се нарекуваат симболични врски. Кога јадрото обработува такви врски, додека ја конвертира патеката на датотеката во инода, кернелот го заменува името на врската со содржината на дескрипторот (т.е. името на одредишната датотека) и ја реинтерпретира патеката на датотеката. Бидејќи симболичната врска не укажува на инода, можно е да се креираат врски до датотеки лоцирани на различен датотечен систем. Овие врски може да укажуваат на кој било тип на датотека, дури и ако не постои. Симболичките врски се широко користени бидејќи ги немаат истите ограничувања како тврдите врски. Сепак, тие заземаат одреден простор на дискот, каде што се наоѓаат инодата и блоковите на податоци. Нивната употреба може да доведе до одредени одложувања при конвертирање на патеката на датотеката во инода, што се должи на фактот дека при обработка на симболична врска, кернелот мора да ја реинтерпретира патеката на датотеката.

Датотеки на уредот

На оперативните системи слични на Unix, до уредите се пристапува преку специјални датотеки. Таквата датотека не зазема простор во датотечниот систем. Тоа е само пристапна точка до двигателот на уредот.

Постојат два вида датотеки на уредот: знак и блок. Кога се користи типот на знаци, можно е да се разменуваат податоци со уредот само во режим на знаци, додека датотеките на уредот од типот блок дозволуваат да се разменуваат само блокови со помош на бафер. Кога е поднесено барање за влез/излез до датотека на уред, барањето се пренасочува до соодветниот двигател на уредот. Секоја таква датотека има главен број што го идентификува типот на уредот и помал број што го идентификува самиот уред.

Дополнителни карактеристики на EXT2fs

Покрај стандардните функции на Unix, EXT2fs обезбедува некои дополнителни функции кои вообичаено не се поддржани од датотечните системи на Unix.

Атрибутите на датотеката ви дозволуваат да го промените начинот на кој кернелот реагира кога работите со множества датотеки. Можете да поставите атрибути на датотека или директориум. Во вториот случај, датотеките создадени во овој директориум ќе ги наследат овие атрибути.

За време на монтирање на системот, може да се постават некои карактеристики поврзани со атрибутите на датотеката. Опцијата за монтирање му овозможува на администраторот да избере како се креираат датотеките. На датотечен систем специфичен за BSD, датотеките се креираат со истиот ID на групата како и родителскиот директориум. Карактеристиките на System V се нешто посложени. Ако е поставен битот setgid на директориумот, тогаш генерирани датотекиго наследуваат ID на групата на тој директориум, а поддиректориумите го наследуваат ID на групата и битот setgid. Во спротивно, датотеките и директориумите се креираат со примарната група ID на процесот на повикување.

Системот EXT2fs може да користи синхрона модификација на податоци како BSD систем. Опцијата за монтирање му овозможува на администраторот да одреди сите податоци (дескриптори на индекси, блокови на битови, индиректни блокови и блокови на директориуми) да се запишуваат синхроно на дискот кога се менуваат. Ова може да се користи за да се постигне висока пропусност на запишување, но исто така резултира со слаби перформанси. Всушност, оваа функција вообичаено не се користи, бидејќи освен што ги намалува перформансите, може да доведе до губење на кориснички податоци кои не се означени при проверка на датотечниот систем.

EXT2fs ви овозможува да ја изберете големината на логичкиот блок кога креирате датотечен систем. Може да биде со големина од 1024, 2048 или 4096 бајти. Употребата на големи блокови води до побрзи I/O операции (бидејќи се намалува бројот на барања до дискот) и, следствено, до помало движење на главите. Од друга страна, употребата на големи блокови доведува до губење простор на дискот. Обично последниот блок од датотеката не се користи целосно за складирање на информации, така што со зголемување на големината на блокот, количината на потрошен простор на дискот се зголемува.

EXT2fs ви овозможува да користите забрзани симболички врски. Кога се користат такви врски, датотечните блокови на податоци не се користат. Името на дестинациската датотека не е зачувана во податочниот блок, туку во самата инода. Оваа структура ви овозможува да заштедите простор на дискот и да ја забрзате обработката на симболични врски. Се разбира, просторот резервиран за рачката е ограничен, така што секоја врска не може да се претстави како забрзана врска. Максималната должина на името на датотеката во забрзана врска е 60 знаци. Во блиска иднина се планира да се прошири оваа шема за мали датотеки.

EXT2fs ја следи состојбата на датотечен систем. Јадрото користи посебно поле во суперблокот за да ја покаже состојбата на датотечниот систем. Ако датотечниот систем е монтиран во режим за читање/запишување, тогаш неговата состојба е поставена на „Не чист“. Ако е демонтирана или повторно монтирана во режим само за читање, тогаш неговата состојба е поставена на „Clean“. За време на здравствените проверки на системот за подигање и датотечниот систем, оваа информација се користи за да се утврди дали е потребна проверка на датотечниот систем. Јадрото поставува и некои грешки во ова поле. Кога кернелот ќе открие недоследност, датотечниот систем е означен како „Погрешен“. Проверката на датотечниот систем ги тестира овие информации за да го провери системот, дури и ако неговата состојба е всушност „Чиста“.

Игнорирањето на тестирањето на датотечниот систем долго време понекогаш може да доведе до одредени потешкотии, така што EXT2fs вклучува два методи за редовна проверка на системот. Суперблокот содржи бројач за монтирање на системот. Овој бројач се зголемува секој пат кога системот е монтиран во режим за читање/запишување. Ако неговата вредност ја достигне максималната вредност (исто така е зачувана во супер блок), тогаш рутината за тестирање на датотечниот систем извршува проверка на датотечен систем дури и ако неговата состојба е „Чиста“. Времето на последната проверка и максималниот интервал помеѓу проверките се исто така зачувани во суперблокот. Кога ќе се достигне максималниот интервал помеѓу проверките, состојбата на датотечниот систем се игнорира и неговата проверка се започнува.

Системот EXT2fs содржи можности за негово подесување. Програмата tune2fs може да се користи за промена:

  • дејства при откривање на грешка. Ако кернелот открие несовпаѓање, датотечниот систем е означен како „Погрешен“ и може да се изврши едно од трите следни дејства: да продолжи со извршувањето, повторно да го монтира датотечниот систем во режим само за читање за да избегне оштетување, рестартирајте го системот за да проверите датотечен систем.
  • максимална вредност на монтирање.
  • максимален интервал помеѓу проверките.
  • бројот на логички блокови резервирани за root корисникот.

Опциите за монтирање може да се користат и за промена на начинот на кој кернелот открива грешка.

Употребата на атрибути им овозможува на корисниците да бришат тајни датотеки. Кога ќе се избрише таква датотека, случајните информации се запишуваат во блоковите што претходно биле користени за поставување на оваа датотека. Ова ги спречува аутсајдерите да добијат пристап до претходната содржина на оваа датотека користејќи уредувач на дискови.

Нови типови датотеки неодамна беа додадени во EXT2fs, преземени од датотечен систем 4.4 BSD. Датотеките од првиот тип можат да бидат само за читање: никој нема право да ги менува или брише. Ова може да се користи за заштита на важни конфигурациски датотеки. Друг тип на датотеки се датотеките што може да се отворат во режим на пишување, а податоците може да се додадат само на крајот на оваа датотека. Датотеките од овој тип не можат да се избришат или преименуваат. Тие можат да се користат како датотеки за дневници, кои можат да растат само во големина.

Оптимизација на перформансите

Системот EXT2fs содржи многу функции кои ги оптимизираат неговите перформанси, што доведува до зголемување на брзината на размена на информации при читање и пишување датотеки.

EXT2fs многу го користи баферот на дискот. Кога блокот треба да се прочита, кернелот издава барање за влез/излез до неколку соседни блокови. Така, кернелот се обидува да се осигура дека следниот блок што треба да се прочита е веќе вчитан во баферот на дискот. Ваквите операции обично се вршат при последователно читање датотеки.

Системот EXT2fs содржи и голем број оптимизации за распоред на информации. Блок групите се користат за групирање соодветни иноди и блокови на податоци. Јадрото секогаш се обидува да ги стави податочните блокови на една датотека во истата група, како и неговиот дескриптор. Ова е наменето да го намали движењето на главите на погоните при читање на дескрипторот и неговите соодветни блокови на податоци.

Кога пишувате податоци во датотека, EXT2fs предодвојува до 8 соседни блокови кога поставува нов блок. Овој метод ви овозможува да постигнете високи перформанси со големо оптоварување на системот. Исто така, овозможува доделени соседни блокови за датотеките, што го забрзува нивното последователно читање.

EXT2fs библиотека

За да се поедностави користењето на ресурсите EXT2fs и да се управува со контролните структури на овој датотечен систем, развиена е библиотеката libext2fs. Оваа библиотека содржи функции што може да се користат за дефинирање и менување на податоците од датотечниот систем EXT2 со директно пристапување до физичкиот уред.

Повеќето алатки за EXT2fs (mke2fs, e2fsck, tune2fs, dumpe2fs, debugfs, итн.) ја користат оваа библиотека. Ова во голема мера ја поедноставува модификацијата на овие алатки, бидејќи сите промени за воведување дополнителни функции во датотечен систем EXT2fs треба да се прават само во библиотеката EXT2fs.

Бидејќи интерфејсот на библиотеката EXT2fs е прилично широк и апстрактен, може да се користи за лесно пишување програми кои бараат директен пристап до датотечниот систем. На пример, библиотеката EXT2fs се користеше за време на исфрлањето и обновувањето на 4.4 BSD на некои комунални услуги. Беа потребни многу малку промени за да се прилагодат овие алатки на Linux (моравме да замениме неколку функции што комуницираат со датотечниот систем со повици до библиотеката EXT2fs).

Библиотеката EXT2fs обезбедува пристап до операциите на неколку класи. Првата класа се операции поврзани со датотечен систем. Секоја програма може да отвори или затвори датотечен систем, да чита или запише блок од битови, да креира нов датотечен систем на диск. Исто така, постојат функции за манипулирање со списокот на лоши блокови во датотечниот систем.

Втората класа на операции се занимава со директориуми. Програма што ја користи библиотеката EXT2fs може да креира или прошири директориум, како и да додава или отстранува записи во директориумот. Постојат функции и за одредување по инодата на патеката на датотеката и за одредување на патеката до датотеката со наведениот дескриптор.

Последната класа на операции работи на индексни дескриптори. Можно е да се прочита табелата со дескриптори, да се прочита или да се запише дескрипторот, да се прегледаат сите блокови од наведениот дескриптор. Можно е да се користат функциите за распределба и ослободување за блокови и дескриптори.

Системски алатки EXT2fs

Развиени се моќни контроли за системот EXT2fs. Овие алатки се користат за креирање, менување и поправка на какви било недоследности во датотечните системи EXT2fs. Програмата mke2fs се користи за монтирање на партиција на диск што содржи празен датотечен систем EXT2fs.

Програмата tune2fs може да се користи за прилагодување на параметрите на датотечниот систем. Може да се користи за промена на одговорот на грешки, максималниот број на системски монтирања, максималниот интервал помеѓу системските проверки и бројот на логички блокови резервирани за root корисникот.

Можеби најинтересната алатка е проверката на датотечниот систем. E2fsck е дизајниран да ги поправа недоследностите во датотечниот систем по неточно исклучување на целиот систем. Почетната верзија на програмата e2fsck се базира на програмата Linus Torvald fsck за датотечен систем Minix. Сепак, тековната верзија на програмата се препишува со помош на библиотеката EXT2fs и е побрза и може да поправи повеќе грешки во системот кога ќе се провери, во споредба со оригиналната верзија.

Програмата e2fsck е дизајнирана да работи што е можно побрзо. Бидејќи програмите за проверка на датотечниот систем доведуваат до вчитување на дискот, алгоритмите e2fsck треба да се оптимизираат на таков начин што структурите на датотечниот систем се пристапуваат многу поретко. Покрај тоа, редоследот на проверка на иноди и директориуми ќе се изврши по број на блок за да се намали времето на поместување на главите на дискот.

Во првиот премин, e2fsck поминува низ сите иноди на датотечниот систем и ја проверува секоја инода како посебен елемент на системот. Така, овој тест не ги проверува другите објекти во датотечниот систем. Една од целите на ваквите проверки е да се провери постоењето на типот на датотеката што се проверува, како и кореспонденцијата на сите блокови во дескрипторот со блокови со постоечки броеви. Во првиот премин, битмапите се проверуваат што укажува на употреба на блокови и дескриптори.

Ако e2fsck најде податочни блокови чии броеви се содржани во повеќе од еден дескриптор, тогаш бегството од 1B до 1D се извршува за да се реши несовпаѓањето, или со зголемување на споделените блокови или со бришење на еден или повеќе дескриптори.

Првото поминување одзема најмногу време, бидејќи сите иноди мора да се прочитаат во меморијата и да се проверат. За да се намали времето на I/O операции во следните поминувања, сите потребни информации остануваат во баферот. Карактеристична карактеристика на оваа шема е пребарувањето за сите блокови директориуми во датотечниот систем. За да се добијат овие информации, во вториот премин, структурите на дескриптори на сите директориуми на датотечниот систем се читаат одново.

Во вториот премин, директориумите се проверуваат како посебни елементи на датотечен систем. Секој блок на директориуми се проверува посебно, без повикување на други блокови на директориуми. Ова му овозможува на e2fsck да ги сортира сите блокови на директориуми по број на блок и да ги провери во растечки редослед, со што се намалува времето за пристап на дискот. Блоковите на директориуми се тестираат за да се потврди дека нивните записи се валидни и дека содржат референци до дескриптори со постоечки броеви (како што е утврдено во првиот премин).

За првиот блок на директориуми во секој дескриптор на директориуми, се проверува постоењето на записи ".". и „..“, и дека бројот на дескрипторот за записот „." одговара на тековниот директориум. (Бројот на дескрипторот за записот „..“ не се тестира до третото поминување.)

За време на второто поминување, информациите што одговараат на родителскиот директориум се зачувуваат во баферот.

Треба да се забележи дека до крајот на второто поминување, речиси сите операции на влез/излез на дискот се завршени. Сите информации потребни за третото, четвртото и петтото поминување се чуваат во меморијата, меѓутоа, преостанатите поминувања се интензивни на процесорот и заземаат помалку од 5-10% од вкупното извршување на e2fsck.

Во третото поминување, се проверуваат врските со директориуми. E2fsck ги проверува патеките на секој директориум кон коренот користејќи ги информациите добиени за време на вториот премин. Го проверува и записот „..“ за секој директориум. Сите директориуми идентификувани по проверката и не се поврзани со root се сместени во директориумот /lost+found.

Во четирикратното време, E2FSCK ги достигнува референците за секој индексен дескиптоп со примена на сите дескипти и интерпретација на референците (оваа информација е попладне) со домородните броила, чии вредности се пресметани во вториот и на тој начин.Куперс. Сите неизбришани датотеки со референтен број нула се исто така сместени во директориумот /lost+found.

И, конечно, во петтиот премин, e2fsck проверува дали сите информации за датотечниот систем се совпаѓаат. Овде, битмапите на блокот и дескрипторот што беа добиени во претходните премини се споредуваат со вистинските вредности и, доколку е потребно, соодветно се коригираат информациите на дискот.

Друга корисна алатка е дебагерот на датотечниот систем. Debugfs е моќна програма која ви овозможува да ја одредите и поставите состојбата на датотечен систем. Во суштина, тоа е интерактивен интерфејс за библиотеката EXT2fs, односно ги преведува внесените команди во повици на библиотечни функции.

Дебагфовите може да се користат за одредување на внатрешната структура на датотечен систем, рачно поправка на оштетен систем или создавање условни тестови за e2fsck. За жал, оваа програма може да го оштети датотечен систем ако не знаете како да ја користите. Користејќи ја оваа алатка, доволно е едноставно да го уништите датотечен систем. Затоа, debugfs стандардно го отвора датотечниот систем во режим само за читање. За пристап за читање/запишување, мора да биде наведена опцијата -w.

Пресметка на перформанси

Резултатите од тестот Бони се гледаат од следната табела:

Запишување знаци (Kb/s)

Блокирај пишување (Kb/s)

Презапишете (Kb/s)

Читање на знаци (Kb/s)

Блокирај читање (Kb/s)

BSD Async

BSD Sync

ext2 fs

1237

1033

Xia fs

Резултатите се доста добри за блок I/O: системот EXT2fs ги надминува другите системи. Ова се должи на оптимизациите вклучени во процедурите за распределба. Снимањето е исто така доста брзо, поради фактот што се изведува во групен режим. Големата брзина на читање се должи на фактот што блоковите се доделени на датотеката, така што главите на погонот не се движат помеѓу две читања и оптимизацијата за претходно читање е целосно оперативна.

Од друга страна, системот FreeBSD функционира подобро со влез/излез на знаци. Можеби ова се должи на фактот што FreeBSD и Linux користат различни процедури во нивните соодветни C библиотеки. Покрај тоа, FreeBSD најверојатно ќе има пооптимизирана библиотека за читање знаци, и затоа перформансите овде се малку подобри.

Резултати од тестот Ендру

Резултатите од тестот на Ендру се видливи од следната табела:

Поминете 1 Создавање

Поминете 2 Копирај

Поминете 3 проверка на статусот

Поминете проверка од 4 бајти

Поминете 5 компилација

2203

7391

6319

17466

75314

BSD Sync

2330

7732

6317

17499

75681

ext2 fs

Резултатите од првите две поминувања покажуваат дека Linux победува со асинхрона комуникација. Кога се креираат директориуми и датотеки, системот BSD запишува дескриптори на директориуми и записи во директориумот синхроно. Постојат шпекулации дека асинхроната поддршка за FreeBSD сè уште не е целосно имплементирана.

Во третиот премин, вредностите за Linux и BSD се многу слични. Иако перформансите на BSD се подобри, додавањето тампон за имиња на датотеки во VFS на системот Linux го елиминира овој проблем.

Во четвртиот и петтиот премин, Linux е побрз од FreeBSD, главно поради употребата на заедничко управување со баферот. Големината на баферот може да расте по потреба и да зафаќа повеќе меморија од FreeBSD, која користи фиксна количина. Споредбата на резултатите од системите EXT2fs и Xia fs покажува дека оптимизацијата вклучена во EXT2fs навистина се користи: разликата во перформансите на овие системи е околу 5-10%.

Заклучок

Датотечниот систем EXT2 е најшироко користен во круговите на корисници на Linux. Обезбедува стандардни функции на Unix и дополнителни функции. Покрај тоа, благодарение на оптимизацијата вклучена во кернелот, тој покажува одлични резултати во изведбата.

Системот EXT2fs вклучува функции кои ви дозволуваат да додавате нови функции. Некои луѓе работат на развој на екстензии за вистинскиот датотечен систем: листа за контрола на пристап Posix, обновување избришани датотекии компресија на датотеки во реално време.

Прво, системот EXT2fs беше интегриран во кернелот Линукс, а сега активно се пренесува на други оперативни системи. EXT2fs е исто така важна компонента на оперативниот систем Masix, кој моментално го развива еден од авторите.


Врв