Лекція 7. Файлова система. Зберігання даних

7.1. Представлення інформації

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

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


Схема розміщення кластерів на носії інформації

 

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

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

Біт - найменша одиниця виміру інформації.

Особливу назву має 4 біта - ніббл, які вміщують в себе кількість інформації, що міститься в одній шістнадцятковій цифрі.

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

 

Одиниці виміру інформації

За системою СІ

Як прийнято в комп’ютерній техніці

Назва

Символ

Степінь

Назва

Символ

Степінь

байт

B

100

байт

B

20

кілобайт

KB

103

кібібайт

KiB

210

мегабайт

MB

106

мебібайт

MiB

220

гігабайт

GB

109

гібібайт

GiB

230

терабайт

TB

1012

тебібайт

TiB

240

1 KB = 1000 B                                 

1 KiB = 1024 B

 

7.2. Ієрархія каталогів

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

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

Файл -  це впорядкована сукупність даних, що зберігається на диску і займає область зовнішньої пам'яті, якій присвоюється певне ім’я

Файл обов'язково має ім'я і може мати будь-який розмір інформації (максимальний розмір залежить від файлової системи). В деяких операційних системах (Unix) файл може мати більш ніж одне ім’я (жорсткі посилання).

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

В деяких файлових системах, таких як NTFS, передбачені атрибути. Практично атрибути не впливають на можливість доступу до файлів, для цього в деяких файлових системах існують права доступу.

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

 

Типи файлів

Тип файлу

Характеристика

«Звичайний файл»

файл, що дозволяє операції читання, запису, переміщення всередині файлу

Каталог або директорія

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

Жорстке посилання

в загальному випадку, одна і та ж область інформації може мати кілька імен. Після створення жорсткого посилання сказати де «справжній» файл, а де жорстке посилання неможливо, тому що імена рівноправні. Жорсткі посилання можливі тільки на одному фізичному носії

Символьне посилання

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

 

Практично завжди файли на дисках об'єднуються в каталоги.

Каталоги на різних дисках можуть утворювати кілька окремих дерев, як в DOS/Windows, або ж об'єднуватися в одне дерево, спільне для всіх дисків, як в UNIX-подібних системах.

У UNIX існує тільки один кореневий каталог, а всі інші файли та каталоги вкладені в нього. У більшості UNIX-подібних систем знімні диски (дискети і CD), флеш-накопичувачі і інші зовнішні пристрої зберігання даних монтують в каталог /mnt, /mount або /media.

Слід звернути увагу на використання слешів у файлових системах Windows, UNIX і UNIX-подібних операційних системах (У Windows використовується зворотний слеш «\», а в UNIX і UNIX-подібних операційних системах простий слеш «/»).

Один файл може містити кілька варіантів вмісту. Таким чином, в одному файлі можна зберігати декілька версій одного документу, а також додаткові дані (значок файлу, пов'язаного з файлом програми). Така організація типова для HFS на Macintosh.

 

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

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

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

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

  • Для носіїв з довільним доступом (наприклад, жорсткий диск): FAT32, HPFS, ext2. Останнім часом поширилися журнальовані файлові системи, такі як ext3, ext4, ReiserFS, JFS, NTFS, XFS.
  • Для носіїв з послідовним доступом (наприклад, магнітні стрічки): QIC.
  • Для оптичних носіїв — CD і DVD: ISO 9660, HFS, UDF.
  • Віртуальні файлові системи: AEFS і ін.
  • Мережеві файлові системи: NFS, SMBFS, SSHFS, Gmailfs.

FAT (File Allocation Table) - таблиця розміщення файлів. Існує декілька версій FAT, а саме FAT12, FAT16, FAT32, exFAT (FAT64). Число в абревіатурі вказує розмір елемента таблиці в бітах. Одиницею розподіленої пам'яті є кластер.

Файлова система FAT32 була вперше реалізована в операційній системі Windows 95. FAT32 підтримує томи (логічні диски) обсягом до 8 ТБ.

Не можна створити в розділі FAT32 файл, розмір якого перевищує значення (2^32)-1 байт (на один байт менше, ніж 4 ГБ).

exFAT (Extended FAT) — файлова система, призначена для флеш-накопичувачів.

Основними перевагами exFAT перед попередніми версіями FAT є:

  • Зменшення кількості перезаписів одного і того ж сектора. Це було основною причиною розробки ExFAT.
  • Теоретичний ліміт на розмір файлу 264 байт (16 ексбібайт).
  • Поліпшення розподілу вільного місця за рахунок введення біт-карти вільного місця, що може зменшувати фрагментацію диска.

NTFS (New Technology File System) — стандартна файлова система для сімейства операційних систем Microsoft Windows NT.

NTFS замінила файлову систему FAT, яка використовувалася в MS-DOS і попередніх до Windows NT версіях Microsoft Windows. NTFS підтримує систему метаданих і використовує спеціалізовані структури даних для зберігання інформації про файли для поліпшення продуктивності, надійності і ефективності використання дискового простору. NTFS використовує систему журналювання для підвищення надійності файлової системи. У Файловій системі NTFS відсутнє розділення на атрибути.

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

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

HFS+ - файлова система, розроблена Apple Inc. для заміни раніше використовуваної HFS, основної файлової системи на комп'ютерах Macintosh.

APFS (Apple File System) - файлова система, розроблена Apple Inc. для заміни попередньої файлової системи HFS+. Apple File System – це нова, сучасна файлова система, розроблена компанією Apple для використання в iOS, macOS, tvOS і watchOS. Ця файлова система, оптимізована для роботи з Flash/SSD накопичувачами.

 

7.4. Задачі файлової системи

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

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

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

Остання зміна: Saturday 30 May 2020 14:36 PM