Головна

Сторінково-сегментна організація віртуальної пам'яті

  1. D) установам і підприємствам кримінально-виконавчої системи, організаціям інвалідів
  2. II. Взаємозалежність між організаціями
  3. II. Організація проведення атестації.
  4. II. Порядок формування експертних груп, організація експертизи заявлених на Конкурс проектів і регламент роботи Конкурсної комісії
  5. International Communications Consultancy Organisation (ICCO). Міжнародна організація бізнес-комунікаторів.
  6. IV. Економіка і організація муніципального господарства
  7. PR в некомерційних організаціях

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

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

Віртуальний адреса в такій системі є трійку (S, p, d), де s - Номер сегмента, р - Номер сторінки в сегменті, d - Зміщення в сторінці.

Перетворення віртуальної адреси в фізичний виконується наступним чином. По номеру s з таблиці сегментів вибирається запис, відповідна запитуваній сегменту. За наявною в запису інформації виконується перевірка прав доступу. Далі із запису вибирається адреса таблиці сторінок даного сегмента і по номеру р з таблиці сторінок вибирається запис, відповідна заданої сторінці. З обраної записи витягується фізичну адресу початку сторінки р ', До якого додається (конкатенуються) зміщення d в сторінці.

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


34. Проблема запобігання «пробуксовки» системи

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

Чим більше сторінок (сегментів) даної програми одночасно знаходиться в оперативній пам'яті, тим менше переривань по відсутності сторінок буде генеруватися, тим швидше буде виконуватися програма. На жаль, в деяких «граничних» випадках це правило потребує корекції.

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

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

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

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

Таке безліч сторінок, що забезпечує програмі роботу без переривань по відсутності сторінок протягом деякого часу, отримало назву «робочого безлічі».

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

Проблема ефективності при плануванні процесів в системі

Дисципліна планування повинна:

- Ставитися до всіх процесів однаково (жоден процес не повинен постраждати через нескінченне відкладання);

- Забезпечити максимальну пропускну здатність системи;

- Забезпечити для максимального числа користувачів прийнятні часи відповіді;

- Бути передбачуваною. Час виконання завдання не повинно залежати від навантаження на систему;

- Збалансувати використання ресурсів (перевага віддається тим процесам, які використовують недовантажені ресурси);

- Враховувати пріоритети.

Планування може бути ефективним лише в сенсі досягнення конкретних цілей. Серед цих цілей можуть розглядатися:

- Максимальна кількість завершилися процесів в одиницю часу;

- Максимальна кількість процесів, що обслуговуються системою;

- Мінімум простоюють ресурсів системи;

- Висока надійність роботи системи;

- Низькі накладні витрати при експлуатації системи;

- Отримання максимального прибутку від експлуатації системи; і багато інших.

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

Для досягнення зазначених цілей механізм планування повинен враховувати:

- Лімітується чи процес введенням-висновком;

- Лімітується чи процес центральним процесором;

- Чи є процес пакетним або діалоговим;

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

- Скільки часу вже використав цей процес;

- Скільки ще часу потрібно даному процесу для завершення.


Стратегії управління плануванням процесів в системі

У теорії розглядаються принаймні наступні стратегії:

- Планування по терміну завершення - планування завдань виконується таким чином, щоб кожна задача могла завершитися до зазначеного часу;

- Планування FIFO - перша надійшла в систему завдання обслуговується першої. Як правило, це стратегія без перемикання;

- Циклічне планування - «класичне» планування з перемиканням, при якому кожному завданню циклічно надається квант процесорного часу;

- Пріоритетне планування - більш пріоритетні завдання обслуговуються перед менш пріоритетними;

- Найкоротший завдання першим - пріоритет віддається завданням з мінімальним оціночним часом виконання;

- Завдання з найменшим залишковим часом першим - аналог попереднього, але використовується оцінка залишкового часу виконання;

- За найбільшою відносного часу реакції - враховує не тільки оцінне час завершення завдання, але і час, проведений завданням в черзі очікування на виконання;

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

В добре спроектованій системі для досягнення гарної продуктивності і задоволення вимог користувачів доводиться йти на компроміси і застосовувати комбіновані стратегії.

37. Трирівнева планування виконання завдань в системі

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

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

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

Сегментна організація віртуальної пам'яті | Кешування. Принцип роботи кеш-пам'яті


Реалізація взаємовиключення на апаратному рівні | Тупики та методи боротьби з ними | Методи запобігання тупиків | Методи обходу тупиків. алгоритм банкіра | Методи виявлення тупиків | Методи відновлення після тупиків | Методи управління оперативною пам'яттю | Стратегії пошуку відповідного блоку оперативної пам'яті | Віртуальна пам'ять. Принцип організації та основний алгоритм функціонування. | Сторінкова організація віртуальної пам'яті |

© 2016-2022  um.co.ua - учбові матеріали та реферати