Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СПЗ_лекції.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
3.44 Mб
Скачать

Мультипрограмування з фіксованими розділами пам’яті.

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

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

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

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

Фіксовані розділи ОП, трансляція та завантаження переміщуваних модулів.

Переміщуючі завантаж. дозволяють створити програмні модулі, які прац. в дозволеному місці ОП. Тоді утворюється єдина черга завдань і чергове завдання відправляється в той розділ, який в даний момент вільний, а черга завд. обслід. за якоюсь пріоритетною дисципліною. Але в такому випадку виникає проблема захисту адресного простору. в кожному розділі. Може виникнути ситуація, що програма переходить в інший розділ тому система захисту пам’яті реалізує контроль за допомогою граничних регістрів – 2 регістри дозволяють вказувати верхню та нижню межу розділу кор., або одну з меж та розмір розміру. Є місце явище фрагментації. Буде мати місце завжди незалежно від способу організації пам’яті, але воно може проявлятися в >або< степіні.

Мультипрограмування із змінними розмірами пам’яті.

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

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

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

  3. Завантаженя задачі в вид. їй розділ., та коректування таблиць вільних та зайнятих областей.

  4. Після завантаж кожної задачі знову коректування таблиці вільної і зайнятої областей.

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