ВІКІСТОРІНКА
Навигация:
Інформатика
Історія
Автоматизація
Адміністрування
Антропологія
Архітектура
Біологія
Будівництво
Бухгалтерія
Військова наука
Виробництво
Географія
Геологія
Господарство
Демографія
Екологія
Економіка
Електроніка
Енергетика
Журналістика
Кінематографія
Комп'ютеризація
Креслення
Кулінарія
Культура
Культура
Лінгвістика
Література
Лексикологія
Логіка
Маркетинг
Математика
Медицина
Менеджмент
Металургія
Метрологія
Мистецтво
Музика
Наукознавство
Освіта
Охорона Праці
Підприємництво
Педагогіка
Поліграфія
Право
Приладобудування
Програмування
Психологія
Радіозв'язок
Релігія
Риторика
Соціологія
Спорт
Стандартизація
Статистика
Технології
Торгівля
Транспорт
Фізіологія
Фізика
Філософія
Фінанси
Фармакологія


Мал. 6. 32. Приклад збереження довгого імені файлу в системі Windows 98.

Каталогова структура має деяку надмірність, що дозволяє знайти проблеми, викликані втручанням старих програм, написаних для роботи в Windows 3. Порядковий номер на початку кожного фрагмента довгого імені не так вже і потрібний, оскільки біт 0x40 позначає перший фрагмент, але він забезпечує додаткову надмірність. Крім того, поле Low на мал. 6.32 (молодша половина номера початкового кластера) рівне 0 в усіх фрагментах, крім останнього, що також дозволяє уникнути невірної інтерпретації цих каталогових записів старими програмами і руйнування файлової системи. Байт NT використовується системою Windows NT і ігнорується системою Windows 98. Байт А містить атрибути файлу.

Реалізація файлової системи FAT - 32 концептуально близька до реалізації файлової системи FAT - 16. Проте замість масиву з 65 536 елементів в ній використовується стільки, скільки треба, щоб покрити увесь розділ диска. Якщо диск містить мільйон блоків, то і таблиця складатиметься з мільйона елементів. Для економії пам'яті система Windows 98 не зберігає їх усе відразу в пам'яті, а використовує вікно, що накладається на таблицю.

Файлова система UNIX V7

Навіть у ранніх версіях системи UNIX застосовувалася досить складна багато-призначена для користувача файлова система, оскільки в основі цієї системи лежала операційна система MULTICS. Нижче буде розглянута файлова система V7, розроблена для комп'ютера PDP - 11, що зробило систему UNIX знаменитої. Сучасні версії обговорюватимуться в главі 10.

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

Каталог UNIX містить по одному запису для кожного файлу цього каталогу. Кожен каталогова запис максимально простий, оскільки в системі UNIX використовується схема i-вузлів (див. мал. 6.12). Каталоговий запис складається всього з двох полів: імені файлу (14 байт) і номера i-вузла для цього файлу (2 байт), як показано на мал. 6.33. Ці параметри обмежують кількість файлів у файловій системі числом 64 К.

Мал. 6.33. Каталоговая запис файлової системи UNIX V7

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

Для обліку дискових блоків файлу використовується узагальнення схеми, показаної на мал. 6.12, що дозволяє працювати з дуже великими файлами. Перші 10 дискових адрес зберігаються в самому і-вузлі. Таким чином, для невеликих файлів уся необхідна інформація міститься прямо в і-вузлі, що прочитується з диска при відкритті файлу. Для файлів більшого розміру одна з адрес в і -вузлі представляє собою адреса блоку диска, званого одинарним непрямим блоком. Цей блок містить додаткові дискові адреси. Якщо і цього недостатньо, використовується інша адреса в і-вузлі, званий подвійним непрямим блоком, і адреса блоку, в якому зберігаються адреси одноразових непрямих блоків, що містить. Якщо і цього мало, використовується потрійний непрямий блок. Повна схема показана на мал. 6.34.

При відкритті файлу файлова система по імені файлу знаходить його блоки на диску. Розглянемо на прикладі відкриття файлу /usr/ast/mbox. Як приклад використовуватимемо файлову систему UNIX, хоча основи алгоритму однакові для усіх ієрархічних каталогових систем. Спочатку файлова система відкриває кореневий каталог. У системі UNIX його і-вузол розташовується у фіксованому місці диска. По цьому і-вузлі система визначає положення кореневого каталогу, який може знаходитися в будь-якому місці диска, в цьому прикладі - в блоці 1.

Потім файлова система прочитує кореневий каталог і шукає в нім перший компонент шляху, usr, щоб визначити номер і-вузла файлу /usr. Визначити місце і-вузла нескладно, оскільки для кожного з них передбачено фіксоване місце на диску. По цьому і-вузлі файлова система знаходить каталог /usr і знаходить в нім наступний компонент, ast. Знайшовши описувач ast, файлова система отримує і-вузол для каталогу /usr/ast. По цьому і-вузла вона дістає доступ до самого каталогу, в якому шукає файл mbox. При цьому і-вузол файлу mbox прочитується в пам'ять і залишається там, поки файл не буде закритий. Процес пошуку проілюстрований на мал.6.35.

© 2013 wikipage.com.ua - Дякуємо за посилання на wikipage.com.ua | Контакти