OS_Lecture_6 2 курс.ppt
- Количество слайдов: 11
Операційні системи Лекція 13 Реалізація файлових систем Лекція 13 /12
План лекції ¢ FAT ¢ ufs ¢ ext 2 fs ¢ ext 3 fs ¢ /proc ¢ VFS Лекція 13 2
Фізична організація FAT Завантажувальний сектор (512 Б) FAT 1 0 1 2 4 5 … (Елементи FAT) 3 ¢ Логічний розділ, відформатований під файлову систему FAT, містить такі розділи: l FAT 2 (копія) l l Кореневий каталог (16 к. Б) : : l Дані 0 4 1 5 2 … 3 l Завантажувальний сектор (boot sector) містить програму початкового завантаження ОС Основна копія FAT Резервна копія FAT Кореневий каталог (root directory) займає фіксовану ділянку у 32 сектора (16 к. Б), що дозволяє зберігати 512 записів про файли і каталоги (кожний запис – 32 Б) Область даних призначена для розміщення усіх файлів і усіх каталогів, крім кореневого каталогу Лекція 13 3
Особливості FAT ¢ Елемент (індексний покажчик) FAT може мати такі значення: l l l ¢ Кластер вільний Кластер використовується (номер наступного кластера) Останній кластер файлу Дефектний кластер Резервний Розрядність елементів l l FAT 12 – 12 біт – максимум 4096 кластерів FAT 16 – 16 біт – максимум 65536 кластерів • Максимальний розмір розділу 4 ГБ (кластер 64 к. Б) l ¢ FAT 32 – 32 біт – максимум 232 = 4294967296 кластерів Кожний запис у каталозі – 32 Б l l l Ім’я файлу – 11 Б у форматі 8. 3 Довге ім’я файлу – до 255 двохбайтних символів Unicode Довге ім’я поміщається порціями по 13 символів у записи, що безпосередньо йдуть за основним записом каталогу (кожний такий запис містить ще 6 Б службової інформації) Лекція 13 4
Фізична організація ufs (UNIX File System) Завантажувальний блок Суперблок Блок групи циліндрів ¢ Розділ містить завантажувальний блок, після якого кілька разів повторюється послідовність: l Список індексних дескрипторів • • • Блоки даних Суперблок (копія) Блок групи циліндрів Список індексних дескрипторів l Блоки даних Суперблок (копія) Блок групи циліндрів Список індексних дескрипторів Блоки даних Суперблок – містить загальну інформацію про файлову систему l Розмір файлової системи Розмір області індексних дескрипторів Число індексних дескрипторів Список вільних блоків Список вільних індексних дескрипторів Блок групи циліндрів – описує кількість індексних дескрипторів і блоків даних, що розташовані у цій групі циліндрів диска Область індексних дескрипторів • Дескриптори розташовані за їхніми номерами l Область даних • Містить звичайні файли і каталоги (у тому числі кореневий каталог) • Спеціальні файли в області даних не відображені Лекція 13 5
Особливості ufs ¢ Індексний дескриптор містить l l l l ¢ Запис про файл у каталозі містить усього два поля: ім’я файлу і номер індексного дескриптора l ¢ ¢ Ідентифікатор власника файлу Тип файлу Права доступу до файлу Час останньої модифікації файлу, час останнього звернення до файлу, час останньої модифікації індексного дескриптора Кількість посилань на цей дескриптор (імен файлу) Адресна інформація (була розглянута нами раніше) Розмір файлу в байтах Ім’я файлу в ufs може мати довжину до 255 символів (код ASCII – по одному байту на символ) Розмір індексного дескриптора – 64 к. Б Розмір блоку – 4 або 8 к. Б Лекція 13 6
Фізична організація ext 2 fs (Linux) Завантажувач Група блоків 0 Група блоків 1 Суперблок Заголовок групи Бітова карта блоків Група блоків 2 Бітова карта індексних дескрипторів Група блоків 3 Індексні дескриптори Блоки даних ¢ ¢ ¢ Група блоків на відміну від групи циліндрів у ufs не прив’язана до геометрії диску При створенні файлу намагаються знайти для нього індексний дескриптор у тій групі блоків, де міститься його каталог За допомогою бітових карт ведуть облік вільних блоків і індексних дескрипторів Розмір бітової карти – 1 к. Б, отже група може містити до 8192 блоків Розмір блоку – 1 к. Б Розмір індексного дескриптора – 128 байт Лекція 13 7
Файлова система ext 3 fs (Linux) ¢ ¢ Відрізняється від ext 2 fs наявністю журналу Можуть бути задані три режими роботи з журналом l Режим журналу (journal) • Усі зміни даних зберігаються у журналі • Суттєво впливає на продуктивність l Упорядкований режим (ordered) • Зберігаються тільки зміни в метаданних • Блоки даних зберігаються на диску перед метаданними, тому ймовірність їх ушкодження низька • Це режим за умовчанням l Режим мінімального записування • Зберігаються лише зміни в метаданних ¢ Журнал зберігають у схованому файлі. journal у кореневому каталозі Лекція 13 8
Файлова система /proc (UNIX, Linux) ¢ ¢ ¢ Це спеціальна файлова система, яка насправді взагалі не працює з диском Вміст кожного файлу і каталогу генерує програмне забезпечення у відповідь на запит файлової операції Кожному процесу відповідає каталог файлової системи /proc l ¢ Зчитування файлів цього каталогу надає певну інформацію процес l l l ¢ /proc/
Віртуальна файлова система VFS ¢ Основною метою є забезпечення роботи ОС з максимально широким набором різних файлових систем l Дискові файлові системи • ext 2 fs, ext 3 fs, Reiser. FS, ufs, xfs, FAT, NTFS, ISO 9660 l Мережні файлові системи • NFS, SMB l Спеціальні (віртуальні) файлові системи • /proc ¢ Рівень VFS забезпечує доступ через стандартні файлові системні виклики до будь-якого рівня програмного забезпечення, що реалізує інтерфейс файлової системи l Програмні модулі, що реалізують інтерфейс файлової системи, називаються модулями підтримки файлових систем Лекція 13 10
Об’єкти, що підтримує віртуальна файлова система VFS ¢ Об’єкт файлової системи (filesystem object або superblock object) l l ¢ Об’єкт індексного дескриптора (inode object) l l ¢ Описує набір атрибутів і методів, за допомогою яких відображують файл на рівні файлової системи Відображає файл як ціле Об’єкт відкритого файлу (file object) l l l ¢ Відображає пов’язаний набір файлів, що міститься в ієрархії каталогів Ядро підтримує по одному такому об’єкту для кожної змонтованої файлової системи Відображає відкритий файл на рівні процесу Цей об’єкт створюють системним викликом відкриття файлу В об’єкті зберігається режим доступу до файлу і покажчик поточної позиції Об’єкт елемента каталогу (dentry object) – у Linux l l l Відображає елемент каталогу і його зв’язок з файлом на диску Знаходиться між об’єктами відкритих файлів і об’єктами індексних дескрипторів Об’єкти елемента каталогу, як і об’єкти індексного дескриптора існують незалежно від процесів Лекція 13 11


