Файлова система

Матеріал з Вікі ЦДУ
Версія від 19:29, 20 січня 2013; Єршов Владислав (обговореннявнесок)

(різн.) ← Попередня версія • Поточна версія (різн.) • Новіша версія → (різн.)
Перейти до: навігація, пошук

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

Створення файлової системи відбувається в процесі форматування.

В залежності від організації файлів на носії даних, файлові системи можуть поділятись на:

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

Сучасні файлові системи

Сучасні файлові системи (ФС) являють собою ієрархічні структури каталогів. Хоча загальна концепція всіх ФС, в принципі, однакова, в реалізації є деякі відмінності. Два вартих уваги приклади — це символи-розділювачі каталогів та чутливість до регістру. Юнікс-подібні операційні системи (ОС) (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).