Датотечни систем

Из Википедије, слободне енциклопедије

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

Већина оперативних система зависи од одређеног датотечног система; на примјер, новија издања Мајкрософт виндоуза се могу инсталирати само на неком од подржаних датотечних система, попут NTFS и FAT32 и ниједан други датотечни систем није понуђен за вријеме инсталације, док на примјер Линукс не може да се инсталира на њима, јер не подржавају одређене могућности (симболички линкови, карактер фајлови исл.) које он као оперативни систем захтијева, него на неком од датотечних система попут Рајзера, EXT2, EXT3 итд.

Организација[уреди]

Основна идеја иза организације датотечног система је била да се подражава рад у канцеларији, гдје се предмети групишу у фасцикле, а фасцикле у веће фасцикле, ове у ормаре и тако даље. То је у датотечном систему произвело концепт директоријума, који у себи може садржати друге директоријуме и датотеке. Датотеке садрже конкретан садржај (текст, програмски код, машинске инструкције, слике, базе података итд.), док директоријуми само чувају податке о томе које датотеке и директоријуми су у њима садржани.

Примјер датотеке из Виндоуза XP, на датотечном систему чији је блок величине 4 килобајта: стварна величина датотеке је 67 бајтова, величина на диску је 4 килобајта

У позадини, датотечни систем се најчешће састоји од великог низа блокова, који су сви исте величине и који се понекад називају и секторима или кластерима (по енглеској ријечи „cluster“, која значи „скуп“, „гомилица“, „грозд“). Величина једног блока је увијек неки степен двојке бајтова (ријетко 512, најчешће 1024, 2048 или 4096 бајтова). На тај начин се постиже поравнање података, што чини учитавање и писање података бржим.

Један блок служи као најмања јединица складиштења података на датотечном систему, тј. свака датотека је смјештена у цио број блокова. На тај начин, датотека увијек има двије величине — стварну величину (колико бајтова садржи) и величину на диску (колико блокова датотечног система је захватила). Ако датотека „imenik.txt“, на примјер, садржи 5440 бајтова, а величина једног блока је 2048 бајтова, онда је стварна величина датотеке 5440 бајтова, а величина на диску је 3x2048=6144 бајтова, јер не може да стане на само два блока, тј. на простор величине 4096 бајтова. Због тога се препоручује да датотечни систем који ће садржати претежно мале датотеке буде организован у мање блокове, а дат. систем који ће садржати веће датотеке (нпр. филмове, музику итд.) у веће блокове, ради мањег губитка капацитета.

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

Стабло директоријума[уреди]

Пошто овако организовани директоријуми и датотеке по својој структури представљају стабло, онда се и сам систем овако организованих датотека и директоријума често назива управо „стабло директоријума (и датотека)“.

Илустрација стабла директоријума као обичног стабла, гдје гране представљају директоријуме, листови датотеке, а само главно стабло — корјени директоријум

Почетни директоријум, односно директоријум који није садржан ни у једном другом а који посредно или непосредно садржи све остале, назива се „корјени директоријум“, јер представља коријен комплетног стабла. По истој аналогији датотеке се називају „листовима“ овог стабла, а појединачни директоријуми унутар стабла његовим „гранама“.

Корјени директоријум се на јуниксу и Мек ОС-у обиљежава косом цртом (/) а на Мајкрософт виндоузу и DOS-у обрнутом косом цртом (\).

Путања до директоријума[уреди]

Водећи се концептом стабла директоријума, могуће је на јединствен начин, полазећи од корјеног директоријума, обиљежити сваки директоријум и датотеку који се у њему налазе. Другим ријечима, када желимо назначити одређени директоријум или датотеку, то чинимо писањем тзв. апсолутне путање, а која се састоји од набрајања свих елемената кроз које се „пролази“ да би се од корјеног директоријума дошло до дотичног директоријума или датотеке. Елементи се при набрајању, по конвенцији, раздвајају истим знаком који се користи за обиљежавање корјеног директоријума, а то је најчешће обична коса црта или обрнута коса црта (/ или \). На примјер, ако се директоријум „Filmovi“ налази у корјеном директоријуму уређаја, а у том директоријуму се налази датотека „Gladijator.avi“, на јуниксу би се та датотека могла означити сљедећом апсолутном путањом:

/Filmovi/Gladijator.avi

Дакле, почев од корјеног директоријума (/), преко директоријума „Filmovi“ долазимо до датотеке „Gladijator.avi“.

За разлику од апсолутне путање, релативна путања описује локацију датотеке или директоријума у односу на „тренутну позицију“ у датотечном систему, тј. полазећи од директоријуму у којем се корисник већ налази. На примјер, ако се датотека „player.exe“ има апсолутну путању „/Filmovi/Player/Player.exe“, а корисник се тренутно налази у директоријуму „/Filmovi“, у том тренутку релативна путања датотеке „player.exe“ је „Player/Player.exe“.

Под оперативним системом Виндоуз, за који не постоји концепт апсолутног корјеног директоријума, тј. за који постоји корјени директоријум за сваки складишни уређај и партицију на систему, апсолутна путања се додатно састоји од назнаке уређаја односно партиције на њеном почетку. Тако, на примјер, уколико се споменути директоријум „Filmovi“ налазио на примарној партицији чврстог диска, онда би апсолутна путања датотеке „player.exe“ на Виндоузу била „C:\Filmovi\Player\Player.exe“.

Подјела[уреди]

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

Дисковни датотечни системи[уреди]

Дисковни датотечни системи најчешће служе за организацију чврстих дискова, али такође за компакт-дискове, дискетне и друге. Примјери дисковних датотечних система су Рајзер, NTFS, FAT32, Ext2, Ext3, ISO 9660 и други.

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

Мрежни датотечни систем је датотечни систем који приказује слику неког удаљеног датотечног система, дозвољавајући кориснику да се према удаљеним датотекама и директоријумима понаша као да су на локалном рачунару. Примјери оваквих датотечних система су NFS, SMB и други.

Датотечни системи посебне намјене[уреди]

Датотечни системи посебне намјене су у принципу сви они датотечни системи који нису ни дисковни ни мрежни. Најчешће се користе у ситуацијама када се жели поједноставити коришћење одређених сервиса, па се сервиси представљају у облику датотека и директоријума иако то у стварности нису. Примјер је јуниксов датотечни систем „/proc“, на којем се системски процеси и особине оперативног система могу видјети у облику датотечне хијерархије.

Спољашње везе[уреди]