Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

spz / lect / lekc6_1_keruv_danymy

.pdf
Скачиваний:
13
Добавлен:
23.02.2016
Размер:
248.45 Кб
Скачать

Системне програмне забезпечення.

1

Керування даними

1.Основні визначення.

2.Функції файлової системи ОС і ієрархія даних.

3.Об’єднання в блоки.

4.Організація файлів.

5.Методи доступу.

6.Файлові системи.

Система керування даними

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

Таке призначення системи керування даними, на перший погляд повністю співпадає з функціями підсистеми керування введення/виведення..

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

Призначення файлових систем визначає склад їх програмних частин. Програмна частина повинна містити наступні компоненти:

1.засоби взаємодії з процесами користувачів, котрі повинні забезпечувати прийом та інтерпретацію запитів від користувача на обробку файлів та повідомлення їх про результати виконаної роботи;

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

3.засоби розподілу зовнішньої пам’яті для збереження файлів, а також звільнення пам’яті по мірі знищення файлів;

4.засоби обліку розташування як файлів в цілому, так і окремих складових елементів.

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

Функції файлової системи ОС

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

Системне програмне забезпечення.

2

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

Саме файлова система визначає спосіб організації даних на диску або на якомусь іншому носії даних. В якості приклада можна привести файлову систему FAT ( file allocotion table ) реалізація для якої є в абсолютній більшості ОС (МS-DOS, OS/2, Windows 95, NT, Linux).Хоча слід зазначити, що не зважаючи на те, що всі ці ОС підтримують роботу з файлами, організованими по принципу FAT, однак програмні модулі відповідних файлових систем не є взаємозамінні. Крім того, вони мають свої індивідуальні особливості і обмеження. Таким чином мова піде про принципи роботи файлової системи, а не конкретно її реалізацію.

Як правило, всі сучасні ОС мають відповідні системи керування файлами.

Система керування файлами є основною підсистемою в абсолютній більшості сучасних ОС.

По-перше: через систему управління файлами зв’язуються по даними всі системні програми обробки.

По-друге: з допомогою цієї системи вирішуються проблеми централізованого розприділення дискового простору та управління даними.

По-третє: завдяки використанню системи управління файлами користувачу надаються наступні можливості:

створення, знищення, перейменування, переміщенння, іменованих наборів даних (файлів);

робота з не дисковими периферійними пристроями, як з файлами;

обмін даних між файлами, між пристроями, між файлом і пристроєм (і навпаки);

робота з файлами за допомогою звернення програмних модулів системи

керування файлами (частина АРІ - application program interface –

орієнтована на роботу з файлами)

захист файлів від несанкціонованого доступу.

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

Іншими словами, термін “файлова система” визначає принципи доступу до даних, організованих в файли. А термін “система керування файлами” відноситься до конкретної реалізації файлової системи, тобто це комплекс програмних модулів, які забезпечують роботу з файлами в конкретній ОС.

Системне програмне забезпечення.

3

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

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

а)

поточний вказівник

Запис 1 Запис 2

Запис і

Запис n

Системне програмне забезпечення.

4

б)

Область індексів

індекс

A

F

L

основна область

Ключ і

Запис

Ключ

Запис

….

Ключ А

Запис

 

 

і+k

 

 

 

 

Ключ j

Запис

Ключ

Запис

….

Ключ F

Запис

 

 

j+k

 

 

 

 

Ключ L Запис

область переповнення

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в)

Каталог бібліотеки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Елемент

Елемент

 

 

 

Елемент

 

 

розділу А

розділу В

 

….

 

розділу Q

 

 

 

 

 

Бібліотека

 

 

 

 

Розділ А

 

 

 

Розділ В

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

….

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вільний простір

 

 

 

 

 

 

 

 

 

 

 

 

Мал. Основні логічні структури даних: а) послідовна, б) індексно-послідовна, в) бібліотечна.

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

Системне програмне забезпечення.

5

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

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

-в послідовному порядку;

-в довільному порядку.

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

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

Основна проблема – це проблема розширення файлу при роботі з ним. Тому вводять область переповнення, куди будуть заносити записи, що динамічно вводяться в файл, які неможливо розмістити в основній області із-за відсутності в ній вільного місця.

в) Бібліотечна структура файлів. Дана структура передбачає два рівня:

-обліковий рівень,

-інформаційний рівень.

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

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

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

Системне програмне забезпечення.

6

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

На практиці для розподілу зовнішньої пам’яті використовуються по суті, ті самі алгоритми, що і для розподілу ОП. Відмінність – у способах реалізації механізмів розподілу.

І спосіб: Ділянки вільної ОП (дири) зв’язують за деяким правилом в список (Наприклад впорядковують дири за розміром) Вказівники на кожний наступний елемент списку входять до складу самих дір. Рух по списку до деякого і-го елемента (і-ї дири) вимагав би і-1 звернення до диску. Тому при зв’язуванні дир на диску в список, вказівники на елементи списку, як правило обєднують в деяку таблицю, яка заноситься до ОП. При необхідному пошуку відбувається пошук відповідного вказівника, що веде до зменшення часу пошуку.

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

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

Приклад: Розподіл зовнішньої пам’яті, який прийнятий в ОС UNIX

Система потенціально орієнтує користувача на можливість динамічної зміни розмірів файлів в межах до 1Гб. Кожен файл в системі має дескриптор (див. мал.) у складі якого зберігається список, що містить 13 номерів блоків на диску. Список використовується для адресації до тих блоків, які входять до складу файлу. Використовуються і пряма і непряма адресації. Перші 10 елементів списку безпосередньо вказують на 10 блоків, в яких можуть бути розміщені файлові дані. Якщо об’єм файлу більше, то використовуються наступні три елементи списку.

11-й елемент використовується для однорівневої непрямої адресації. Якщо об’єм файлу перевищує (10+128) блоків (кожний блок – 512 байт), то використовуються 12-й або 13-й елемент списку в дескрипторі.

12-й елемент вказує на другий рівень непрямої адресації. 13-й на третій рівень непрямої адресації.

Тобто, звернення може відбуватися до 1283 блокам файлу.

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

Системне програмне забезпечення.

7

Дескриптор файлу

 

 

 

 

 

 

 

 

 

 

 

 

1

2

 

 

 

 

 

 

 

10

11

12

13

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Блоки

 

 

 

 

 

файлу

Блоки непрямої адресації

 

 

 

 

 

 

 

 

 

1

2

128

 

 

1 2

 

… 128

 

1 2 … 128

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 2 … 128

1 2 … 128

1 2 … 128

1 2 … 128

 

 

 

 

 

 

1 2 … 128 1 2 … 128

….

… і.т.д

… і.т.д

Адресація блоків файлу в ОС UNIX

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

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

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

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

Перший варіант ОС будемо називати – ОС з однорівневими файловими системами (MS DOS)

Другий варіант – UNIX-подібним.

Соседние файлы в папке lect