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


СМ0S RАМ можна скорегувати.

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

1. 2. Типи адрес

Для ідентифікації змінних і команд використовуються символьні імена (мітки), ВА і фізичні адреси (малюнок 16).

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

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

Ідентифікатори перемінних в

програмі на алгоритмічній мові

Транслятор

Віртуальні адреса які виробляються

транслятором

1) Завантажувач що переміщається

статистичне перетворення

2) Динамічне перетворення

апаратними засобами

Номер комірок фізичної пам’яті

Рис. 16. Типи адрес

Фізичні адреси відповідають номерам комірок ОП, де в дійсності розташовані чи будуть розташовані змінні і команди. Перехід від ВА до фізичних може здійснюватися двома способами. У першому випадку заміну ВА на фізичні робить спеціальна системна програма – пересуваючий завантажник. Пересуваючий завантажник, на підставі наявних у нього вихідних даних про початкову адресу фізичної пам'яті, у яку має бути завантажена програма, і інформації, наданої транслятором про адресно-залежні константи програми, виконує завантаження програми, сполучаючи її з заміною ВА фізичними.

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

1.3. Пам'ять і відображення

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

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

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

Простір імен програми

Віртуальний адресний простір

Фізична пам’ять комп’ютера

Рис. 17. Пам'ять і відображення

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

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

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

Термін ВП фактично відноситься до систем, що зберігають ВА під час виконання. Тому що друге відображення здійснюється


Сторінки: 1 2 3 4 5 6 7 8 9 10 11