Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Структура файлової системи




Файлові системи операційних систем класу Unix

Інформація на дисках розміщується блоками, по 512 байт в кожному блоці. Диск розбивається на наступні області (рис.7):

Невикористовуваний блок
Суперблок
і – вузол 1
і – вузол 2
і – вузол 3
: :
і – вузол n
Блок з даними файла
Блок з даними файла
Блок з даними файла
Вільний блок
Файл
Вільний блок
: :

Рис.7. Організація файлів в Unix на диску невикористовуваний блок;

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

- i-список, який складається з описів файлів, що називаються i-вузлами;

- область для збереження вмісту файлів.

Кожний i-вузол вміщує:

- ідентифікацію власника;

- ідентифікацію групи власника;

- біти захисту;

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

- розмір файлу;

- час створення файлу;

- час останнього використання файлу (modification time);

- час останньої зміни атрибутів (change time);

- число зв'язків-посилань, що вказують на файл;

- індикацію, чи є файл директорією, звичайним файлом чи спеціальним файлом.

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

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

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

Файл-директорія, у якому перераховані імена файлів, дозволяє установити відповідність між іменами і самими файлами. Директорії утворюють деревоподібну структуру. На кожний звичайний файл або файл пристрою можуть бути посилання в різних вузлах цієї структури. У непривілейованих програмах запис у директорії не дозволена, але при наявності відповідних дозволів вони можуть читати їх. Додаткових зв'язків між директоріями немає.

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

Імена файлів задаються послідовністю імен директорій, що розділяються похилою рискою ("/") і приводять до кінцевого вузла (листа) деякого дерева. Якщо ім'я файлу починається з косої риски, то пошук по дереву починається в кореневій директорії. Якщо ж ім'я файлу не має на початку косої риски, то пошук починається з поточної директорії. Імена файлів, що починаються з "../", мають на увазі початок пошуку в директорії, розташованій на один рівень вище поточної. Ім'я файлу personal вказує на елемент personal у поточній директорії. Ім'я файлу /work/office/personal приводить до пошуку директорії work у кореневій директорії. Потім до пошуку директорії office у директорії work і, нарешті, до пошуку елемента ppersonal у директорії office. Коса риска / позначає кореневу директорію. У приведеному прикладі знайшла відображення типова ієрархічна структура файлової системи.

Файл, що не є директорією, може зустрічатися в різних директоріях, можливо, під різними іменами. Це називається зв'язуванням. Елемент у директорії, що відноситься до одного файлу, називається зв'язком. У системі UNIX усі такі зв'язки мають рівний статус. Файли не належать директоріям. Скоріше, файли існують незалежно від елементів директорій, а зв'язки в директоріях вказують дійсно на фізичні файли. Файл "зникає", коли видаляється останній зв'язок, що вказує на нього. Біти захисту, задані в зв'язках, можуть відрізнятися від бітів у вихідному файлі. Таким чином, вирішується проблема вибіркового обмеження доступу до файлів. З кожним підтримуваним системою пристроєм асоціюється один або більша кількість спеціальних файлів. Операції вводу-виводу для спеціальних файлів здійснюються так же, як і для звичайних дискових файлів, з тією лише різницею, що ці операції активізують відповідні пристрої. Спеціальні файли звичайно знаходяться в довіднику /dev. На спеціальні файли можуть указувати зв'язки так же, як на звичайні файли.

Від файлової системи не потрібно, щоб вона вся повністю розміщувалася на тому пристрої, де знаходиться корінь. Запит від системи mount (на установку носіїв і т.п.) дозволяє вбудовувати в ієрархію файлів файли на змінних томах. Команда mount має кілька опцій, але обов'язкових аргументів у стандартного варіанта її використання два: імена файлу блокового пристрою та ім'я каталогу. У результаті виконання цієї команди файлова система, розташована на вказаному пристрої, підключається до системи таким чином, що її вміст замінює собою вміст заданого в команді каталогу. Тому для монтування відповідного тому звичайно використовують порожній каталог. Команда unmount виконує зворотну операцію — "від'єднує" (розмонтує) файлову систему, після чого диск із даними можна фізично добути із системи




Поделиться с друзьями:


Дата добавления: 2014-12-23; Просмотров: 532; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.