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

Матеріал з Wiki TNEU
Перейти до: навігація, пошук

Файлова система (англ. file system) - Порядок, що визначає спосіб організації, зберігання та іменування даних на носіях інформації. Файлова система визначає формат вмісту та фізичного зберігання інформації, яку прийнято групувати у вигляді файлів. Конкретна файлова система визначає розмір імені файлу (папки), максимальний можливий розмір файлу і розділу, набір атрибутів файлу. Деякі файлові системи надають сервісні можливості, наприклад, розмежування доступу або шифрування файлів.

Файлова система пов'язує носій інформації з одного боку і API для доступу до файлів - з іншого. Коли прикладна програма звертається до файлу, не важливо знати яким чином розташована інформація в конкретному файлі, так само, як і на якому фізичному типі носія (CD, жорсткому диску, магнітній стрічці, блоці флеш-пам'яті і т.д.) він записаний. Все, що потрібно програмі - це ім'я файлу, його розмір і атрибути. Ці дані вона отримує від драйвера файлової системи. Саме файлова система встановлює, де і як буде записаний файл на фізичному носії (наприклад, жорсткому диску).

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

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

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

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

Функції файлової системи

Основні функції будь-якої файлової системи націлені на вирішення наступних завдань:

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

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

Класифікація файлових систем

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

  • Для носіїв з довільним доступом (наприклад, жорсткий диск): 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 та інші.
  • Для флеш-пам'яті: YAFFS, ExtremeFFS, exFAT.

Трохи випадають із загальної класифікації спеціалізовані файлові системи: ZFS (власне файлової системою є тільки частина ZFS), VMFS (так звана кластерна файлова система, яка призначена для зберігання інших файлових систем) та інші.

Відомі файлові системи

Minx - стара файлова система, обмежена у своїх можливо­стях (у файлів відсутні деякі тимчасові параметри, довжина име­ні файлу не перевищує 30 символів) і доступних об'ємах (максимум 64 Мбайт на одну файлову систему).

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

Ext - попередня версія системи Ехt2. Нині практично не зустрічається.

Ext2 - найбільш багата функціональними можливостями файлова система Linux. До останнього часу була найпопулярнішою системою.

Ext3 - модернізація файлової системи Ехt2. Окрім деяких функ­циональных розширень являється журналируемой. Набула широкого поширення.

Ext4 - модернізація файлової системи Ехt3. Основною особливістю стало збільшення максимального об'єму одного розділу диска до 1 экса- байта (260байт). Крім того, в ехt4 представлений механізм пространствен­ний запису файлів (нова інформація додається в кінець заздалегідь вbдs­ленної по сусідству області файлу), що зменшує фрагментацію і що підвищує продуктивність.

VFS - віртуальна файлова система. По суті - емулятор-прошарок між реальною файловою системою (МЗ-ЭОЗ, Ехt2) і ядром операційної системи Linux.

Proc - псевдофайлова система, в якій за допомогою звичайних файло­вых операцій надається доступ до деяких параметрів і функци­ям ядра операційної системи.

ReiserFS - журналируемая файлова система. Найбільш популярна сре­ди журналируемых файлових систем для Linux.

Devfs - псевдофайлова система, в якій за допомогою звичайних файло­вых операцій надається доступ до пристроїв комп'ютера. Позво­ляет дуже гнучко працювати і конфігурувати пристрої і взаимодейст­вие з ОС.

msdos - забезпечує сумісність з системою MS - DOS.

umsdos - розширює можливості драйвера файлової системи MS - DOS для Linux таким чином, що в Linux з'являється можливість роботи з іменами файлів нестандартної довжини, перегляду прав доступу до файлу, посилань, імені користувача, якому належить файл, а також опери­рования з файлами пристроїв. Це дозволяє використовувати (емулювати) файлову систему Linux на файловій системі MS - DOS.

iso9660 - стандартна файлова система для CD - ROM.

xenix - файлова система Xenix.

sysv - файлова система System V (версія для х86).

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

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

FAT 16 — стандарт файлової системи, попередник FAT32. Підтримує максимальний розмір розділу — 2 гігабайти. Має кореневий каталог фіксованого розміру (512 записів). При розмірі розділу понад 512 мегабайт не економно використовує місце на диску через великий розмір кластера.

FAT32 — ця файлова система підтримує томи (логічні диски) обсягом до 8 ТБ і використовує для зберігання файлів менші фрагменти диска, ніж файлова система FAT16. Файлова система FAT32 не підтримує диски, менші за 512 МБ

Особисті інструменти
Простори назв

Варіанти
Дії
Навігація
Інструменти