Реферат: Планування ресурсу Оперативна память

Ситуація, коли Vv = Vp зустрічалася досить часто, особливо характерна вона була для недорогих обчислювальних комплексів. Для цього випадку мається велика кількість методів розподілу ОП.

Нарешті, у наш час ми вже досягли того, що ситуація Vv > Vp зустрічається навіть у ПК, тобто в найпоширеніших і недорогих комп'ютерах. Тепер це найпоширеніша ситуація, і для неї мається кілька методів розподілу пам'яті, що відрізняються як складністю, так і ефективністю.

1.4. Свопінг

Свопінг – алгоритм реалізації віртуальної пам'яті. Йогоможна розбити на три частини: керування простором на пристроївивантаження, вивантаженняпроцесівзосновноїпам'яті і підкачуванняпроцесів в основнупам'ять. Як пристрійвивантаженнявикористовуютьрозділ на пристрої типу твердого (swap-partition) чидисковий файл (swap-file) на такому пристрої.

Свопінг є різновидом ВП.

На рис.18 показаний графік залежності коефіцієнта завантаження процесора в залежності від числа одночасно виконуваних процесів і частки часу, проведеного цими процесами в стані чекання в/в.

Рис. 18 . Залежність завантаження процесора від числа задач і інтенсивності в / в .

З рисунка видно, що для завантаження процесора на 90% досить всього трьох рахункових задач. Однак для того, щоб забезпечити таке ж завантаження інтерактивними задачами, що виконують інтенсивнев/в, будуть потрібні десятки таких задач. Необхідною умовою для виконання задачі є завантаження її в ОП, обсяг якої обмежений. У цих умовах був запропонований метод організації обчислювального процесу, названий с вопінгом. Відповідно до цього методу деякі процеси (звичайно знаходяться в стані чекання) тимчасово вивантажуються на диск. Планувальник ОС не виключає їх зі свого розгляду, і при настанні умов активізації деякого процесу, що знаходиться в області свопінга на диску, цей процес переміщається в ОП. Якщо вільного місця в ОП не вистачає, то вивантажується інший процес.

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

2. Оверлейні структури програм

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

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

1) або він сам (якщо даний сегмент непотрібно в зовнішній пам’яті в його текучому стані) звертається до ОС з указівкою який сегмент повинен бути завантажений в пам’ять наступний.

2) або він повертає управління головному сегменту програми (в модуль main), і уже той звертається до ОС з указівкою, який сегмент зберегти (якщо потрібно), а який сегмент завантажити в ОП, і знову віддає управління одному з сегментів що знаходяться в пам’яті. Найпростіша схема сегментування передбачає, що в пам’яті у кожний конкретний момент часу може знаходитися тільки один сегмент (разом із модулем main). Більш складні схеми, які використовують у великих обчислювальних системах, дозволяють розміщувати по декілька сегментів. В деяких обчислювальних комплексах можуть бути окремо сегменти коду і сегменти даних. Сегменти коду як правило не терплять змін в процесі свого виконання, тому при завантаженні нового сегмента коду на місце опрацьованого, останній може не зберігатись в зовнішній пам’яті, на відміну від сегмента даних, який обов’язково зберігати.

3. Методи розподілу пам'яті без використання дискового простору

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


Рис. 19. Класифікація методів розподілу пам'яті

3.1. Розподіл пам'яті фіксованими розділами

Найпростішим способом керування ОП є поділ її на кілька розділів фіксованої величини. Це може бути виконане вручну оператором під час старту чи системи під час її генерації. Чергова задача, що надійшла на виконання, міститься або в загальну чергу (рис.20.а), або в чергу до деякого розділу (рис.20.б).

Рис. 20 . Розподіл пам'яті фіксованими розділами:

а - із загальною чергою; б - з окремими чергами

Підсистема керування пам'яттю в цьому випадку виконує наступні задачі:

· порівнюючи розмір програми, що надійшла на виконання, і вільних розділів, вибирає придатний розділ,

· здійснює завантаження програми і настроювання адрес.

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

3. 2. Розподіл пам'яті розділами змінної величини

У цьому випадку пам'ять машини не поділяється заздалегідь на розділи. Спочатку вся пам'ять вільна. Кожній знову поступаючій задачі виділяється необхідна їй пам'ять. Якщо достатній обсяг пам'яті відсутній, то задача не приймається на виконання і стоїть в черзі. Після завершення задачі пам'ять звільняється, і на це місце може бути завантажена інша задача. Таким чином, у довільний момент часу ОП являє собою випадкову послідовність зайнятих і вільних ділянок (розділів) довільного розміру. На рис.21 показаний стан пам'яті в різні моменти часу при використанні динамічного розподілу. Так в момент t0 у пам'яті знаходиться тільки ОС, а до моменту t1 пам'ять розподілена між 5 задачами, причому задача П4, завершуючись, залишає пам'ять. На звільнене після задачі П4 місце завантажується задача П6, що надійшла в момент t3.

Рис .21 . Розподіл пам'яті динамічними розділами

Задачами ОС при реалізації даного методу керування пам'яттю є:

· ведення таблиць вільних і зайнятих областей, у яких вказуються початкові адреси і розміри ділянок пам'яті;

К-во Просмотров: 214
Бесплатно скачать Реферат: Планування ресурсу Оперативна память