Файлова система
Фа́йлова систе́ма — спосіб організації даних, який використовується операційною системою для збереження інформації у вигляді файлів на носіях інформації. Також цим поняттям позначають сукупність файлів та директорій, які розміщуються на логічному або фізичному пристрої.
Створення файлової системи відбувається в процесі форматування.
В залежності від організації файлів на носії даних, файлові системи можуть поділятись на:
- ієрархічні файлові системи - дозволяють розміщувати файли в каталоги;
- пласкі файлові системи - не використовують каталогів;
- кластерні файлові системи - дозволяють розподіляти файли між кількома однотипними фізичними пристроями однієї машини;
- мережеві файлові системи - забезпечують механізми доступу до файлів однієї машини з інших машин мережі;
- розподілені файлові системи - забезпечують зберігання файлів шляхом їх розподілу між кількома машинами мережі.
Сучасні файлові системи
Сучасні файлові системи (ФС) являють собою ієрархічні структури каталогів. Хоча загальна концепція всіх ФС, в принципі, однакова, в реалізації є деякі відмінності. Два вартих уваги приклади — це символи-розділювачі каталогів та чутливість до регістру. Юнікс-подібні операційні системи (ОС) (BSD, Лінукс, MacOS X) та AmigaOS використовують у якості розділювача каталогів символ похилої риски (/), в той час як DOS використовує цей символ для завдавання додаткових опцій у командному рядку, а в якості розділювача прийнято вживати символ зворотної похилої риски (\). У Microsoft Windows прийнята та ж конвенція за винятком китайської та корейської версій, де розділювачем є знак запитання (?). Версії МакОС до Х використовували у якості розділювача двокрапку; RISC OS— дефіс.
У Юнікс-подібних ОС у назві файлу може використовуватись будь-який символ за винятком похилої риски і вони чутливі до регістру.
ФС можуть бути журнальними або нежурнальними. Журнальні файлові системи пишуть інформацію двічі: спершу до журналу дій файлової системи, потім до її належного місця в звичайній файловій системі. В разі аварії система може автоматично відновлювати свій вміст до узгодженого стану програючи частину журналу. В той же час нежурнальним файловим системам потрібно зробити перевірку усієї файлової системи спеціальними програмами, такими як 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, призначеної для роботи на портативних пристроях.
MacOS X підтримує HFS+ у якості первинної ФС та кілька інших як допоміжних.
На додачу всі ці (та інші) ОС підтримують файлові системи змінних носіїв — FAT12 для дискет, Файлові системи ISO 9660 та UDF (Universal Disk Format) для компакт-дисків та DVD відповідно. Windows Vista та Лінукс з ядром версії 2.6 підтримують розширення UDF котрі дозволяють перезаписувати вміст ДВД як у звичайних дискетах.
Класифікація файлових систем
За призначенням файлові системи можна класифікувати на наступні категорії:
- Для носіїв з довільним доступом (наприклад, твердий диск): FAT32, HPFS, ext2 і ін. Останнім часом поширилися журнальовані файлові системи, такі як ext3, Reiserfs, JFS, NTFS, XFS.
- Для носіїв з послідовним доступом (наприклад, магнітні стрічки): QIC.
- Для оптичних носіїв — CD і DVD: ISO 9660, HFS, UDF.
- Віртуальні файлові системи: AEFS і ін.
- Мережні файлові системи: NFS, SMBFS, SSHFS, Gmailfs.
Приклади файлових систем
- FAT 16;
- FAT 32;
- NTFS;
- Ext2;
- Ext3;
- Ext4;
- ZFS;
- ReiserFS
- Red Hat Global File System-GFS
- ISO 9660 (також відома як CDFS - CD File System).