Файлавая сістэма
Файлавая сістэма – гэта спецыфічны спосаб захоўвання і арганізацыі іменаваных даных на носьбітах інфармацыі у камп'ютарах, а таксама ў розным іншым электронным абсталяванні: лічбавых камерах, мабільных тэлефонах і г.д. Файлавая сістэма вызначае фармат зместу і спосаб фізічнага захоўвання інфармацыі, якую прынята групаваць у выглядзе файлаў. Канкрэтная файлавая сістэма вызначае памер імя файла (папкі), максімальны магчымы памер файла і падзела, набор атрыбутаў файлу. Некаторыя файлавыя сістэмы прапануюць сэрвісныя магчымасці, напрыклад, размежаванне доступу ці шыфраванне файлаў.
Файлавая сістэма звязвае носьбіт інфармацыі з аднаго боку і 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 ці /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.
Класіфікацыя файлавых сістэм
[правіць | правіць зыходнік]Па прызначэнню файлавыя сістэмы можна класіфікаваць на наступныя катэгорыі.
- Для носьбітаў з адвольным доступам (напрыклад, цвёрды дыск): FAT32, HPFS, ext2 і інш. Так як доступ да дыскаў у разы марудней, чым доступ да аператыўнай памяці, для паляпшэння прадукцыйнасці ў шматлікіх файлавых сістэмах ужываецца асінхронны запіс зменаў на дыск. Для гэтаго ужываецца альбо журналяванне, напрыклад у ext3, ReiserFS, JFS, NTFS, XFS, альбо механізм soft updates і інш. Журналяванне шырока распаўсюджана ў Linux, ужываецца ў NTFS. Soft updates — у BSD сістэмах.
- Для носьбітаў з паслядоўным доступам (напрыклад, [[магнітная стужка|магнітныя стужкі QIC і інш.
- Для аптычных носьбітаў — CD і DVD: ISO9660, HFS, UDF і інш.
- Віртуальныя файлавыя сістэмы: AEFS і інш.
- Сеткавыя файлавыя сістэмы: NFS, CIFS, SSHFS, GmailFS Архівавана 7 ліпеня 2009. і інш.
- Для флэш-памяці: YAFFS, ExtremeFFS, exFAT.
- Трошкі выпадаюць з агульнай класіфікацыі спецыялізаваныя файлавыя сістэмы: ZFS (менавіта файлавай сістэмай з'яўляецца толькі частка ZFS), VMFS (г. з. кластарная файлавая сістэма, якая прызначана для захоўвання іншых файлавых сістэм) і інш.
Задачы файлавай сістэмы
[правіць | правіць зыходнік]Асноўныя функцыі любой файлавай сістэмы накіраваны на вырашэнне наступных задач:
- іменаванне файлаў;
- праграмны інтерфейс работы з файламі для праграм;
- адлюстраванне лагічнай мадэлі файлавай сістэмы на фізічную арганізацыю сховішча даных;
- арганізацыя ўстойлівасці файлавай сістэмы да збояў сілкавання, памылак апаратных і праграмных сродкаў;
- змяшчэнне параметраў файла, неабходных для правільнага яго ўзаемадзеяння з іншымі аб'ектамі сістэмы (ядро, праграмы і інш.).
У шматкарыстальніцкіх сістэмах з'яўляецца яшчэ адна задача: ахова файлаў аднаго карыстальніка ад несанкцыянаванага доступу іншага карыстача, а таксама забеспячэнне сумеснай работы з файламі, напрыклад, пры адкрыцці файла адным з карыстальнікаў, для іншых гэты ж файл часова будзе даступны толькі ў рэжыме «толькі чытанне».
Зноскі
- ↑ У сучасных (2010 год) цвёрдых дысках, памер кластара стаў 4096 байтаў
- ↑ Тут ствараецца віртуальная файлавая сістэма, што служыць пасярэднікам паміж рознымі фарматамі файлавых сістэм.