1   2   3   4   5   6   7   8   9   10
Ім'я файлу: 1-126.pdf
Розширення: pdf
Розмір: 1940кб.
Дата: 12.12.2021
скачати
Об’єднання в блоки та буферування
Фізичний запис або блок – це одиниця інформації, яка реально читається з пристрою, або записується на нього.
Логічний запис – це сукупність даних, яка розглядається як одне ціле.
Якщо кожний фізичний запис вміщує тільки один логічний запис, то такий файл складається із не зблокованих записів.
Якщо кожний фізичний запис може вміщувати декілька логічних, то такий файл складається з записів, об’єднаних в блоки, або зблокованих записів.

Приклади типових записів приведені на рис. 6.1. У файлі з записами фіксованої довжини, всі записи мають однакову довжину, а розмір блоку звичайно є цілим кратним розміру запису (рис. 6.1 а). У файлі з записами змінної довжини записи можуть мінятися за розміром до розміру блоку (рис. 6.1 в). BL – довжина блоку; RL – довжина запису; Поля лічильників вміщають різноманітну керуючу інформацію: номер циліндра; номер головки; номер запису; довжина поля даних; контрольні байти
(рис. 6.1 г).
Рис. 6.1. Формати записів: а) фіксована довжина, не зблокований; б) фіксована довжина, зблокований; в) змінна довжина, не зблокований; г) змінна довжина, зблокований

106. Класифікація файлів за видами організації.
Організація файлів
Під організацією файлів розуміється спосіб розміщення записів файлу в зовнішній пам’яті. Зараз найбільш відомі такі види організації файлів:
1. Послідовна. Записи розташовуються у фізичному порядку. „Наступний” запис – це запис, який фізично іде слідом за попереднім. Така організація застосовується для файлів, що зберігаються на магнітній стрічці, виводяться на друк, перфокарти, перфострічки і т.п., тому що вони в принципі є послідовними носіями даних. Файли на дисках також можуть мати послідовну організацію.
2. Індексно–послідовна. Записи розташовуються в логічній послідовності у відповідності із значенням ключів, які є в кожному записі. В системі маємо спеціальний системний індекс, де вказані фізичні адреси певних головних записів.
Доступ до індексно–послідовних записів може відбуватись послідовно відповідно до зростання (зменшення) значення ключа, або безпосередньо за ключем, шляхом пошуку за системним індексом. Такі файли звичайно зберігаються на дисках.
3. Пряма. Доступ до записів відбувається прямо (довільно) за їх фізичними адресами на запам’ятовуючому пристрої прямого доступу (ЗППД). Прикладна програма розміщує записи на ЗППД в довільному (зручному) неї порядку. Файли прямої організації вимагають, щоб користувач мав детальне представлення про фізичні особливості зовнішніх ЗП, на яких зберігаються файли.
4. Бібліотечна. Це файл (рис. 6.2), який складається з послідовних підфайлів. Кожний послідовний підфайл називається елементом або геном файлу. Початкова адреса кожного такого елементу зберігається в директорії файлу. Такі файли часто використовуються для зберігання програмних бібліотек.
Ці види організації файлів мають багато варіантів, які застосовуються в реальних системах.
Носій записів, який використовується в кожному конкретному зовнішньому ЗП називається томом.

107. Класифікація файлів за методами доступу.
Методи доступу
В ОС, як правило, реалізуються декілька методів доступу. Метод доступу(access method) – це сукупність угод та засобів, за допомогою яких реалізується заданий спосіб обміну фізичними записами файлу.
Виділяють дві категорії МД:
- метод доступу з чергами (queued access method, QAM);
- базисні методи доступу.(basic access method, BAM).
Перший застосовується в тих випадках, коли послідовність обробки записів можна передбачити. Наприклад, при послідовній та індексно–послідовній організації файлів.
У них передбачається випереджуюча буферизація та планування операцій вводу–
виводу, т.п. Ці засоби, направлені на те, щоб, по можливості, до кінця обробки одного запису наступний запис був готовий до обробки. В оперативній пам’яті в кожний конкретний момент часу знаходиться більше одного запису. Це дозволяє суміщати обробку записів та виконання операцій вводу–виводу.
Рис. 6.2. Файл з бібліотечною організацією
Ці методи доступу забезпечують також автоматичне блокування та деблокування записів, так що користувач може про це не думати.
Базисні методи доступу застосовуються звичайно у випадках, коли послідовність обробки записів передбачити не можливо. Кожна процедура обміну даними викликається, відповідним оператором вводу–виводу в програмі, що виконується. ОС не забезпечує автоматичне блокування, деблокування, попередню буферизацію та синхронізацію операцій обміну з обробкою.
Ці методи застосовуються в ситуаціях, коли прикладним програмам користувача треба керувати доступом до записів, але без небажаних накладних витрат, що властиво методам доступу чергами. Базисними методами читаються та записуються фізичні блоки. Блокування та деблокування (якщо вони необхідні в конкретному випадку) виконує сам користувач.

108. Програмні засоби підтримки файлової системи та їх призначення.
Файлова система
Як вже відзначалося, файлова система – це важливий компонент ОС. Вона вміщує, як правило, такі засоби:
1. Методи доступу. Визначають конкретну організацію доступу до даних, що зберігаються у файлах.
2. Засоби керування файлами. Забезпечують зберігання файлів, звертання до них, колективне керування та захист.
3. Засоби керування зовнішньою пам’яттю. Забезпечують розподіл простору зовнішньої пам’яті для розміщення файлів.
4. Засоби забезпечення цілісності файлів. Вони покликані гарантувати збереження
інформації файлу.
Гарантована цілісність файлу означає, що у файлі завжди буде зберігатись лише та
інформація, яка в ньому повинна бути, тобто та, яку визначає користувач.
Головне завдання файлової системи – це розподіл простору зовнішньої пам’яті та керування її роботою, зокрема, роботою дискової пам’яті.
Розглянемо приклад:
Маємо велику обчислювальну систему, що працює в режимі розподілу часу та обслуговує до 100 терміналів, до яких може мати доступ декілька тисяч користувачів.
Кожний із, користувачів може мати в обчислювальній системі декілька рахунків, за допомогою яких виконується облік робіт, що виконується за різними проектами. Із кожною роботою може бути пов’язана велика кількість файлів.
У великих системах розподілу часу на кожну роботу припадає 10..100 файлів. Таким чином в дисковій пам’яті системи може знаходитись до 100 тисяч файлів.
Необхідно мати можливість швидкого доступу до цих файлів, щоб забезпечити малий час відповіді на запит користувачів.
Файлова система в цьому випадку може бути організована так як показано на рис.
6.3.
Кореневий вузол показує, в якому місці дискової пам’яті починається кореневий каталог, в якому в свою чергу вміщуються адреси різних каталогів користувачів.
Каталог користувача вміщує по одному запису для кожного з файлів користувача.
Кожний запис показує в якому місці дискової пам’яті зберігається відповідний файл.

Рис. 6.3. Дворівнева файлова система
Імена файлів повинні бути унікальними тільки в рамках певного каталогу користувача. В той же час системне ім’я файла повинно бути унікальним в рамках файлової системи. В файлових системах з ієрархічною структурою системне ім’я файлу звичайно формується як ім’я шляху від кореневої директорії до цього файлу.
109. Основні методи виділення пам’яті під файли та їх особливості.
Проблема виділення та звільнення місця в дисковій пам’яті в дечому нагадує проблему розподілення основної пам’яті при мультипрограмуванні із змінними розділами.
Якщо бажано розміщувати файли в сусідніх ділянках дискової пам’яті, то ці ділянки необхідно зібрати разом. Але, оскільки, в процесі роботи системи файли спотворюються і знищуються, з часом простір дискової пам’яті звичайно робиться все більш фрагментованим. У зв’язку з цим при розміщенні наступних файлів вони розміщуються розкиданими блоками.
Один із можливих способів розв’язку цієї проблеми полягає в тому, щоб періодично виконувати ущільнення вмісту пам’яті – „збирання сміття.” Файли можна реорганізувати таким чином, щоб вони займали сусідні ділянки дискової пам’яті, а вільні ділянки можна зібрати в єдиний блок або групу великих блоків. Деякі системи передбачають динамічне збирання сміття в процесі роботи (як правило, в не робочий час). Система може вибирати для реорганізації файли тих користувачів, які в біжучий момент не працюють, або файли, до яких не було звертання на протязі довгого часу.
При створені ефективної файлової системи необхідно чітко уявляти собі, який контингент користувачів вона буде обслуговувати. Зокрема, треба знати кількість користувачів, середню кількість файлів на одного користувача, характер задач, що розв’язуються, та інше. Ці файли необхідно ретельно аналізувати, для того, щоб визначити найбільш раціональні форми організації файлів і їх директорій.

110. Основні схеми керування зовнішньою пам’яттю при її незв’язному
розподілі.
Його поширення викликано тим, що файли з часом або збільшуються, або зменшуються, а користувач, як правило, завчасно не знає, якого розміру будуть його файли.
Розподіл за допомогою списків секторів
Дискова пам’ять розглядається як набір індивідуальних секторів. Файли складаються з секторів, які можуть знаходитись в різних місцях дискової пам’яті. Сектори, що належать одному файлу, вміщують посилки–покажчики один на одного, які створюють список. У списку вільного простору вміщуються всі вільні сектори дискової пам’яті.
Коли з’являється необхідність збільшити розмір файлу, відповідний процес робить запит на додаткову кількість секторів з числа вільних. Файли, розмір яких зменшується, повертають сектори, що вивільнилися у список вільного простору.
Проблеми ущільнення пам’яті не виникає.
Цей метод має певні недоліки:
1. Оскільки записи файлу можуть розміщуватись в різних місцях дискової пам’яті, вибірка логічно суміжних записів може бути пов’язана з довготривалими пошуками.
2. Також маємо накладні витрати машинного часу для обробки посилок–покажчиків.
3. Зберігання покажчиків в елементах списків веде до зменшення об’єму пам’яті, що надається для зберігання даних.
Поблочний розподіл
Існує схема, що забезпечує більш ефективне керування зовнішньою пам’яттю і при цьому зменшує витрати машинного часу. Вона об’єднує методи зв’язаного та незв’язаного розподілу.
В цій схемі пам’ять розподіляється не індивідуальними секторами, а блоками суміжних секторів (екстентами). При виділенні нових блоків, система намагається вибрати вільні блоки як можна ближче до вже існуючих блоків файла. При кожному звертанні до файла спочатку визначається відповідний блок, а потім відповідний сектор в рамках цього блоку.
Існує декілька способів реалізації систем поблочного розподілення: за допомогою:
- ланцюжків блоків;
- ланцюжків індексних блоків;
- таблиць відображення.
Схема з ланцюжками блоків
Рядок в каталогу користувача вказує на перший блок файлу. Кожний з блоків фіксованої довжини, що входить до складу файлу, вміщує дві частини: блок даних та покажчик на наступний блок. Мінімальна одиниця пам’яті, що виділяється –– це блок фіксованого розміру, який включає, як правило, багато секторів. Звичайно, розмір блоку вибирається рівним повній доріжці дискового накопичувача. Для знаходження
конкретного запису необхідно продивитися ланцюжок блоків, знайти відповідний блок, а потім проглянути цей блок, доки не буде знайдений відповідний запис .
Перегляд ланцюжка блоків необхідно починати з самого початку. А оскільки блоки розкидані по всьому диску, то процес перегляду може займати багато часу, який втрачається на переміщення головок диску.
При такому підході виконувати вставки та виключення блоків досить легко – це робиться шляхом модифікації покажчиків попереднього блоку. В деяких системах для прискорення перегляду та пошуку необхідних записів в списках застосовується подвійне зв’язування, тобто формуються як прямі, так і зворотні посилки між блоками. Перегляд може відбуватись в довільному напрямі.
Схема з ланцюжками індексів
Покажчики розміщуються в окремі індексні блоки. Кожний індексний блок вміщує фіксовану кількість елементів. Кожний рядок – стаття, вміщує ідентифікатор запису та покажчик на цей запис. Якщо для опису файла необхідно більш ніж один
індексний блок, то організується ланцюжок індексних блоків, показано на рис. 6.5.
Основна перевага ланцюжків індексних блоків у порівнянні з звичайними ланцюжками блоків полягає в тому, що для пошуку потрібного блоку досить продивитися тільки самі індексні блоки.
Основний недолік такої схеми полягає в тому, що для встановлення додаткових записів може бути необхідною повна перебудова структури індексних блоків.
Схема з таблицями поблочного відображення.
Замість покажчиків використовуються номери блоків. Звичайно ці номери легко перетворюються у фактичні адреси блоків з врахуванням геометрії диска.
Рядок в каталогу користувача вказує на рядок таблиці відображення, що відповідає першому блоку даного файлу. Кожний рядок таблиці відображення містить номер наступного блоку даного файлу. Таким чином, всі блоки файлу можемо знайти, послідовно проглядаючи рядки таблиці відображення файлів.
В тих рядках таблиці відображення файлів, які відповідають останнім блокам файлів, звичайно записується деяке граничне значення, наприклад “Nil”, яке позначає, що цим блоком завершується даний файл. деяких рядках таблиці відображення записується ознака “Вільний”, яка позначає, що цей блок може бути виділений при черговому запису. Система може або проглядати таблицю відображення файлів, для того, щоб знайти вільний блок, або може просто вести список вільних блоків.
Основна перевага такої схеми полягає в тому, що за таблицею відображення можна зробити висновок про фізичне сусідство блоків, що розташовані на диску.
Коли з’являється необхідність виділення нового блоку, відносно легко знайти вільний блок пам’яті, який знаходиться досить близько від інших блоків даного файлу.

111.Структури, що використовуються для керування файлом.
Дескриптор файлу або блок керування файлом – це керуючий блок, який вміщує
інформацію, необхідну системі для виконання різних операцій з файлом. Це структура, яка сильно залежить від конкретної системи. Як правило, дескриптор містить наступну інформацію: - символічне ім.’я файлe; - розміщення файлу в зовнішній пам’яті; - тип організації файлу (послідовна, індексно- послідовна і т.п.); - тип пристрою; - дані для керування доступом; - тип файлу (дані, об’єктна програма, вихідна програма на конкретній мові і т.п.); - диспозиція (постійний або тимчасовий робочий файл); - дата та час створення файлу; - дата знищення; - дата і час останньої модифікації; - лічильники активності доступу (наприклад, кількість звертань по читанню). Як правило, дескриптори файлів зберігаються в зовнішній пам’яті. Вони передаються в основну пам’ять тільки після відкриття відповідного файлу.
Дескриптором файлу керує файлова система – користувач не може безпосередньо до нього звертатись. Матриця керування доступом Один з можливих способів керування доступом до файлів полягає в тому, щоб створити двомірну матрицю керування доступом, в якій показані всі файли системи. У системі з великою кількістю користувачів та файлів ця матриця може виявитись дуже великою і при тому дуже розрідженою. Надання одному користувачу права доступу до файлів другого користувача це скоріше виняток, ніж правило. Керування доступом в залежності від класів користувачів Матриця може бути такою великою, що реалізувати її практично неможливо. Існує спосіб, що вимагає значно менше місця в пам'яті системи – це керування доступом до файлів в залежності від класів користувачів. Звичайна класифікація передбачає такі категорії: “Власник” – це користувач, який створив даний файл; “Вказаний, допущений користувач” - власник файлу вказує, що з його файлом може працювати інша людина; “Група” або “Проект”. Користувачі часто є членами групи, що разом працюють над конкретним проектом. В такому випадку всім членам такої групи надається доступ до певних файлів. “Загальнодоступний” - доступ дозволяється для якого завгодно користувача даної системи. Поняття
“загальнодоступний” означає, що користувачам дозволяється читати або використовувати файл, а робити записи в ньому забороняється.

112.Призначення копіювання та відновлення інформації у файлових системах.
Копіювання та відновлення інформації
ОС взагалі та файлові системи зокрема повинні розроблятися з врахуванням можливості руйнування інформації.
Найбільш розповсюджений спосіб – періодичне копіювання. Але це не виключає можливості втратити всіх змін у файлі з моменту його останнього копіювання.
Ще один спосіб – реєстрація, протоколювання всіх змін у файлі. Така надлишковість може бути досить дорогою, але дозволяє реконструювати всю роботу.
При умові, звичайно, що диск реєстрування (журнальний) не виявився також зіпсованим.
Не існує ніяких засобів, що гарантують абсолютну безпечність файлів.
Схема періодичного копіювання має декілька недоліків:
- на час копіювання може виникнути необхідність закрити систему для звичайних користувачів;
- розміри файлових систем можуть бути дуже великі і дублювання може вимагати багато машинного часу;
- відновити інформацію можна тільки до стану останньої копії.
Перевага періодичного копіювання – дозволяє реорганізувати файлову систему таким чином, щоб блоки файлів користувачів, що розкинуті по дисковій пам’яті, можна розмістити більш компактно, поруч один з одним. Це звичайно, дає можливість більш швидкого доступу до файлів користувачів.
Періодичне копіювання не влаштовує, якщо відновлення треба робити швидко, за останнім станом системи. Для цього є ефективніший спосіб – „інкрементний”, або покроковий „дампінг”. Всі файли, вміст яких обновлюється під час роботи з терміналом, починаються спеціальними ознаками. Коли користувач відключається від системи, список усіх цих файлів, передається певному системному процесу, який виконує їх копіювання. Недолік – він не допоможе, коли в момент збою користувач знаходиться ближче до кінця довготривалого сеансу роботи з терміналом.
Для систем, в яких втрата результатів навіть мінімальної кількості робіт є недопустимою, більш підходить спосіб протоколювання (занесення в журнал) звертань. Тут кожна зміна дублюється в той же час, коли вона відбулася. Таку
інтенсивність дублювання легше забезпечити для інтерактивних систем, де загальний об’єм робіт обмежується відносно низькими швидкостями відповіді людини.


1   2   3   4   5   6   7   8   9   10

скачати

© Усі права захищені
написати до нас