Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Незв’язаний розподіл пам’яті

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

 

1) Розподіл за допомогою списків секторів

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

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

Цей метод має певні недоліки:

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

2. Також маємо накладні витрати машинного часу для обробки посилок–покажчиків.

3. Зберігання покажчиків в елементах списків веде до зменшення об’єму пам’яті, що надається для зберігання даних.

 

2) Поблочний розподіл

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

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

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

- ланцюжків блоків;

- ланцюжків індексних блоків;

- таблиць відображення.

 

а) Схема з ланцюжками блоків.

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

 

 

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

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

 

б) Схема з ланцюжками індексів.

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

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

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

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

 

 

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

 

в) Схема з таблицями поблочного відображення.

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

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

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

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

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

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

 

 

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

Ця схема спрощує операції по установці та вилученню записів.

Дескриптор файлу (file descriptor)

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

- символічне ім.’я файлe;

- розміщення файлу в зовнішній пам’яті;

- тип організації файлу (послідовна, індексно- послідовна і т.п.);

- тип пристрою;

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

- тип файлу (дані, об’єктна програма, вихідна програма на конкретній мові і т.п.);

- диспозиція (постійний або тимчасовий робочий файл);

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

- дата знищення;

- дата і час останньої модифікації;

- лічильники активності доступу (наприклад, кількість звертань по читанню).

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

<== предыдущая лекция | следующая лекция ==>
Зв’язаний розподіл пам’яті | Копіювання та відновлення інформації
Поделиться с друзьями:


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


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



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




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