ЗНАЕТЕ ЛИ ВЫ?

Фізична організація й адреса файлу



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

Наступний спосіб фізичної організації - розміщення у вигляді списку блоків дискової пам'яті (малюнок 2,34,6). За умови такого способу, на початку кожного блоку міститься показник на наступного блоку. У цьому випадку, адреса файлу також може бути задана одним числом - номером першого блоку. На відміну від попереднього способу, кожен блок може бути приєднаний до ланцюжка будь-якого файлу, отже фрагментація відсутня. Файл може змінюватися під час свого існування, нарощуючи кількість блоків. Недоліком є складність реалізації доступу до довільно заданого місця файлу: для того, щоб прочитати п'ятий, один за одним блок файлу, необхідно послідовно прочитати чотири перших блоки, прослідковуючи ланцюжок номерів блоків. Крім того, за умови цього способу, кількість даних файли, що містяться в одному блоці, не дорівнює ступеню двійки (одне слово витрачене на номер наступного блоку), а багато програм читають дані блоками, розмір яких дорівнює ступеню двійки.

 

Популярним способом, що використовують, наприклад, у файловій системі FАТ операційної системи MS-DOS, є використання зв'язного списку індексів. Із кожним блоком пов'язується деякий елемент - індекс. Індекси розташовуються в окремій області диска (у MS-DOS це таблиця FАТ). Якщо певний блок належить деякому файлу, то індекс цього блоку містить номер наступного блоку даного файлу.

Мал. 2.34. Фізична організація файлу: а) - безупинне розміщення; б) - зв'язний список блоків, в) зв'язний список індексів; г) перелік номерів блоків

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

Нарешті, розглянемо завдання фізичного розташування файлу шляхом простого перерахування номерів блоків, що містять цей файл. ОС UNIX використовує варіант даного способу, що дозволяє забезпечити фіксовану довжину адреси, незалежно від розміру файлу. Для збереження адреси файлу, виділено 13-полів. Якщо розмір файлу менший чи дорівнює 10 блокам, то номера цих блоків безпосередньо перераховані в перших десятьох полях адреси. Якщо розмір файлу більший 10 блоків, то наступне 11-е поле містить адресу блоку, у якому можуть бути розташовані ще 128 номерів наступних блоків файлу. Якщо файл більший, ніж 10+128 блоків, то використовують 12-е поле, у якому знаходиться номер блоку, що містить 128 номерів блоків, що містять по 128 номерів блоків даного файлу. І, нарешті, якщо файл більший 10+128+128(128, то використовується останнє 13-е поле для потрійної непрямої адресації, що дозволяє задати адресу файлу, що має розмір максимум 10+ 128 + 128(128+128(128+128)).

Права доступу до файлу

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

• створення файлу,

• знищення файлу,

• відкриття файлу,

• закриття файлу,

• читання файлу,

• запис у файл,

• доповнення файлу,

• пошуку файлів,

• одержання атрибутів файлу,

• установлення нових значень атрибутів,

• перейменування,

• виконання файлу,

• читання каталогу,

й інші операції з файлами і каталогами.

Взагальному, права доступу описані матрицею прав доступу, де стовпці відповідають усім файлам системи, рядки - усім користувачам, а на перетині рядків і стовпців указують дозволені операції (малюнок 2.35). У деяких системах, користувачі поділені на окремі категорії. Для всіх користувачів однієї категорії визначають єдині права доступу. Наприклад, у системі UNIX усіх користувачів поділяють на три категорії: власник файлу, члени його групи і всі інші.

Розрізняють два основних підходи до визначення прав доступу:

• виборчий доступ, коли для кожного файлу і кожного користувача сам власник може визначити допустимі операції;

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

 

Мал 2.35. Матриця прав доступу

 

Кеширування диску

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





Последнее изменение этой страницы: 2016-08-16; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.219.31.204 (0.006 с.)