Файлавая сістэма – гэта спецыфічны спосаб захоўвання і арганізацыі iменаваных даных на носьбітах інфармацыі у камп’ютарах, а таксама ў розным іншым электронным абсталяванні: лічбавых камерах, мабільных тэлефонах і г.д. Файлавая сістэма вызначае фармат зместу і спосаб фізічнага захоўвання інфармацыі, якую прынята групаваць у выглядзе файлаў. Канкрэтная файлавая сістэма вызначае памер імя файла (папкі), максімальны магчымы памер файла і падзела, набор атрыбутаў файлу. Некаторыя файлавыя сістэмы прапануюць сэрвісныя магчымасці, напрыклад, размежаванне доступу ці шыфраванне файлаў.
Файлавая сістэма звязвае носьбіт інфармацыі з аднаго боку і API для доступу да файлаў — з іншага. Калі прыкладная праграма звяртаецца да файла, яна не мае аніякага уяўлення аб тым, якім чынам размешчана інфармацыя ў канкрэтным файле, таксама, як і на якім фізічным тыпе носьбіта(CD, цвёрдым дыску, магнітнай стужцы, блоку флэш-памяці ці іншым) ён запісаны. Усё, што ведае праграма — гэта імя файла, яго памер і атрыбуты. Гэтыя даныя яна атрымоўвае ад драйвера файлавай сістэмы. Менавіта файлавая сістэма вызначае, дзе і як будзе запісаны файл на фізічным носьбіце (напрыклад, цвёрдым дыску).
З пункту гледжання аперацыйнай сістэмы, увесь дыск уяўляе сабой набор кластараў (як правіла, памерам 512 байтаў і болей)[1]. Драйверы файлавай сістэмы арганізуюць кластары у файлы і каталогі (якія насамрэч з’яўляюцца файламі, што ўтрымліваюць спіс файлаў у гэтым каталозе). Гэтыя ж драйверы адсочваюць, якія з кластараў у цяперашні час ужываюцца, якія вольныя, якія пазначаны няспраўнымі.
Аднак файлавая сістэма не абавязкова наўпрост звязана з фізічным носьбітам інфармацыі. Існуюць віртуальныя файлавыя сістэмы, а таксама сеткавыя файлавыя сістэмы, якія з’яўляюцца толькі спосабам доступу да файлаў, што знаходзяцца на аддаленым камп’ютары.
Практычна заўсёды файлы на дысках аб’яднаны ў каталогі.
У найпростым выпадку ўсё файлы на дадзеным дыску захоўваюцца ў адным каталогу. Такая аднаўзроўневая схема ужывалася ў CP/M і ў першай версіі MS-DOS 1.0. Іерархічная файлавая сістэма з укладзенымі адзін у другі каталогамі упершыню з’явілася ў Multics, потым у UNIX.
Wiki.txt
Tornado.jpg
Notepad.exe
(Аднаўзроўневая файлавая сістэма)
Каталогі на розных дысках могуць ствараць некалькі асобных дрэваў, як у DOS/Windows, ці ж яднацца у адно дрэва, агульнае для ўсіх дыскаў, як у UNIX-падобных сістэмах.
C:
\Program files
\CDEx
\CDEx.exe
\CDEx.hlp
\mppenc.exe
\Мае дакументы
\Wiki.txt
\Tornado.jpg
D:
\Music
\ABBA
\1974 Waterloo
\1976 Arrival
\Money, Money, Money.ogg
\1977 The Album
(Іерархічная файлавая сістэма Windows/DOS)
В UNIX існуе толькі адзін каранёвы каталог, а усе астатнія файлы і каталогі укладзены ў яго. Каб атрымаць доступ да файлаў і каталогаў на якім-небудзь дыску, патрэбна замантаваць гэты дыск камандай mount. Напрыклад, каб адчыніць файлы на CD, трэба, кажучы простай мовай, сказаць аперацыйнай сістэме: «вазьмі файлавую сістэму на гэтым кампакт-дыску і пакажы яе ў каталозе /mnt/cdrom». Усе файлы і каталогі, што знаходзяцца на CD, з’явяцца у гэтым каталозе /mnt/cdrom, які завецца пунктам мантавання (англ.: mount point).[2] У большасці UNIX-падобных сістэм здымныя дыскі (дыскеты і CD), флэш-носьбіты і іншыя вонкавыя прылады захоўвання даных мантуюць у каталог /mnt, /mount цi /media. Unix і UNIX-падобныя аперацыйныя сістэмы таксама дазваляюць аўтаматычна мантаваць дыскі пры загрузцы аперацыйнай сістэмы.
/usr
/bin
/arch
/ls
/raw
/lib
/libhistory.so.5.2
/libgpm.so.1
/home
/lost+found
/host.sh
/guest
/Pictures
/example.png
/Video
/matrix.avi
/news
/lost_ship.mpeg
(Іерархічная файлавая сістэма ў Unix і UNIX-падобных аперацыйных сістэмах)
Звярніце увагу на ужыванне слэша у файлавых сістэмах Windows, UNIX і UNIX-падобных аперацыйных сістэмах (У Windows ужываецца адваротны слэш «\», а ў UNIX і UNIX-падобных аперацыйных сістэмах просты слэш «/»)
Акрамя таго, варта адзначыць, што вышэйапісаная сістэма дазваляе мантаваць не толькі файлавыя сістэмы фізічных прылад, але і асобныя каталогі (параметр –bind) ці напрыклад вобраз ISO (опцыя loop). Такія надстройкі, як FUSE, дазваляюць таксама мантаваць целы каталог на FTP і яшчэ вельмі вялікую колькасць розных рэсурсаў.
Яшчэ больш складаная структура ужываецца ў NTFS і HFS. У гэтых файлавых сістэмах кожны файл ўяўляе сабой набор атрыбутаў. Атрыбутамі лічацца не толькі традыцыйныя толькі чытанне, сістэмны, але і назва файла, памер і нават змест. Такім чынам, для NTFS і HFS тое, што захоўваецца ў файле, — гэта толькі адзін з яго атрыбутаў.
Калі прытрымлівацца гэтай логікі, адзін файл можа ўтрымліваць некалькі варыянтаў змесціва. Такім чынам, у адным файле можна захоўваць некалькі версій аднаго дакумента, а таксама дадатковыя дадзеныя (іконка файла, звязаная з файлам праграма). Такая арганізацыя тыповая для HFS на Macintosh.
Па прызначэнню файлавыя сістэмы можна класіфікаваць на наступныя катэгорыі.
Асноўныя функцыі любой файлавай сістэмы накіраваны на вырашэнне наступных задач:
У шматкарыстальніцкіх сістэмах з’яўляецца яшчэ адна задача: ахова файлаў аднаго карыстальніка ад несанкцыянаванага доступу іншага карыстача, а таксама забеспячэнне сумеснай работы з файламі, напрыклад, пры адкрыцці файла адным з карыстальнікаў, для іншых гэты ж файл часова будзе даступны толькі ў рэжыме «толькі чытанне».