Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
13-15.docx
Скачиваний:
1
Добавлен:
20.11.2019
Размер:
77.04 Кб
Скачать

Б №13 Фіксовані розділи пам'яті

Процес в ході свого виконання може видавати запити на виділення/звільнення пам'яті. Всі ці запити задовольняються тільки в межах віртуального адресного простору процесу, а отже - в межах виділеного йому розділу реальної пам'яті.

У більш загальному випадку для процесу може виділятися і декілька розділів пам'яті, причому їх виділення/звільнення може виконуватися динамічно (приклад - MS DOS). Проте, загальними завжди є наступні правила:

  • розділ займає безперервну область реальної пам'яті;

  • виділений розділ фіксується в реальній пам'яті;

  • після виділення розділу процес працює з реальними адресами в розділі.

Завдання ефективного розподілу пам'яті (у будь-якій її моделі) зводиться перш за все до мінімізації сумарного об'єму "дірок".

Діркою називається область реальної пам'яті, яка не може бути використана. Розрізняють дірки зовнішні і внутрішні. Рисунок ілюструє зовнішні і внутрішні дірки в системі OS/360.

Внутрішньою діркою називається пам'ять, яка розподілена процесу, але їм не використовується. Так, на рисунку 3.1а процесу 1 виділений розділ P1, але віртуальний адресний простір процесу менше розміру розділу, простір розділу, що залишився, складає внутрішню дірку.

Зовнішньою діркою називається область реальної пам'яті, яка не розподілена ніякому процесу, але дуже мала, щоб задовольнити запит на пам'ять. На рисунку 3.1б сумарний розмір вільних областей, можливо, перевищує запит, але кожна з цих областей окремо менше запиту, тому всі ці вільні області є зовнішніми дірками.

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

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

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]