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

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

1.Поняття, структура і робота файлової системи.

MBR (Master Boot Record) спеціальна область розташована на початку диска - містить необхідну для BIOS інформацію для завантаження операційної системи з жорсткого диска.
Таблиця розділів (partition table) також розташована на початку диска, її завдання - зберігати інформацію про розділах: початок, довжина, завантаження. На завантажувальному розділі розташований завантажувальний сектор (boot sector), який зберігає програму завантаження операційної системи.

Відлік починається від MBR (від сектора з номером 0) для всіх основних (primary) розділів, як для звичайних, так і для розширеного, і тільки для основних.
Всі звичайні логічні (not extended logical) розділи задаються зрушенням щодо початку того розширеного розділу, в якому вони описані.
Все розширені логічні (extended logical) розділи задаються зрушенням щодо початку основного розширеного розділу (extended primary).

Процес завантаження операційної системи виглядає наступним чином:
При включенні комп'ютера управління процесором отримує BIOS, йде завантаження (boot) з вінчестера, подгружается в оперативну пам'ять комп'ютера перший сектор диска (MBR) і передається йому управління).

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

В MBR може бути записаний як "стандартний" завантажувач,

так і завантажувачі типу LILO / GRUB.

Стандартний завантажувач знаходить в таблиці основних розділів перший розділ з прапором bootable (завантажувальний), зчитує його перший сектор (boot-сектор) і передає управління коду, записаного в цьому boot-секторі. Якщо замість стандартного завантажувача MBR стоїть інший, то він не дивиться на прапор bootable, може завантажувати з будь-якого розділу (прописаних в його настройках).

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

C: \ boot.ini
[Boot loader]
timeout = 8
default = C: \ gentoo.bin
[Operating systems]
C: \ gentoo.bin = "Gentoo Linux"
multi (0) disk (0) rdisk (0) partition (1) \ WINDOWS = "Windows XP (32-bit)" / fastdetect / NoExecute = OptIn
multi (0) disk (0) rdisk (0) partition (3) \ WINDOWS = "Windows XP (64-bit)" / fastdetect / usepmtimer

Приклад конфігураційного файлу grub.conf

# Grub.conf generated by anaconda
#
#Note that you do not have to rerun grub after making changes to this file
#
#NOTICE: You have a / boot partition. This means that
#all kernel and initrd paths are relative to / boot /, eg.
#root (hdO.O)
#kernel / vmlinuz-version ro root = / dev / sda2
#initrd /initrd-version.img
# Boot = / dev / sda default = 0 timeout = 5
splashimage = (hdO, 0) /grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux server (2.6.18-53.el 5)
root (hdO.O)
kernel /vmlinuz-2.6.18-53.el5 ro root = LABEL = / rhgb quiet-
initrd /initrd-2.6.18-53.el5.img


2.Наіболее відомі файлові системи.

  • Advanced Disc Filing System
  • AdvFS
  • Be File System
  • CSI - DOS
  • Encrypting File System
  • Extended File System
  • Second Extended File System
  • Third Extended File System
  • Fourth Extended File System
  • File Allocation Table (FAT)
  • Files - 11
  • Hierarchical File System
  • HFS Plus
  • High Perfomance File System (HPFS)
  • ISO 9660
  • Journaled File System
  • Macintosh File System
  • MINIX file system
  • MicroDOS
  • Next3
  • New Implementation of a Log-structured F (NILFS)
  • Novell Storage Services
  • New Technology File System (NTFS)
  • Protogon
  • ReiserFS
  • Smart File System
  • Squashfs
  • Unix File System
  • Universal Disk Format (UDF)
  • Veritas File System
  • Windows Future Storage (WinFS)
  • Write Anywhere File Layout
  • XFS
  • Zettabyte File System (ZFS)

3.Основні характеристики файлових систем.

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

- Максимальний (мінімальний) розмір томи;
- Максимальне (мінімальне) кількість файлів в кореневому каталозі;
- Максимальна кількість файлів в некореневим каталозі;
- Безпека на рівні файлів;
- Підтримка довгих імен файлів;
- самовідновлення;
- Стиснення на рівні файлів;
- Ведення журналів транзакцій;

4.Краткое описані основні файлових систем FAT, NTFS, EXT.

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

Файлова система FAT32.
FAT32 є повністю незалежною 32-розрядної файлової системою і містить численні вдосконалення та доповнення в порівнянні з FAT16. Принципова відмінність FAT32 полягає в більш ефективному використанні дискового простору: FAT32 використовує кластери меншого розміру, що призводить до економії дискового простору.
FAT32 може переміщати кореневий каталог і використовувати резервну копію FAT замість стандартної. Розширена завантажувальний запис FAT32 дозволяє створювати копії критичних структур даних, що підвищує стійкість дисків до порушень структури FAT в порівнянні з попередніми версіями. Кореневої каталог являє собою звичайну ланцюжок кластерів, тому може перебувати в довільному місці диска, що знімає обмеження на розмір кореневого каталогу.


Файлова система NTFS.
Файлова система NTFS (New Technology File System) містить ряд значних удосконалень і змін, що істотно відрізняють її від інших файлових систем. З точки зору користувачів файли як і раніше зберігаються в каталогах, але робота на дисках великого обсягу в NTFS відбувається набагато ефективніше:
- є засоби для обмеження доступу до файлів і каталогів;
- введені механізми, що істотно підвищують надійність файлової системи;
- зняті багато обмежень на максимальну кількість дискових секторів і / або кластерів.

Основні характеристики файлової системи NTFS:
- надійність. Високопродуктивні комп'ютери і системи спільного використання повинні володіти підвищеною надійністю, для цієї мети запроваджено механізм транзакцій, при якому ведеться журнал файлових операцій;
- розширена функціональність. В NTFS введені нові можливості: вдосконалена відмовостійкість, емуляція інших файлових систем, потужна модель безпеки, паралельна обробка потоків даних, створення файлових атрибутів, визначених користувачем;
- підтримка стандарту POSIX. До числа базових засобів відносяться необов'язкове використання імен файлів з урахуванням регістра, зберігання часу останнього звернення до файлу і механізм альтернативних імен, що дозволяє посилатися на один і той же файл з кількох імен;
- гнучкість. Розподіл дискового простору відрізняється великою гнучкістю: розмір кластера може змінюватися від 512 байт до 64 Кбайт.
NTFS добре працює з великими масивами даних і великими томами. Максимальний розмір томи (і файлу) - 16 Ебайт. (1 Ебайт дорівнює 2 ** 64 або 16000 млрд. Гігабайт.) Кількість файлів в кореневому і некореневим каталогах не обмежена. Оскільки в основу структури каталогів NTFS закладена ефективна структура даних, яка називається «бінарним деревом», час пошуку файлів в NTFS не пов'язане лінійною залежністю з їхньою кількістю.
Система NTFS володіє деякими засобами для самовідновлення і підтримує різні механізми перевірки цілісності системи, включаючи ведення журналу транзакцій, що дозволяє відстежити по системному журналу файлові операції запису.
Файлова система NTFS підтримує об'єктну модель безпеки і розглядає всі томи, каталоги і файли як самостійні об'єкти NTFS. Права доступу до томів, каталогам і файлам залежить від облікового запису користувача і тієї групи, до якої він належить.
Файлова система NTFS має убудовані засоби стиску, які можна застосовувати до томів, каталогам і файлам.

Файлова система Ext3.
Файлова система ext3 може підтримувати файли розміром до 1 ТБ. З Linux-ядром 2.4 обсяг файлової системи обмежений максимальним розміром блокового пристрою, що становить 2 терабайта. В Linux 2.6 (для 32-розрядних процесорів) максимальний розмір блокових пристроїв становить 16 ТБ, однак ext3 підтримує тільки до 4 ТБ.
Ext3 має хорошу сумісність з NFS і не має проблеми з продуктивністю при дефіциті вільного дискового пространства.Еще одна перевага ext3 відбувається з того, що вона заснована на коді ext2. Дисковий формат ext2 і ext3 ідентичний; з цього випливає, що при необхідності ext3 filesystem можна монтувати як ext2 без будь-яких проблем. І це ще не все. Завдяки фактом, що ext2 і ext3 використовують ідентичні метадані, є можливість оперативного оновлення ext2 в ext3.
надійність Ext3
На додаток до ext2-compatible, ext3 успадковує інші переваги загального формату metadata. Користувачі ext3 мають в своєму розпорядженні роками перевірений fsck tool. Звичайно, основна причина переходу на journaling filesystem - відмова від необхідності періодичних і довгих перевірок несуперечності метаданих на диску. Однак "журнал" не здатна захистити від збоїв ядра або пошкодження поверхні диска (або дечого подібного). В аварійній ситуації ви оціните факт наступності ext3 від ext2 з її fsck.
Журналізація в ext3.
Тепер, коли є загальне розуміння проблеми, подивимося, як ext3 здійснює journaling. У коді журналізації для ext3 використовується спеціальний API, званий Journaling Block Device layer або JBD. JBD був розроблений для журналізації на будь-яких block device. Ext3 прив'язана до JBD API. При цьому код ext3 filesystem повідомляє JBD про необхідність проведення модифікації і запитує у JBD дозвіл на її проведення. Журналом керує JBD від імені драйвера ext3 filesystem. Така угода дуже зручно, так як JBD розвивається як окремий, універсальний об'єкт і може використовуватися в майбутньому для журналирования в інших filesystems.
Захист даних в Ext3
Тепер можна поговорити про те, як ext3 filesystem забезпечує журнализацию і data, і metadata. Фактично в ext3 є два методи гарантування несуперечності.
Спочатку ext3 розроблялася для журналирования full data і metadata. У цьому режимі (називається "data = journal" mode), JBD журналірует всі зміни в filesystem, пов'язані як з data, так і з metadata. При цьому JBD може використовувати журнал для відкату і відновлення metadata і data. Недолік "повного" журналирования в досить низьку продуктивність і витрату великого обсягу дискового простору під журнал.
Нещодавно для ext3 був доданий новий режим журналювання, який поєднує високу продуктивність і гарантію несуперечності структури файлової системи після збою (як у "звичайних" журнальованою файлових систем). Новий режим роботи обслуговує тільки metadata. Однак драйвер ext3 filesystem як і раніше відстежує обробку цілих блоків даних (якщо вони пов'язані з модифікацією метаданих), і групує їх в окремий об'єкт, званий transaction. Транзакція буде завершена тільки після запису на диск всіх даних. "Побічний" ефект такої "грубої" методики (званої "data = ordered" mode) - ext3 забезпечує більш високу ймовірність збереження даних (у порівнянні з "просунутими" журнальована файлова система) при гарантії несуперечності metadata. При цьому відбувається журнал змін тільки структури файлової системи. Ext3 використовує цей режим за замовчуванням.
Ext3 має безліч переваг. Вона розроблена для максимальної простоти розгортання. Вона заснована на роками перевіреному коді ext2 і отримала "у спадок" чудовий fsck tool. Ext3 в першу чергу призначена для додатків, які не мають вбудованих можливостей щодо гарантування збереження даних. В цілому, ext3 - чудова файлова система і гідне продовження ext2.Есть ще одна характеристика, позитивно відрізняє ext3 від інших journaled filesystems під Linux - висока надійність.

Файлова система ext4 є гідним еволюційним продовженням системи ext.