Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
DP_chornovik.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
7 Мб
Скачать
☆

2. Виконавча частина

2.1. Файлова система та її класифікація

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

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

  • пласкі файлові системи - не використовують каталогів;

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

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

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

Сучасні файлові системи (ФС) являють собою ієрархічні структури каталогів. Хоча загальна концепція всіх ФС, в принципі, однакова, в реалізації є деякі відмінності. Два вартих уваги приклади — це символи-розділювачі каталогів та чутливість до регістру. Юнікс-подібні операційні системи (ОС) (BSD, Linux, MacOS X) та AmigaOS використовують у якості розділювача каталогів символ похилої риски "/", в той час як DOS використовує цей символ для завдавання додаткових опцій у командному рядку, а в якості розділювача прийнято вживати символ зворотної похилої риски "\". У Microsoft Windows прийнята та ж конвенція за винятком китайської та корейської версій, де розділювачем є знак запитання "?". Версії MacOS до Х використовували у якості розділювача двокрапку; RISC OS — дефіс.

У Юнікс-подібних ОС у назві файлу може використовуватись будь-який символ за винятком похилої риски і вони чутливі до регістру. Назви файлів у Microsoft Windows не є чутливими до регістру. ФС можуть бути журнальованими або не журнальованими. Журнальовані файлові системи записують інформацію двічі: спершу до журналу дій файлової системи, потім до її належного місця в звичайній файловій системі. В разі аварії система може автоматично відновлювати свій вміст до узгодженого стану відтворюючи частину журналу. В той же час не журнальованими файловим системам потрібно зробити перевірку усієї файлової системи спеціальними програмами, такими як fsck або scandisk. Більшість дистрибутивів Linux підтримують більшість (або всі) перелічені ФС: 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 та Linux з ядром версії 2.6 підтримують розширення UDF котрі дозволяють перезаписувати вміст DVD як у звичайних дискетах.

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

  • для носіїв з довільним доступом (наприклад, твердий диск): FAT32, HPFS, ext2 і ін. Останнім часом поширилися журнальовані файлові системи, такі як ext3, Reiserfs, JFS, NTFS, XFS;

  • для носіїв з послідовним доступом (наприклад, магнітні стрічки): QIC;

  • для оптичних носіїв — CD і DVD: ISO 9660, HFS, UDF;

  • віртуальні файлові системи: AEFS та ін.;

  • мережні файлові системи: NFS, SMBFS, SSHFS, Gmailfs.

2.1.1. FAT

FAT 16 — стандарт файлової системи, попередник FAT32. Підтримує максимальний розмір розділу — 2 гігабайти. Має кореневий каталог фіксованого розміру (512 записів). При розмірі розділу понад 512 мегабайт не економно використовує місце на диску через великий розмір кластера. Розпізнається і може використовуватися практично всіма операційними системами, використовуваними на ПК. Дозволяє ущільнювати диск програмою стиснення даних «Drivespace».

FAT 32 (від англ. File Allocation Table — «таблиця розташування файлів») — ця файлова система підтримує томи (логічні диски) обсягом до 8 ТБ і використовує для зберігання файлів менші фрагменти диска, ніж файлова система FAT16. Це збільшує вільний простір на диску. Файлова система FAT32 не підтримує диски, менші за 512 МБ. Файлова система FAT32 була вперше реалізована в операційній системі Windows 95 OEM Service Release 2 (OSR2).

Обмеження файлової системи FAT32 у Windows XP. Під час використання файлової системи FAT32 в операційній системі Windows XP потрібно враховувати такі обмеження:

  • кластери не можуть мати розмір 64 кілобайта (КБ) та більше. У протилежному випадку деякі програми (зокрема, програми інсталяції) можуть неправильно визначати обсяг доступного простору на диску;

  • том FAT32 повинен містити мінімум 65 527 кластерів. Не можна збільшити розмір кластера на томі FAT32 таким чином, щоб він містив менше 65 527 кластерів;

  • максимальний обсяг простору на диску має становити приблизно 8 Тбайт з урахуванням таких змінних: Максимально можлива кількість кластерів на томі FAT32 становить 268 435 445, при цьому максимально допустимий розмір кластера становить 32 Кбайт разом із простором, який потрібен для таблиці розміщення файлів (FAT);

  • не можна зменшити розмір кластера на томі FAT32 таким чином, щоб розмір таблиці FAT перевищив значення, рівне 16 Мбайт мінус 64 Кбайт;

  • не можна відформатувати том обсягом більше 32 гігабайт (Гбайт) у файловій системі FAT32 під час інсталяції операційної системи Windows XP;

  • Windows XP допускає підключення та підтримує томи FAT32 розміром більше 32 Гбайт (з урахуванням інших обмежень), але не можна створити том FAT32 обсягом більше 32 Гбайт з використанням засобу "Format" у процесі виконання програми інсталяції Windows XP. Якщо потрібно відформатувати том, розмір якого перевищує 32 Гбайт, краще зробити це у файловій системі NTFS. Іншим варіантом є завантаження комп'ютера із завантажувального диска Microsoft Windows 98 або Microsoft Windows Millennium Edition (Me) та використання засобу Format, який міститься на цьому диску.

Під час спроби відформатувати розділ FAT32, розмір якого перевищує 32 Гбайт, під час інсталяції Windows XP операція форматування завершується невдало, і може з'явитися таке повідомлення про помилку: «Диспетчер логічних дисків: Розмір тому надто великий»

  • операційна система MS-DOS, початкова версія Microsoft Windows 95 і операційні системи Microsoft Windows NT 4.0 і попередніх версій не розпізнають розділи FAT32, тому їх завантаження з тому FAT32 є неможливим.

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

Відновлення інформації у системі FAT32. У порівняні з FAT32, файлова система NTFS менш схильна до фрагментації, оскільки в ній закладено механізм підбору вільної оптимальної за розміром ділянки під новий файл. Розділ FAT32 починається сектором Volume ID. Далі знаходиться вільний простір, названий зарезервованими секторами. Після них знаходяться дві копії таблиці розміщення файлів. І вже нарешті після них знаходиться простір, який використовується для зберігання файлів. В самому кінці може знаходитись невикористана ділянка диску, яка може з'явитись через те, що розмір диска не ділиться на розмір кластера.

Нумерація кластерів починається з 2. Щоб обчислити номер сектора, використовують формулу: lba_addr = cluster_begin_lba + (cluster_number - 2) * sectors_per_cluster. Зазвичай кожен кластер має 4кб (8 секторів). Специфікація Майкрософту каже, що максимальний розмір кластера 32кб, але інколи збільшують розмір секторів, тому буває і більше.

Директорії. Спочатку ми взнаємо, в якому кластері знаходиться коренева директорія. Читання директорії дає нам імена, і розміщення перших кластерів її файлів і піддиректорій. Повторю: тільки перших кластерів. Щоб дістатись до решти, нам потрібна таблиця FAT. Але спочатку знайдемо початок. Дані директорій організовуються в 32-байтові записи. Це гарно, тому що тоді в сектор лізе рівно 16 записів, і вони не перетинають межу сектора.

Є чотири типи 32-байтових записів:

  1. Нормальний запис з коротким ім'ям файлу.

  2. Текст довгого імені.

  3. Невикористаний. Перший байт - 0xE5

  4. Кінець директорії. Перший байт нульовий.

Невикористані записи з'являються при видаленні файлів. Коли ми щось видаляємо, перший байт просто замінюється на 0xE5, і потім місце використовується при додаванні нового запису. Записи, що не починаються з 0xE5, чи 0x00 і є вмістом каталогу. Структура такого запису показана в таблиці (2.1).

Таблиця 2.1. – Структура запису

Поле

Зміщення

Розмір

Коротка назва файлу

0x00

8+3 байт

Байт атрибутів

0x0B

8 біт

Номер першого кластеру

0x14

32 біти

Розмір файлу

0x1C

32 біти

Розширення файлу завжди зберігається в файлах з 9 по 11. Якщо назва файлу коротша за вісім символів, то вільні байти заповнюються прогалинами (0x20). Найбільший розмір файлу 4Гб, через те, що розмір файлу зберігається в 32-розрядному полі. Структура байту атрибутів показана в таблиці (2.2) нижче.

Таблиця 2.2. – Структура байту атрибутів:

Біт

Функція

0 (найменш значущий біт)

Тільки читання

1

Прихований

2

Системний

4

Субдиректорія (Вказівник показує на кластер з 32-байтовими записами)

5

Архівний файл

6, 7 (найбільш значущий біт)

Не використовуються, і завжди мають бути нульовими.

Таблиця розміщення файлів . FAT32 названа так саме тому, що записи в цій таблиці 32-розрядні. Таблиця FAT - це просто великий масив беззнакових цілих, де кожен запис відповідає за свій кластер, і вказує номер наступного кластера. Якщо файл вміщується в один кластер, або кластер є останнім, то в таблиці FAT для цього кластера записане значення 0xFFFFFFFF.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]