You are on page 1of 8

ТЕМА 4.

РОЗПОДІЛЕНІ ФАЙЛОВІ СИСТЕМИ


План
4.1. Сутність файлової системи
4.2. Функції файлової системи
4.3. Класифікація файлових систем
4.4. Відомі файлові системи
4.5. Розподілена файлова система
4.6. Історія виникнення розподілених файлових систем і приклади
4.7. Властивості розподілених файлових систем

4.1. Сутність файлової системи


Файлова система (англ. file system) – порядок, що визначає спосіб
організації, зберігання та іменування даних на носіях інформації. Файлова
система визначає формат вмісту та фізичного зберігання інформації, яку
прийнято групувати у вигляді файлів. Конкретна файлова система визначає
розмір імені файлу (папки), максимальний можливий розмір файлу і розділу,
набір атрибутів файлу. Деякі файлові системи надають сервісні можливості,
наприклад, розмежування доступу або шифрування файлів.
Файлова система пов'язує носій інформації з одного боку і API для
доступу до файлів – з іншого. Коли прикладна програма звертається до файлу
не важливо знати яким чином розташована інформація в конкретному файлі,
так само, як і на якому фізичному типі носія (CD, жорсткому диску,
магнітній стрічці, блоці флеш-пам'яті і т.д.) він записаний. Все, що потрібно
програмі – це ім'я файлу, його розмір і атрибути. Ці дані вона отримує від
драйвера файлової системи. Саме файлова система встановлює, де і як буде
записаний файл на фізичному носії (наприклад, жорсткому диску).
З точки зору операційної системи, весь диск являє собою набір
кластерів (як правило, розміром 512 байт і більше). Драйвери файлової
системи організують кластери у файли і каталоги (реально є файлами, що
містять список файлів у цьому каталозі). Ці ж драйвери відстежують, які з
кластерів в даний час використовуються, які вільні, марковані, несправні
тощо.
Однак, файлова система не завжди безпосередньо пов'язана з фізичним
носієм інформації. Існують віртуальні файлові системи, а також мережеві
файлові системи, які є лише способом доступу до файлів, що знаходяться на
віддаленому комп'ютері.
В залежності від організації файлів на носії даних, файлові системи
можуть поділятись на:
 ієрархічні файлові системи – дозволяють розміщувати файли в
каталоги;
 пласкі файлові системи – не використовують каталогів;
 кластерні файлові системи – дозволяють розподіляти файли між
кількома однотипними фізичними пристроями однієї машини;
 мережеві файлові системи – забезпечують механізми доступу до
файлів одного комп’ютера з інших комп’ютерів мережі;
 розподілені файлові системи – забезпечують зберігання файлів
шляхом їх розподілу між кількома машинами мережі.

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


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

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


За призначенням файлові системи можна класифікувати на
нижченаведені категорії.
 Для носіїв з довільним доступом (наприклад, жорсткий диск):
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 (так
звана кластерна файлова система, яка призначена для зберігання інших
файлових систем) та інші.

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


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 МБ
4.5. Розподілена файлова система
В інформатиці розподілена файлова система або мережева файлова
система — це будь-яка файлова система, що дозволяє отримати доступ до
файлів з декількох хостів через комп'ютерну мережу. Це уможливлює
загальний доступ до файлів і ресурсів зберігання для декількох користувачів
на декількох комп'ютерах.
Клієнтські вузли не мають прямого доступу до базових блоків
зберігання, але взаємодіють через мережу з використанням протоколу. Це
дозволяє обмежити доступ до файлової системи в залежності від списків
доступу або можливості і на серверах і на клієнтах, в залежності від
призначення протоколу.
Навпаки, в загальній дисковій файловій системі всі вузли мають рівний
доступ до блоків зберігання, де міститься файлова система. У цих системах
контроль доступу перебуває на стороні клієнта.
Розподілені файлові системи можуть включати в себе засоби для
прозорої реплікації і відмовостійкості. Тобто, коли обмежене число вузлів у
файловій системі переходить в автономний режим, система продовжує
працювати без втрати даних.
Різниця між розподіленою файловою системою і розподіленим
сховищем даних може бути розпливчастою, але розподілені файлові системи,
як правило, спрямовані на використання в локальній мережі.

4.6. Історія виникнення розподілених файлових систем і приклади


Перші файл-сервери були розроблені в 1970-х роках.
У 1976 році Digital Equipment Corporation створила File Access Listener
(FAL), реалізацію протоколу доступу до даних в рамках DECnet Phase II, яка
стала першою широко використовуваною мережевою файловою системою.
У 1985 році компанія Sun Microsystems створила файлову систему під
назвою Network File System (NFS), яка стала першою поширеною мережевою
файловою системою на основі інтернет-протоколу.
Інші відомі мережеві файлові системи Andrew File System (AFS), Apple
Filing Protocol (AFP), NetWare Core Protocol (NCP) і Server Message Block
(SMB), який також відомий як Загальна інтернетова файлова система (CIFS).

4.7. Властивості розподілених файлових систем


До основних властивостей розподілених файлових систем відносять
прозорість, продуктивність, паралельне поновлення файлів. Розглянемо їх
детальніше.
Прозорість
Прозорість, як правило, вбудована в розподілену файлову систему,
означає, що файли, доступні по мережі, для програм і користувачів можна
розглядати так само, як файли на локальному диску. Множинність та
розподілення по серверам і пристроям зберігання, таким чином, стає
невидимимою. Мережева файлова система має вміти шукати файли і
організувати транспортування даних.
Продуктивність
Загальна продуктивність розподіленої файлової системи вимірюється
кількістю часу, необхідного для задоволення запитів на обслуговування. У
традиційних системах цей час складається з часу доступу диску і невеликої
затримки на обробку даних. Але в мережевій файловій системі віддалений
доступ має додаткові накладні витрати в зв'язку з розподіленою структурою.
Це включає в себе час, щоб поставити запит на сервер, час, щоб доставити
відповідь на клієнта, і для кожного напряму, навантаження на процесор
ведення програмного протоколу зв'язку. Продуктивність мережевої файлової
системи можна розглядати як ще один вимір його прозорості — щоб бути
повністю еквівалентними, необхідне порівняння з операціями на локальному
диску.
Паралельне поновлення файлів
Управління паралелізмом стає проблемою, коли більш ніж одна особа
або клієнт звертається до одного файлу і хочуть оновити його. Таким чином,
зміни у файлі з одного клієнта не повинні перешкоджати доступу і
поновленню від інших клієнтів. Управління паралелізмом або блокировка
(locking) має бути вбудована у файлову систему або надані через доповнення
протоколу.

You might also like