Теорія операційної системи

:: Меню ::

Головна
Представлення даних в обчислювальних системах
Машинні мови
Завантаження програм
Управління оперативною пам'яттю
Сегментна і сторінкова віртуальна пам'ять
Комп'ютер і зовнішні події
Паралелізм з точки зору програміста
Реалізація багатозадачності на однопроцесорних комп'ютерах  
Зовнішні пристрої
Драйвери зовнішніх пристроїв
Файлові системи
Безпека
Огляд архітектури сучасних ОС

:: Друзі ::

Карта сайту
 

:: Статистика ::

 

 

 

 

 

Монтування файлових систем

Перш ніж ОС зможе використовувати файлову систему, вона повинна виконати над цією системою операцію, звану монтуванням (mount). У спільному випадку операція монтування включає наступні кроки.

  • Перевірку типа вмонтовуваної ФС.
  • Перевірку цілісності ФС.
  • Прочитування системних структур даних і ініціалізацію відповідного модуля файлового менеджера (драйвера файлової системи).
  • В деяких випадках — модифікацію ФС з тим, щоб вказати, що вона вже змонтована. При цьому встановлюється так званий прапор забруднення (dirty flag). Сенс цієї операції буде пояснений і разд. Стійкість ФС до збоїв.
  • Включення нової файлової системи в спільний простір імен (мал. 11.1). У різних системах це робиться різними способами.

Багато користувачів Ms/dr DOS ніколи не стикалися з поняттям монтування. Річ у тому, що ця система (як і багато інших ДОС, наприклад Rt-11) виконує спрощену процедуру монтування при кожному зверненні до файлу. Спрощення полягають в пропуску кроків 1 і 2 і відсутності кроку 4 (ФС Ms/dr DOS стійка до збоїв).
ДОС, як правило, поміщають в простір імен всі доступні блокові пристрої, не виконуючи повної процедури монтування. Якщо якесь з цих пристроїв не містить ФС відомого типа, то система обурюватиметься при зверненнях до такого пристрою, але не видалить його із списку доступних ФС. А інколи навіть не обурюватиметься — спробуйте поставити в дисковод машини під управлінням Ms/dr DOS-дискету, що не містить файлової системи (наприклад, створену програмою tar) і в командному рядку набрати DIR А:. Швидше за все, ви побачите декілька екранів сміття, але жодного повідомлення про помилку!

Мал. 11.1. Простір імен ОС з декількома ФС

Якщо ми вмонтовуємо ФС, розміщену на видаленій машині (файловому сервері) то кроки 1 і 2 замінюються на встановлення з'єднання цим сервером. У системах сімейства Ср/м при роботі з файловими серверами Novell Netware монтування серверних файлових систем проводиться командою MAPа з файловими серверами, що підтримують протокол SMB — командою NET USE.
Звичайне ім'я файлу в підвмонтовуваній файловій системі має вигляд 'Імя_фс:\імена\каталогов\імя.файла'. При цьому замість роздільників ':' і '/' можуть використовуватися інші символи.

Імена файлових систем в Rt-11, Rsx-11, VMS
У Rt-11, Rsx-11 і VMS як ім'я файлової системи використовується ім'я фізичного пристрою, на якому розміщена ФС. Якщо застосовується Decnet, перед ім'ям пристрою можна помістити ім'я вузла мережі, на якому цей пристрій знаходиться. Повне ім'я файлу в VMS виглядає так: Duao-lusers.FAT_BROTHER.WORKJtest.exe. При цьому DUAO означає дисковий пристрій 0, приєднане до дискового контроллера A: Disk Unit д [device #] Про, [USERS.FAT_BROTHER.WORK] означає каталог WORK в каталп Fat_brother в каталозі USERS.

Імена файлових систем в ОС сімейства Ср/м
У системах сімейств Ср/м імена файлових систем позначаються буквами ла тінського алфавіту, а самі файлові системи часто чомусь називаються "драйвами". За деякого бажання можна використовувати як імена фг також символи '[' і ']'. Пристрої А: і В: — це завжди приводи гнучких дисків пристрій З: — зазвичай перший жорсткий диск, або перший розділ на першому жорсткому диску.
Автора завжди цікавило питання: "Що робитиме користувач, коли у нього кінчаться доступні букви алфавіту?" При використанні лише локальних дисків така ситуація видається маловірогідною, але при підключенні до декількох файлових серверів кількість використовуваних файлових систем різко зростає...
У Os/2 і Windows for Workgroups ця проблема вирішена використанням так званих UNC-имен, задаючих ім'я файлу у вигляді \\NODE\SHARE\ Path\file.NAM (мал. 11.2), де NODE — ім'я мережевого вузла, SHARE — ім'я ресурсу, що розділяється, на цьому вузлі (це може бути не лише каталог, що розділяється, але і принтер, а в Os/2 також і модем), а Path\file.NAM — дорога до файлу відносно каталога, що розділяється. На жаль, далеко не всі старі (і навіть багато не дуже вже старі) програми розуміють такі імена. Наприклад, навіть стандартний командний процесор системи Windows NT не може виконати команду cd \\NODE\SHARE\DIR (перевірялося на NT 4.0 sp4-6, 2000 sp 1 і ХР).

Мал. 11.2. UNC-имена

Структура простору імен в Unix
У операційних системах сімейства Unix змонтовані ФС виглядають як каталоги єдиного дерева (строго кажучи, структура каталогів в UNIX не зобов'язана бути деревом; але про цьому див. разд. Cложниє файлові системи), Це дерево починається з кореневого каталога, виділеною ФС, званою кореневою (root). Адміністратор системи може подмонтіровать нову ФС до будь-якого каталога, що знаходиться на будь-якому рівні дерева (мал. 11.3). Такий каталог після цього називають точкою монтування, але цей вираз відображає лише поточний достаток каталога. Після того, як ми размонтіруєм ФС, ми зможемо використовувати цей каталог як звичайний, і навпаки, ми можемо сделать точкою монтування будь-який каталог.

Мал. 11.3. Структура простору імен в Unix

Такий підхід має неочевидне, на перший погляд, але серйозна перевага перед роздільними просторами імен для різних фізичних файлових систем. Перевага полягає в тому, що простір імен виявляється не пов'язаним з фізичним розміщенням файлів. Отже, адміністратор може підтримувати незмінну структуру дерева каталогів, переміщаючи при цьому окремі гілки по дисках ради ефективнішого використання дискового простору або навіть просто ради зручності адміністрування.
За традицією всі Unix-системы мають приблизно однакову структуру дерева каталогів: системні утиліти знаходяться в каталозі /bin, системні бібліотеки — в каталозі /lib, конфігураційні файли — в каталозі /etc і так далі Наприклад, база даних про імена користувачів завжди знаходиться у файлі /etc/passwd.
Точки монтування реалізовані і в деяких ОС, що не відносяться до сімейства Unix. Так, вільно поширюваний продукт TVFS (Toronto Virtual File System) для Os/2 дозволяє об'єднувати декілька різних файлових систем (як локальних, так і мережевих) в один логічний диск, вмонтовуючи реальні ФС в каталоги віртуальної. Аналогічна функціональність була реалізована в Windows 2000, але чомусь лише в постачанні Advanced Server.

 

:: Реклама ::

 

:: Посилання ::


 

 

 


Copyright © Kivik, 2017