WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

... відкритий, безкоштовний архів рефератів, курсових, дипломних робіт

ГоловнаІнформатика, Компютерні науки → Планування ресурсу „Оперативна пам’ять” - Реферат

Планування ресурсу „Оперативна пам’ять” - Реферат

віртуальні (умовні) адреси, звичайно вважаючи за замовчуванням, що програма буде розміщена, починаючи з нульової адреси. Сукупність ВА процесу називається ВАП. Кожен процес має власний ВАП. Максимальний розмір ВАП обмежується розрядністю адреси, властивій даній архітектурі комп'ютера, і, як правило, не збігається з об'ємом фізичної пам'яті, наявної в комп'ютері.
Ідентифікатори перемінних в
програмі на алгоритмічній мові
Транслятор
Віртуальні адреса які виробляються
транслятором
1) Завантажувач що переміщається
статистичне перетворення
2) Динамічне перетворення
апаратними засобами
Номер комірок фізичної пам'яті
Рис. 16. Типи адрес
Фізичні адреси відповідають номерам комірок ОП, де в дійсності розташовані чи будуть розташовані змінні і команди. Перехід від ВА до фізичних може здійснюватися двома способами. У першому випадку заміну ВА на фізичні робить спеціальна системна програма - пересуваючий завантажник. Пересуваючий завантажник, на підставі наявних у нього вихідних даних про початкову адресу фізичної пам'яті, у яку має бути завантажена програма, і інформації, наданої транслятором про адресно-залежні константи програми, виконує завантаження програми, сполучаючи її з заміною ВА фізичними.
У деяких випадках (звичайно в спеціалізованих системах), коли заздалегідь точно відомо, у якій області ОП буде виконуватися програма, транслятор видає код, що виконується, відразу у фізичних адресах.
1.3. Пам'ять і відображення
Якщо не брати до уваги програмування машинною мовою, то можна сказати, що програміст звертається до пам'яті за допомогою деякого набору логічних імен, що найчастіше є символьними, а не числовими і для якого відсутнє відношення порядку. Іншими словами, у загальному випадку безліч змінних неупорядкована, хоча окремі змінні і можуть мати часткову упорядкованість (наприклад, елементи масиву). Імена змінних і вхідних точок програмних модулів складають простір імен.
З іншого боку, існує поняття фізичної ОП, власне з який і працює процесор, витягаючи з її команди і дані і поміщаючи в неї результати обчислень. Фізична пам'ять являє собою упорядковану безліч осередків, і усі вони пронумеровані, тобто до кожної з них можна звернутися, указавши її порядковий номер (адреса). Кількість осередків фізичної пам'яті обмежене і фіксовано.
Системне програмне забезпечення повинне зв'язати кожне зазначене користувачем ім'я з фізичною коміркою пам'яті, тобто здійснити відображення простору імен на фізичну пам'ять комп'ютера. У загальному випадку це відображення здійснюється в два етапи (рис. 17): спочатку системою програмування, а потім ОС (за допомогою спеціальних програмних модулів керування пам'яттю і використання відповідних апаратних засобів обчислювальної системи). Між цими етапами звертання до пам'яті мають форму віртуальну чи логічну адреси. При цьому можна сказати, що безліч усіх припустимих значень ВА для деякої програми визначає її ВАП чи ВП. ВАП програми насамперед залежить від архітектури процесора і від системи програмування і практично не залежить від обсягу реальної фізичної пам'яті, встановленої в комп'ютер. Можна ще сказати, що адреси команд і змінних у готовій машинній програмі, підготовленої до виконання системою програмування, саме і є ВА.
?
Простір імен програми
Віртуальний адресний простір
Фізична пам'ять комп'ютера
Рис. 17. Пам'ять і відображення
Одним з окремих випадків відображення простору імен на фізичну пам'ять є тотожність ВАП фізичної пам'яті. При цьому немає необхідності здійснювати друге відображення. У даному випадку говорять, що система програмування генерує абсолютну подвійну програму; у цій програмі всі подвійну адреси такі, що програма може виконуватися тільки в тому випадку, якщо її ВА будуть точно відповідати фізичним. Частина програмних модулів будь-якої ОС обов'язково повинна бути абсолютними подвійними програмами. Ці програми розміщаються по фіксованих адресах і з їхньою допомогою вже можна згодом реалізовувати розміщення інших програм, підготовлених системою програмування таким чином, що вони можуть працювати на різних фізичних адресах (тобто на тих адресах, на яких їх розмістить ОС).
Іншою часткою випадку цієї загальної схеми трансляції адресного простору є тотожність ВАП вихідному простору імен. Тут уже відображення виконується самою ОС, що під час виконання використовує таблицю символьних імен. Така схема відображення використовується надзвичайно рідко, тому що відображення імен на адреси необхідно виконувати для кожного входження імені (кожного нового імені) і особливо багато часу витрачається на кваліфікацію імен.
Можливі і проміжні варіанти. У найпростішому випадку транслятор-компілятор генерує відносні адреси, що, по суті, є ВА з наступним настроюванням програми на один з безупинних розділів. Друге відображення здійснюється завантажником. Після завантаження програми ВА губиться, і доступ виконується безпосередньо до фізичних осередків. Більш ефективне рішення досягається в тому випадку, коли транслятор виробляє як ВА, відносну адресу й інформацію про початкову адресу, а процесор, використовуючи підготовлювану ОС адресну інформацію, виконує друге відображення не один раз (при завантаженні програми), а при кожнім звертанні до пам'яті.
Термін ВП фактично відноситься до систем, що зберігають ВА під час виконання. Тому що друге відображення здійснюється в процесі виконання задачі, то адреси фізичних осередків можуть змінюватися. При правильному застосуванні такі зміни можуть поліпшити використання пам'яті, позбавивши програміста від деталей керування нею, і навіть збільшити надійність обчислень.
Якщо розглядати загальну схему двохетапного відображення адрес, то з позиції співвідношення обсягів згаданих адресних просторів можна відзначити наявність наступних трьох ситуацій:
- обсяг ВАП програми Vv менше обсягу фізичної пам'яті Vp;
- Vv = Vp;
-Vv > Vp.
Перша ситуація, при якій Vv Vp зустрічається навіть у ПК, тобто в найпоширеніших і недорогих комп'ютерах. Тепер це найпоширеніша ситуація, і для неї мається кілька методів розподілу пам'яті, що відрізняються як складністю, так і ефективністю.
1.4. Свопінг
Свопінг - алгоритм реалізації віртуальної пам'яті. Його можна розбити на три частини: керування простором на пристрої вивантаження, вивантаження процесів з основної пам'яті і підкачування процесів в основну пам'ять. Як пристрій вивантаження використовують розділ на пристрої типу твердого (swap-partition) чи дисковий файл (swap-file) на такому пристрої.
Свопінг є різновидом ВП.
На рис. 18 показаний графік залежності коефіцієнта завантаження процесора в залежності від числа одночасно виконуваних процесів і частки часу, проведеного цими процесами в стані чекання в/в.
Рис. 18. Залежність завантаження процесора від числа задач і інтенсивності в/в.
З рисунка видно, що для завантаження процесора на 90% досить всього трьох рахункових задач. Однак для того, щоб забезпечити таке ж завантаження
Loading...

 
 

Цікаве