У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент





Контрольна робота

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

Сторінкова організація пам’яті представляє собою інше рішення проблеми фрагментації. Сторінкова організація використовується в цілому ряді сучасних обчислювальних машин, наприклад, в ЕВМ х DS 940.

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

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

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

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

З сторінковою організацією зв’язаний ряд важливих проблем.

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

Сегментна організація пам’яті.

Сегментація представляє собою одночасно схему управління памяттю і інформацією.

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

Сегментація полегшує реалізацію динамічних зв’язків.

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

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

З точки зору програміста, сегментація адресного простору володіє рядом привілей. З кожним сегментом можуть бути зв’язані спеціальні атрибути, виділяючі правила доступу, такі як <тільки читати і тільки читати> <тільки виконувати> слова всередині сегмента, які виділені як доступні тільки для виконання не можуть бути прочитані як дані, і на це місце не може бути записана яка-небудь нова інформація.

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

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

Сегментно-сторінкова організація пам’яті.

Було б дуже привабливо об’єднати переваги всіх раніше розглянутих методів.

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

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

Для подолання цієї проблеми дуже ефективним є показовий метод запам’ятовування найбільш часто використаних сегментів і сторінок в невеликих швидкодіючих асоціативних пам’ятях. Цей метод використаний в обчислювальних машинах ІВМ модель 67 і НіS645. Але навіть примінення буферів асоціативної пам’яті не виключає повністю зниження швидкодії визиваюче багаторівневою схемою адресації. Звичайно це зниження швидкодії вдається зробити меншим десяти процентів, однак воно суттєво залежить від характеристик програми і ефективності роботи буферів асоціативної пам’яті.

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

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

Операційна система UNIX

Система UNIX реалізована на багатьох макро- і мікрокомпютерів.

Дискова операційна система UNIX є промисловим


Сторінки: 1 2 3