Файлова система: відмінності між версіями

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
[перевірена версія][очікує на перевірку]
Вилучено вміст Додано вміст
Немає опису редагування
Altegar (обговорення | внесок)
мНемає опису редагування
Мітки: Редагування з мобільного пристрою Редагування з мобільної програмки Редагування з додатка Android
 
(Не показані 47 проміжних версій 23 користувачів)
Рядок 1: Рядок 1:
'''Фа́йлова систе́ма''' — спосіб організації [[Дані|даних]], який використовується [[операційна система|операційною системою]] для збереження інформації у вигляді [[файл]]ів на [[Носій інформації|носіях інформації]]. Також цим поняттям позначають сукупність файлів та директорій, які розміщуються на логічному або фізичному пристрої. Створення файлової системи відбувається в процесі форматування.
'''Фа́йлова систе́ма''' — спосіб організації [[Дані|даних]], який використовується [[операційна система|операційною системою]] для збереження інформації як [[файл]]ів на [[Носій інформації|носіях інформації]]. Також цим поняттям позначають сукупність файлів та [[Директорія (інформатика)|директорій]], які розміщуються на логічному або фізичному пристрої.


Процес створення файлової системи називається [[форматування]].
В залежності від організації файлів на носії даних, файлові системи можуть поділятись на:
* ієрархічні файлові системи — дозволяють розміщувати файли в каталоги;
* плоскі файлові системи — не використовують каталогів;
* [[кластерні файлові системи]] — дозволяють розподіляти файли між кількома однотипними фізичними пристроями однієї машини;
* [[мережеві файлові системи]] — забезпечують механізми доступу до файлів однієї машини з інших машин [[Комп'ютерна мережа|мережі]];
* [[розподілені файлові системи]] — забезпечують зберігання файлів шляхом їх розподілу між кількома машинами мережі.


== Архітектура ==
== Сучасні файлові системи ==
Поняття файлової системи має декілька [[Шар абстракції|рівнів]] абстракції: ''логічна файлова система'' — високорівнева абстракція, яка описує можливості операційної системи для роботи з даними та описує [[Прикладний програмний інтерфейс|API]], яке дозволяє відкривати, зчитувати, записувати та закривати файли, а реалізація цих методів відбувається на нижчих рівнях абстракції.


''Віртуальна файлова система'' — це необов'язковий рівень, який підтримує в операційній системі декілька фізичних файлових систем та надає універсальні методи роботи з ними. Завдяки цьому рівню абстракції існують файлові системи над нефізичними пристроями, як, наприклад, віртуальні файлові системи (procfs, sysfs) та FUSE.
Сучасні файлові системи (ФС) являють собою ієрархічні структури каталогів. Хоча загальна концепція всіх ФС, в принципі, однакова, в реалізації є деякі відмінності. Два вартих уваги приклади — це символи-розділювачі каталогів та чутливість до регістру. [[Unix|Юнікс]]-подібні операційні системи (ОС) ([[BSD]], [[Linux]], [[MacOS X|Mac OS X]]) та [[AmigaOS]] використовують у якості розділювача каталогів символ похилої риски (/), в той час як [[DOS]] використовує цей символ для завдавання додаткових опцій у командному рядку, а в якості розділювача прийнято вживати символ зворотної похилої риски (\). У [[Microsoft Windows]] прийнята та ж конвенція за винятком китайської та корейської версій, де розділювачем є знак запитання (?). Версії MacOS до Х використовували у якості розділювача двокрапку; [[RISC OS]] — дефіс.


''Фізична файлова система'' — це рівень, який існує як дані на пристроях (дисках, розділах, тощо). Його реалізують драйвери, які працюють з даними. Вони також реалізують механізми, що пришвидшують роботу (буферізація, структури для швидшого пошуку), збільшують надійність (журналювання), вибір блоків, у яких потрібно помістити дані та інше. Переважно коли ми кажемо про різні файлові системи — NTFS, APFS, ext4 — ми маємо на увазі цей рівень.
У Юнікс-подібних ОС у назві файлу може використовуватись будь-який символ за винятком похилої риски і вони чутливі до регістру. Назви файлів у Microsoft Windows не є чутливими до регістру.


== Класифікація ==
ФС можуть бути ''журнальними'' або ''не журнальними''. Журнальні файлові системи пишуть інформацію двічі: спершу до журналу дій файлової системи, потім до її належного місця в звичайній файловій системі. В разі аварії система може автоматично відновлювати свій вміст до узгодженого стану програючи частину журналу. В той же час не журнальним файловим системам потрібно зробити перевірку усієї файлової системи спеціальними програмами, такими як [[fsck]] або [[scandisk]].
Файлових систем існує багато, десятки. Деякі з'явились історично, щоб розв'язувати певні задачі й еволюціонували, або були витісненні іншими. Саме тому існують метадані, властивості, обмеження та особливості, які різні файлові системи підтримують по різному.


Однією з таких властивостей є '''організація файлів''' на носії даних. Файлові системи можуть поділятися на:
Більшість дистрибутивів Лінукс підтримують більшість (або всі) перелічені ФС: [[ext2]], [[ext3]], [[ReiserFS]], [[Reiser4]], GFS, GFS2, OCFS, OCFS2, NILFS, XFS, [[JFS]], загалом як і [[FAT]] та [[NTFS]].
* плоскі файлові системи — вони не використовують каталогів. Це ранній етап файлових систем.
* ієрархічні файлові системи — дозволяють розміщувати файли в каталоги
Залежно від '''локальности''' комп'ютера, якому надається доступ до файлів, можна поділити файлові системи на:
*локальні файловій системи — забезпечують доступ до файлів з носіїв на локальному комп'ютері
*[[мережеві файлові системи]] — забезпечують механізми доступу до файлів однієї машини з інших машин [[Комп'ютерна мережа|мережі]]
* [[розподілені файлові системи]] — забезпечують зберігання файлів через їх розподіл між кількома машинами мережі.


Файлові системи можна класифікувати за '''особливостями носія''' на:
Microsoft Windows підтримує лише FAT12, FAT16, FAT32, та NTFS. Серед них NTFS є найефективнішою та єдиною, на котру може бути встановлена [[Windows Vista]]. [[Windows Embedded]] CE 6.0 включає також підтримку [[ExFAT]], призначеної для роботи на портативних пристроях.
* Для носіїв з послідовним доступом (наприклад, [[Магнітна стрічка|магнітні стрічки]]): [[QIC]].
* Для носіїв з [[Довільний доступ|довільним блоковим доступом]] (наприклад, [[жорсткий диск]]): [[FAT32]], [[HPFS]], [[ext2]] та ін. Останнім часом поширилися такі, як [[ext3]], [[ext4]], [[ReiserFS]], [[JFS]], [[NTFS]], [[XFS]].
* Для оптичних носіїв — [[CD]] і [[DVD]]: [[ISO 9660]], [[HFS]], [[UDF]].
* Ощадливі до перезапису (флешпам'ять) — [[F2FS]]
* Віртуальні файлові системи: AEFS, tmpfs, procfs, sysfs та ін.


Для забезпечення надійности та швидкости відновлення в разі збоїв, у деяких файлових системах було впроваджено '''журналювання'''. Таким робом файлові системи можна класифікувати як:
Mac OS X підтримує HFS+ у якості первинної ФС та кілька інших як допоміжних.
* ''не журнальовані файлові системи''
* [[Журнальована файлова система|журнальовані файлові системи]]


Журнальовані файлові системи пишуть, фіксують зміну стану інформації двічі: спершу в журналі дій файлової системи, потім до її належного місця у звичайній файловій системі. Але це допомагає в разі аварійного завершення. Система без журналювання повинна перевірити узгодженість свого стану, зчитуючи весь свій уміст такими програмами, як [[scandisk]], [[chkdsk]] або [[fsck]]. Залежно від розміру файлової системи на це можна витратити багато часу. З журналюванням до узгодженого стану можна дійти швидше, відтворюючи, перевіряючи зміни по журналу за останній час.
На додачу всі ці (та інші) ОС підтримують файлові системи змінних носіїв — FAT12 для дискет, [[Файлові системи CD-DVD|ISO 9660 та UDF]] (Universal Disk Format) для [[компакт-диск]]ів та [[DVD]] відповідно. Windows Vista та Linux з [[Лінукс (ядро)|ядром]] версії 2.6 підтримують розширення UDF, котрі дозволяють перезаписувати вміст [[DVD]] як у звичайних дискетах.


== Метадані ==
== Класифікація файлових систем ==
Окрім самих даних у файлах, файлова система зберігає додаткову інформацію про файли. Така інформація називається '''метаданими'''.


Приклади метаданих:
За призначенням файлові системи можна класифікувати на наступні категорії:

* Для носіїв з довільним доступом (наприклад, [[твердий диск]]): [[FAT32]], [[HPFS]], [[ext2]] і ін. Останнім часом поширилися [[Журнальована файлова система|журнальовані файлові системи]], такі як [[ext3]], [[Reiserfs]], [[JFS]], [[NTFS]], [[XFS]].
* ім'я файлу або шлях до файлу в ієрархічних файлових системах.
* Для носіїв з послідовним доступом (наприклад, магнітні стрічки): [[QIC]].
* розмір — це може бути об'єктивна характеристика, як кількість блоків або байтів. А також може бути заявлений розмір у разі {{Не перекладено|Розріджений файл|розріджених файлів|en|Sparse file}}.
* Для оптичних носіїв — [[CD]] і [[DVD]]: [[ISO 9660]], [[HFS]], [[UDF]].
* часові відмітки — коли був створений файл, коли його востаннє змінювали, отримували до нього доступ, архівували або навіть видалили. Залежно від файлової системи гранулярність часової відмітки може бути різною. Від наносекунд до секунд або 2-секундних інтервалів, або доби, а також діапазон можливих значень.
* Віртуальні файлові системи: AEFS і ін.
* інформація про власника, групу власника й права доступу.
* Мережні файлові системи: [[NFS]], [[SMBFS]], [[SSHFS]], [[Gmailfs]].
* квоти на використання дискового простору
* атрибути, які підтримує файлова система, наприклад, чи є файл виконуваним, доступним лише для читання, доступним лише для дозапису (журнал), стисненим, зашифрованим, файл, який потрібно архівувати.
* атрибути SELinux контексту,
* окрім звичайних файлів на файловій системі можуть бути присутні об'єкти, які для неї схожі на файли, але поведінка інша, наприклад, у UNIX каталоги — це спеціальний тип файлів. Ще окремі типи файлів — це символьні посилання, файли пристроїв, сокети.

=== Іменування файлів та каталоги ===
{{Основна стаття|Назва файлу}}
''Ім'я (назва) файлу'' — це рядок символів, що однозначно (унікально) визначає файл у просторі імен файлової системи, зазвичай це в контексті каталогу. Це головний атрибут файлу. Імена файлів будуються з правилами та обмеженнями, які заведені в операційній системі й у файловій системі.

Імена файлів мають обмеження:

* обмеження імені файлу на довжину. У перших версіях FAT12 і FAT16 використовувався фіксований розмір "8.3", який виділяв 8 байт на ім'я та 3 на [[Розширення назви файлу|розширення]]. Сучасні файлові системи дозволяють до 255 символів
* список символів, які недозволені в іменах файлів
* чутливість до регістру

У UNIX-подібних ОС у назві файлу може використовуватися будь-який символ, за винятком скісної риски, і вони чутливі до регістру.

Назви файлів у Microsoft Windows не є чутливими до регістру. Вимога неповторности та чутливість до регістру тут відіграє роль: якщо файлова система є чутливою до регістру — це, наприклад, файли File.txt FILE.TXT file.txt — це можуть бути різні файли, якщо система не чутлива до регістру. Такі імена відповідають тому самому файлу.

Каталог, директорія, тека або папка — це елемент файлової системи, який допомагає впорядковувати файли.

{{Основна|Каталог (файлова система)}}

У такому разі, крім імені файлу потрібно знати й імена каталогів, до яких цей файл належить. Таким чином формується ''шлях до файлу'' — перелік каталогів та ім'я файлу, які розділені символом-розділювачем каталогів. [[UNIX-подібні операційні системи]] ([[BSD]], [[Linux]], [[MacOS X|Mac OS X]]) та [[AmigaOS]] використовують як розділювач каталогів символ скісної риски (/), тоді як [[DOS]] використовує цей символ для задання додаткових опцій у командному рядку, а як розділювач заведено вживати символ оберненої скісної риски (\). У [[Microsoft Windows]] заведена та сама домовленість, за винятком китайської і корейської версій, де розділювачем є знак запитання (?). Версії MacOS до Х використовували як розділювач двокрапку; [[RISC OS]] — дефіс.

=== Розмір ===
'''Розмір файлу''' — це характеристика файлу скільки блоків, або байтів, він займає.

Файлові системи мають обмеження щодо розміру даних, які вони можуть зберігати. Ці обмеження зазвичай визначаються типовим розміром пристроїв зберігання даних на час розроблення файлової системи, актуальними розмірами структур даних, а також прогнозами на майбутнє. Оскільки розміри накопичувачів даних з початку своєї історії зростають експоненціально (згідно із законом Мура), нові пристрої зберігання даних часто перевищують обмеження файлової системи вже через 10–20 років після її створення. Збільшення ємности також веде до зростання потреб у функціональності та, як наслідок, до ускладнення файлових систем.

У 1980-х це була потреба обробляти дані об'ємами в сотні кілобайт. Файлові системи використовували 8–16 битні структури, які обмежували розмір файлів від сотень кілобайт (256КБ для ADFS) або декількох мегабайт (8МБ для FAT12) до сотень мегабайт.

У 1990-х перехід від 16-бітних до 32-бітних систем, об'єми жорстких дисків виросли від десятків мегабайт до десятків гігабайт. Відомим обмеженням є, наприклад, розмір файлу у 2 або 4 ГБ для файлових систем FAT32.

Файлові системи, що були розроблені після 2000-х, мають 64-бітні структури та їхні обмеження, і поки що перевищують розміри пристроїв, для яких вони були розроблені, наприклад: exFAT (128 ПБ) , NTFS (256 ТБ–8 ПБ), ext4 (1 ЕБ), XFS (8 ЕБ).

Більшість дистрибутивів Лінукс підтримують більшість (або всі) перелічені ФС: [[ext2]], [[ext3]], [[ext4]], [[Btrfs]], [[ReiserFS]], [[Reiser4]], GFS, GFS2, OCFS, OCFS2, NILFS, XFS, [[JFS]], загалом, як і [[FAT]] та [[NTFS]].

Microsoft Windows підтримує лише FAT12<!-- треба джерело та доповнення/опис.. окрему статтю про FAT12 -->, [[FAT16]], [[FAT32]], та [[NTFS]]. Серед них [[NTFS]] є найефективнішою і єдиною, на котру може бути встановлена [[Windows Vista]]. [[Windows Embedded]] CE 6.0 включає також підтримку [[ExFAT]], призначеної/рекомендованої для роботи на портативних пристроях.

Mac OS X підтримує [[HFS]]+ як первинну ФС та кілька інших як допоміжних.

=== Файлові системи малих носіїв даних ===
На додаток усі ці та інші ОС підтримують файлові системи змінних носіїв&nbsp;— FAT12 для [[Дискета|дискет]], [[Файлові системи CD-DVD|ISO 9660 та UDF]] (Universal Disk Format) для [[компакт-диск]]ів та [[DVD]] відповідно.

Windows Vista та Linux з [[Лінукс (ядро)|ядром]] версії 2.6 підтримують розширення UDF, які дозволяють перезаписувати вміст [[DVD]] як у звичайних дискетах.

== Організація простору ==
{{Розширити розділ|talk=організація дискового простору, структури швидкого пошуку, індексація, фрагментація.}}


== Приклади файлових систем ==
== Приклади файлових систем ==
* [[FAT 16]];
* [[FAT 16|FAT16]];
* [[FAT 32]];
* [[FAT 32|FAT32]];
* [[NTFS]];
* [[NTFS]];
* [[Ext2]];
* [[Ext2]];
* [[Ext3]];
* [[Ext3]];
* [[Ext4]];
* [[Ext4]];
* [[Btrfs|Btrfs;]]
* [[ZFS]];
* [[ZFS]];
* [[ReiserFS]]
* [[ReiserFS]]
Рядок 47: Рядок 108:
== Див. також ==
== Див. також ==
* [[Журнальована файлова система]]
* [[Журнальована файлова система]]
* [[Фрагментація файлової системи]]
* [[Розширення назви файлу]]
* [[Мережа зберігання даних]]
* [[Мережа зберігання даних]]
* [[Filesystem Hierarchy Standard]]
* [[Filesystem Hierarchy Standard]]
* [[Віртуальна файлова система]]
* [http://support.microsoft.com/kb/255867/UK Як створювати та змінювати розділи жорсткого диску за допомогою засобів Fdisk і Format. Microsoft]
* {{не перекладено|Перелік файлових систем|||List of file systems}}
* {{Нп5|Віртуальна файлова система|||Virtual file system}}
* {{Нп5|Перелік файлових систем|||List of file systems}}
* [[Файловий менеджер]]
* [[Файловий менеджер]]
* [[Носій даних]]
* [[Розширення файлу]]


== Посилання ==
* {{публікація|стаття
|назва = Системы управления файлами
|вид = материал к обзорной лекции № 33 для студентов специальности «Программное обеспечение информационных технологий»
|посилання = http://mf.grsu.by/UchProc/livak/b_lecture/lec33_SYF.htm
|архів = http://web.archive.org/web/20170725114452/http://mf.grsu.by:80/UchProc/livak/b_lecture/lec33_SYF.htm
|архів дата = 2017-07-25
|відповідальний = {{nobr|Е. Н. Ливак}} ({{nobr|к. т. н.}}, доц. каф. ИВТ)
|видання = [[Гродненський державний університет імені Янки Купали|Гродненский государственный университет им. Янки Купалы]]
|тип = сайт
|видання посилання =
|примітка = Дата доступу: 30.03.2018
}}
* {{cite web 2|url=http://support.microsoft.com/kb/255867/UK |title=Создание и форматирование раздела жесткого диска|info=Применимо к: Windows 7|website=Support.Microsoft.com|note=Дата последнего обновления: 14 сент. 2016 г}}
* {{cite web 2|url=https://xakep.ru/2016/10/28/file-system-secrets/|title=Файловые системы: сравнение, секреты и уникальные особенности|author=84ckf1r3|website=Xakep.ru|year=28.10.2016|lang=ru|archiveurl=https://web.archive.org/web/20170603121821/https://xakep.ru/2016/10/28/file-system-secrets/|archivedate=2017-06-03}}


{{compu-stub}}
{{compu-stub}}
{{файлові системи}}
{{без джерел|date=листопад 2013}}


[[Категорія:Системне програмне забезпечення]]
[[Категорія:Технології операційних систем]]
[[Категорія:Файлова система|*]]
[[Категорія:Файлова система|*]]

Поточна версія на 08:13, 21 квітня 2024

Фа́йлова систе́ма — спосіб організації даних, який використовується операційною системою для збереження інформації як файлів на носіях інформації. Також цим поняттям позначають сукупність файлів та директорій, які розміщуються на логічному або фізичному пристрої.

Процес створення файлової системи називається форматування.

Архітектура

[ред. | ред. код]

Поняття файлової системи має декілька рівнів абстракції: логічна файлова система — високорівнева абстракція, яка описує можливості операційної системи для роботи з даними та описує API, яке дозволяє відкривати, зчитувати, записувати та закривати файли, а реалізація цих методів відбувається на нижчих рівнях абстракції.

Віртуальна файлова система — це необов'язковий рівень, який підтримує в операційній системі декілька фізичних файлових систем та надає універсальні методи роботи з ними. Завдяки цьому рівню абстракції існують файлові системи над нефізичними пристроями, як, наприклад, віртуальні файлові системи (procfs, sysfs) та FUSE.

Фізична файлова система — це рівень, який існує як дані на пристроях (дисках, розділах, тощо). Його реалізують драйвери, які працюють з даними. Вони також реалізують механізми, що пришвидшують роботу (буферізація, структури для швидшого пошуку), збільшують надійність (журналювання), вибір блоків, у яких потрібно помістити дані та інше. Переважно коли ми кажемо про різні файлові системи — NTFS, APFS, ext4 — ми маємо на увазі цей рівень.

Класифікація

[ред. | ред. код]

Файлових систем існує багато, десятки. Деякі з'явились історично, щоб розв'язувати певні задачі й еволюціонували, або були витісненні іншими. Саме тому існують метадані, властивості, обмеження та особливості, які різні файлові системи підтримують по різному.

Однією з таких властивостей є організація файлів на носії даних. Файлові системи можуть поділятися на:

  • плоскі файлові системи — вони не використовують каталогів. Це ранній етап файлових систем.
  • ієрархічні файлові системи — дозволяють розміщувати файли в каталоги

Залежно від локальности комп'ютера, якому надається доступ до файлів, можна поділити файлові системи на:

  • локальні файловій системи — забезпечують доступ до файлів з носіїв на локальному комп'ютері
  • мережеві файлові системи — забезпечують механізми доступу до файлів однієї машини з інших машин мережі
  • розподілені файлові системи — забезпечують зберігання файлів через їх розподіл між кількома машинами мережі.

Файлові системи можна класифікувати за особливостями носія на:

Для забезпечення надійности та швидкости відновлення в разі збоїв, у деяких файлових системах було впроваджено журналювання. Таким робом файлові системи можна класифікувати як:

Журнальовані файлові системи пишуть, фіксують зміну стану інформації двічі: спершу в журналі дій файлової системи, потім до її належного місця у звичайній файловій системі. Але це допомагає в разі аварійного завершення. Система без журналювання повинна перевірити узгодженість свого стану, зчитуючи весь свій уміст такими програмами, як scandisk, chkdsk або fsck. Залежно від розміру файлової системи на це можна витратити багато часу. З журналюванням до узгодженого стану можна дійти швидше, відтворюючи, перевіряючи зміни по журналу за останній час.

Метадані

[ред. | ред. код]

Окрім самих даних у файлах, файлова система зберігає додаткову інформацію про файли. Така інформація називається метаданими.

Приклади метаданих:

  • ім'я файлу або шлях до файлу в ієрархічних файлових системах.
  • розмір — це може бути об'єктивна характеристика, як кількість блоків або байтів. А також може бути заявлений розмір у разі розріджених файлів[en].
  • часові відмітки — коли був створений файл, коли його востаннє змінювали, отримували до нього доступ, архівували або навіть видалили. Залежно від файлової системи гранулярність часової відмітки може бути різною. Від наносекунд до секунд або 2-секундних інтервалів, або доби, а також діапазон можливих значень.
  • інформація про власника, групу власника й права доступу.
  • квоти на використання дискового простору
  • атрибути, які підтримує файлова система, наприклад, чи є файл виконуваним, доступним лише для читання, доступним лише для дозапису (журнал), стисненим, зашифрованим, файл, який потрібно архівувати.
  • атрибути SELinux контексту,
  • окрім звичайних файлів на файловій системі можуть бути присутні об'єкти, які для неї схожі на файли, але поведінка інша, наприклад, у UNIX каталоги — це спеціальний тип файлів. Ще окремі типи файлів — це символьні посилання, файли пристроїв, сокети.

Іменування файлів та каталоги

[ред. | ред. код]
Докладніше: Назва файлу

Ім'я (назва) файлу — це рядок символів, що однозначно (унікально) визначає файл у просторі імен файлової системи, зазвичай це в контексті каталогу. Це головний атрибут файлу. Імена файлів будуються з правилами та обмеженнями, які заведені в операційній системі й у файловій системі.

Імена файлів мають обмеження:

  • обмеження імені файлу на довжину. У перших версіях FAT12 і FAT16 використовувався фіксований розмір "8.3", який виділяв 8 байт на ім'я та 3 на розширення. Сучасні файлові системи дозволяють до 255 символів
  • список символів, які недозволені в іменах файлів
  • чутливість до регістру

У UNIX-подібних ОС у назві файлу може використовуватися будь-який символ, за винятком скісної риски, і вони чутливі до регістру.

Назви файлів у Microsoft Windows не є чутливими до регістру. Вимога неповторности та чутливість до регістру тут відіграє роль: якщо файлова система є чутливою до регістру — це, наприклад, файли File.txt FILE.TXT file.txt — це можуть бути різні файли, якщо система не чутлива до регістру. Такі імена відповідають тому самому файлу.

Каталог, директорія, тека або папка — це елемент файлової системи, який допомагає впорядковувати файли.

У такому разі, крім імені файлу потрібно знати й імена каталогів, до яких цей файл належить. Таким чином формується шлях до файлу — перелік каталогів та ім'я файлу, які розділені символом-розділювачем каталогів. UNIX-подібні операційні системи (BSD, Linux, Mac OS X) та AmigaOS використовують як розділювач каталогів символ скісної риски (/), тоді як DOS використовує цей символ для задання додаткових опцій у командному рядку, а як розділювач заведено вживати символ оберненої скісної риски (\). У Microsoft Windows заведена та сама домовленість, за винятком китайської і корейської версій, де розділювачем є знак запитання (?). Версії MacOS до Х використовували як розділювач двокрапку; RISC OS — дефіс.

Розмір

[ред. | ред. код]

Розмір файлу — це характеристика файлу скільки блоків, або байтів, він займає.

Файлові системи мають обмеження щодо розміру даних, які вони можуть зберігати. Ці обмеження зазвичай визначаються типовим розміром пристроїв зберігання даних на час розроблення файлової системи, актуальними розмірами структур даних, а також прогнозами на майбутнє. Оскільки розміри накопичувачів даних з початку своєї історії зростають експоненціально (згідно із законом Мура), нові пристрої зберігання даних часто перевищують обмеження файлової системи вже через 10–20 років після її створення. Збільшення ємности також веде до зростання потреб у функціональності та, як наслідок, до ускладнення файлових систем.

У 1980-х це була потреба обробляти дані об'ємами в сотні кілобайт. Файлові системи використовували 8–16 битні структури, які обмежували розмір файлів від сотень кілобайт (256КБ для ADFS) або декількох мегабайт (8МБ для FAT12) до сотень мегабайт.

У 1990-х перехід від 16-бітних до 32-бітних систем, об'єми жорстких дисків виросли від десятків мегабайт до десятків гігабайт. Відомим обмеженням є, наприклад, розмір файлу у 2 або 4 ГБ для файлових систем FAT32.

Файлові системи, що були розроблені після 2000-х, мають 64-бітні структури та їхні обмеження, і поки що перевищують розміри пристроїв, для яких вони були розроблені, наприклад: exFAT (128 ПБ) , NTFS (256 ТБ–8 ПБ), ext4 (1 ЕБ), XFS (8 ЕБ).

Більшість дистрибутивів Лінукс підтримують більшість (або всі) перелічені ФС: ext2, ext3, ext4, Btrfs, ReiserFS, Reiser4, GFS, GFS2, OCFS, OCFS2, NILFS, XFS, JFS, загалом, як і FAT та NTFS.

Microsoft Windows підтримує лише FAT12, FAT16, FAT32, та NTFS. Серед них NTFS є найефективнішою і єдиною, на котру може бути встановлена Windows Vista. Windows Embedded CE 6.0 включає також підтримку ExFAT, призначеної/рекомендованої для роботи на портативних пристроях.

Mac OS X підтримує HFS+ як первинну ФС та кілька інших як допоміжних.

Файлові системи малих носіїв даних

[ред. | ред. код]

На додаток усі ці та інші ОС підтримують файлові системи змінних носіїв — FAT12 для дискет, ISO 9660 та UDF (Universal Disk Format) для компакт-дисків та DVD відповідно.

Windows Vista та Linux з ядром версії 2.6 підтримують розширення UDF, які дозволяють перезаписувати вміст DVD як у звичайних дискетах.

Організація простору

[ред. | ред. код]

Приклади файлових систем

[ред. | ред. код]

Див. також

[ред. | ред. код]

Посилання

[ред. | ред. код]