69311

Організація інформації у файловій системі

Лекция

Информатика, кибернетика и программирование

У сучасних ОС файли у файловій системі не прийнято зберігати одним невпорядкованим списком (зазначимо, що можливі винятки, наприклад, для вбудованих систем). Десятки гігабайтів даних, що зберігаються зараз на дисках, вимагають упорядкування, файли, в яких перебувають ці дані...

Украинкский

2014-10-03

61.5 KB

0 чел.

Лекція № 15

Тема: Організація інформації у файловій системі

План

  1.  Розділи
  2.  Каталоги
  3.  Зв'язок розділів та структури каталогів

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

Розділи

Перед тим, як розглянути підходи до організації інформації безпосередньо у файловій системі, зупинимося на тому, як організовують дисковий простір для розміщення на ньому файлової системи, і введемо поняття розділу. Розділи реалізують логічне відображення фізичного диска.

Розділ (partition) — частина фізичного дискового простору, що призначена для розміщення на ній структури однієї файлової системи і з логічної точки зору розглядається як єдине ціле.

Розділ - це логічний пристрій, що з погляду ОС функціонує як окремий диск. Такий пристрій може відповідати всьому фізичному диску (у цьому разі кажуть, що диск містить один розділ); найчастіше він відповідає частині диска (таку частину називають ще фізичним розділом); буває й так, що подібні логічні пристрої поєднують кілька фізичних розділів, що перебувають, можливо, на різних дисках (такі пристрої ще називають логічними томами — logical volumes).

Кожний розділ може мати свою файлову систему (і, можливо, використовуватися різними ОС). Для поділу дискового простору на розділи використовують спеціальну утиліту, яку часто називають fdisk. Для генерації файлової системи на розділі потрібно використати операцію високорівневого форматування диска. У деяких ОС під томом (volume) розуміють розділ із встановленою на ньому файловою системою.

Реалізація розділів дає змогу відокремити логічне відображення дискового простору від фізичного і підвищує гнучкість використання файлових систем.

Каталоги

Розділи є основою організації великих обсягів дискового простору для розгортання файлових систем. Для організації файлів у рамках розділу зі встановленою файловою системою було запропоновано поняття файлового каталогу (file directory) або просто каталогу.

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

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

Деревоподібна структура каталогів

Базовою ідеєю організації даних за допомогою каталогів є те, що вони можуть містити інші каталоги. Вкладені каталоги називають підкаталогами (subdirectories). Таким чином формують дерево каталогів. Перший каталог, створений у файловій системі, встановленій у розділі (корінь дерева каталогів), називають кореневим каталогом (root directory).

Поняття шляху

Розглянемо, яким чином формують ім'я файла з урахуванням багаторівневої структури каталогів.

Для файла, розташованого всередині каталогу недостатньо його імені для однозначного визначення, де він перебуває, - в іншому каталозі може бути файл із тим самим ім'ям. Тепер для визначення місцезнаходження файла потрібно додавати до його імені список каталогів, де він перебуває. Такий список називають шляхом (path). Каталоги у шляху перераховують зліва направо — від меншої глибини вкладеності до більшої. Роздільник каталогів у шляху відрізняється для різних систем: в UNIX прийнято використовувати прямий слеш «/», а у Windows-системах - зворотний «\».

Абсолютний і відносний шляхи

Є два шляхи до файла: абсолютний і відносний. Абсолютний (або повний) повністю й однозначно визначає місце розташування файла. Такий шлях обов'язково має містити кореневий каталог. Ось приклад абсолютного шляху для UNIX-систем: /usr/local/bin/myfile.

Якщо застосування використовує тільки абсолютні шляхи, йому зазвичай бракує гнучкості. Наприклад, у разі перенесення в інший каталог потрібно буде вручну відредагувати всі шляхи, замінивши їх новими.

Відносний — шлях, відлічуваний від деякого місця в ієрархії каталогів. Щоб його організувати, потрібно визначитися із точкою відліку, для чого використовують поняття поточного каталогу. Такий каталог задають для кожного процесу, і він може бути змінений у будь-який момент командою cd або системним викликом chdi г(). Відносний шлях може відлічуватися від поточного каталогу і звичайно кореневий каталог не включає. Прикладом відносного шляху до файла /usr/ local /bin/myfile (за умови, що поточним каталогом є /usr/local) буде bin/myfile, а в ситуації, коли поточним є каталог файла (/usr/local/bin), відносним шляхом буде просто ім'я файла: myfile.

Для спрощення побудови відносного шляху кожний каталог містить два спеціальні елементи:

♦  «.», що посилається на поточний каталог; 4-  «..», що посилається на каталог рівнем вище.

З урахуванням цих елементів можуть бути задані такі відносні шляхи, як ../../bin/myfile (за умови, що поточний каталог - /usr/local/lib/mylib) або ./myfile (вказує на елемент у поточному каталозі).

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

Є й інші можливості полегшити задання шляхів доступу до файлів у каталогах. Одним із найпоширеніших способів є використання змінної оточення PATH, що містить список часто використовуваних каталогів. У разі доступу до файла за іменем його пошук спочатку виконуватиметься в каталогах, заданих за допомогою PATH.

Зв'язок розділів і структури каталогів

Залишилося з'ясувати важливе питання про взаємозв'язок розділів і структури каталогів файлових систем. Розрізняють два основні підходи до реалізації такого взаємозв'язку, які істотно відрізняються один від одного.

Єдине дерево каталогів. Монтування файлових систем

Перший підхід в основному використовується у файловій системі UNIX і полягає в тому, що розділи зі встановленими на них файловими системами об'єднуються в єдиному дереві каталогів ОС.

Стандартну організацію каталогів UNIX зображують у вигляді дерева з одним коренем — кореневим каталогом, який позначають «/». Файлову систему, на якій перебуває кореневий каталог, називають завантажувальною або кореневою. У більшості реалізацій вона має містити файл із ядром ОС.

Додаткові файлові системи об'єднуються із кореневою за допомогою операції монтування (mount). Під час монтування вибраний каталог однієї файлової системи стає кореневим каталогом іншої. Каталог, призначений для монтування файлової системи, називають точкою монтування (mount point). Весь вміст файлової системи, приєднаної за допомогою монтування, виглядає для користувачів системи як набір підкаталогів точки монтування.

Розглянемо операцію монтування на прикладі (рис. 11.1).

У цьому разі на диску є два розділи. На кожному з них встановлена файлова система (типи файлових систем можуть бути різними — це не є обмеженням; у каталозі системи одного типу можна змонтувати систему іншого типу за умови, що цей тип підтримує ОС). На рисунку точкою монтування ми вибрали каталог /usr першої файлової системи. Для користувача системи практично не помітно, що насправді каталог / і каталог /usr відповідають різним файловим системам. Відмінності можуть виявлятися, наприклад, під час спроби перенесення файла: виконання звичайної операції перенесення (mv у UNIX) між файловими системами не дозволяється.

Розглянемо деякі наслідки застосування єдиного каталогу для організації файлової системи.

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

Від користувача прихована структура розділів жорсткого диска, яка йому у більшості випадків не потрібна.

Адміністрування системи спрощується. Наприклад, якщо додамо ще один диск і захочемо перенести на нього каталог /home, достатньо буде виконати кілька простих дій: відформатувати цей диск, задавши на ньому один розділ; змонтувати цей розділ у довільному місці; перенести на нього каталог /home (стерши весь його вміст на вихідному диску); заново змонтувати цей розділ у каталозі /home кореневої файлової системи.

Внаслідок цих дій всі застосування, які використовують каталог /home, працюватимуть у колишньому режимі; на їхню роботу не вплине той факт, що каталог тепер відповідає новій файловій системі, a /home став точкою монтування.

Літерні позначення розділів

Другий підхід, що в основному поширений в лініях Consumer Windows і Windows ХР, припускає, що кожний розділ зі встановленою файловою системою є видимим для користувача і позначений буквою латинського алфавіту. Такий розділ звичайно називають томом. Позначення томів нам знайомі - це С, D: тощо. Особливості такої реалізації наведені нижче.

Вміст кожного розділу не пов'язаний з іншими розділами; відносний шлях можна побудувати тільки за умови, що поточний каталог перебуває на тому самому томі, що і файл.

Структура логічних розділів видима для користувача.

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

У разі необхідності додавання або вилучення дискового пристрою у системах лінії Consumer Windows користувач не може впливати на те, які літери система присвоює розділам (фактично це залежить від порядку підключення апаратних пристроїв); у системах лінії Windows XP користувач може вільно змінювати літерні позначення під час роботи системи.

Зазначимо, що нині в ОС лінії Windows XP реалізована підтримка монтування (для файлової системи NTFS), що вирішує більшість перелічених проблем. Ця підтримка вперше з'явилась у Windows 2000 [70].

Питання для самоконтролю:

  1.  Поняття розділу.
  2.  Поняття каталогу.
  3.  Деревоподібна структура каталогів.
  4.  Поняття шляху.
  5.  Абсолютний і відносний шлях.
  6.  Єдине дерево каталогів.
  7.  Монтування файлової системи.
  8.  Літерні позначення розділів.
  9.  Особливості літерного позначення розділів.


 

А также другие работы, которые могут Вас заинтересовать

49807. Програмування під Windows. Методичні вказівки 219 KB
  Первунінський МЕТОДИЧНІ ВКАЗІВКИ до виконання курсової роботи з дисципліни Програмування під Windows для студентів спеціальностей Методичні вказівки до виконання курсової роботи з навчальної дисципліни Програмування під Windows для студентів спеціальності Відповідальний за випуск: Затверджено Методичною радою Черкаського державного технологічного університету як методичні вказівки до виконання курсової роботи з навчальної дисципліни Програмування під Windows†для студентів спеціальності 8.
49811. ТЕХНИЧЕСКАЯ ЭКСПЕРТИЗА ОБЪЕКТА НЕДВИЖИМОСТИ 517.5 KB
  Проведенный анализ показывает что рассматриваемый жилой дом не соответствует СНиП 31012003 Здания жилые многоквартирные 17 по пунктам: 00 00 и 00. Проведенный анализ показывает что рассматриваемый жилой дом соответствует требованиям СНиП 210197 “Пожарная безопасность зданий и сооружений“ 18 . Анализ плана приведенного в техническом паспорте и фактической планировки квартиры на текущий момент позволяет сделать вывод об отсутствии какихлибо перепланировок квартиры №3: положение перегородок несущих стен и проемов в них...
49812. Расчет экономической эффективности и срока окупаемости программы «База данных по учету табельного времени» 364.32 KB
  Трудозатраты на разработку и отладку программы Расчет экономической эффективности и срока окупаемости проектируемой программы реализованной на ЭВМ начинается с расчета трудовых затрат так как затраты организаций на оплату труда являются одной из главных статей в структуре себестоимости продукции.1 где: tо нормативы затрат труда на подготовку описания задачи 12 чел час; tн нормативы затрат на исследования алгоритма решения задачи чел час; t нормативы затрат на разработку блок-схемы алгоритма чел час; tп нормативы...
49813. Автомобильный термогенератор 833.5 KB
  Устройство индукционного генератора автомобиля Принцип действия индукционного генератора автомобиля На данный момент основным способом подзарядки является использование ременной передачи от коленчатого вала двигателя к валу индукционного электрогенератора который заряжает аккумулятор и питает электрические приборы автомобиля. Предметом исследований является разработка нового автомобильного генератора работающего за счет тепла выделяемого двигателем авто.
49814. Розробка стратегії, аналіз, концептуальне моделювання та проектування бази даних проходження практики студентами ВНЗ 440 KB
  Мета цієї курсової роботи полягає у розробці бази даних предметної області яка має відношення до проходження практики студентами у ВУЗах. Головною ціллю курсової роботі є проектування бази даних проходження практики студентами у ВУЗі на прикладі факультету комп’ютерних наук Національного авіаційного університету. Мета цілі та задачі створення бази даних Головною стратегічною метою бази даних що проектується є автоматизація процесів довгострокового зберігання обліку й обробки даних проходження практики студентами у...
49815. ИЛОВОЙ ТРЕХФАЗНЫЙ МАСЛЯНЫЙ ТРАНСФОРМАТОР ОБЩЕГО НАЗНАЧЕНИЯ МОЩНОСТЬЮ 1400кВ·А 5.2 MB
  Трансформатором называется статическое электромагнитное устройство, имеющее две или более, индуктивно связанные обмотки и предназначенное для преобразования электромагнитной индукции одной или нескольких систем переменного тока в одну или несколько других систем переменного тока.