Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОПС.docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
138.62 Кб
Скачать
  1. Фіксовані розділи пам'яті.

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

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

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

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

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

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

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

2.Модель віртуальних комунікаційних портів

Більшість засобів взаємодії процесів відповідають концепції комунікаційних портів - віртуальних пристроїв, через які процеси обмінюються даними. Як пристрої, комунікаційні порти можуть "вписуватися" у файлову систему як спеціальні файли. Таке зведення засобів взаємодії до файлової моделі в загальному випадку забезпечує три переваги: • можливість одноманітних операцій із засобами взаємодії і з файлами; • можливість доступу до видалених засобів як до видалених файлів; • можливість використання єдиних засобів контролю доступу для файлової системи і для комунікацій. Концепція комунікаційних портів, проте, в реальних ОС витримується далеко не строго. Реальне маніпулювання далеко не зі всім засобам взаємодії між процесами можливо звести до однотипних операцій. Доступ до видалених засобів вирішується методами мережевих модулів ОС. Розмежування доступу в повному об'ємі ми спостерігали тільки в AS/400, і те не в рамках файлової системи, а в контексті загальної об'єктно-орієнтованої структури цієї системи. Проте, тенденція до моделі портів в тому або іншому ступені спостерігається в сучасних ОС, перш за все, в частині іменування засобів взаємодії. У цьому розділі ми розглянемо загальні властивості засобів взаємодії, називаючи їх віртуальними комунікаційними портами. Віртуальним комунікаційним портом є ресурс ОС. Він, зрозуміло, має і фізичне уявлення - структури даних, області пам'яті, приховані семафори і тому подібне Порти, як ресурси, що конструюються ОС, не мають жорсткого обмеження по кількості - нові порти можуть створюватися у міру потреби і знищуватися, коли необхідність в них відпадає. При використанні порту декількома процесами один процес створює порт, а інші - дістають доступ до вже існуючого порту. Як і при роботі зі всяким ресурсом, процес повинен дістати доступ до цього порту - відкрити його. Системний виклик відкриття комунікаційного порту (або його створення) повертає процесу маніпулятор, який процес використовує як ідентифікатор порту у всіх подальших операціях з ним. Порт використовується одночасно, як мінімум, двома процесами, тому важливо, щоб маніпулятори у процесів-кореспондентів, що взаємодіють через цей порт, зв'язувалися з одним і тим же фізичним представленням порту. Можливі два варіанти: або всі процеси, що використовують порт, мають один і той же маніпулятор порту, або для кожного процесу цей маніпулятор індивідуальний. У будь-якому випадку ОС підтримує в ядрі таблицю відкритих портів (точніше - декілька таких таблиць - по одній для кожного типу засобів взаємодії процесів).Для доступу двох процесів до одного і того ж фізичного представлення порту у виклику відкриття порту необхідно вказати параметри, що дозволяють системі це фізичне уявлення знайти. З погляду ідентифікації порти можуть бути іменованими або неіменованими.

БІЛЕТ № 15