Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Операцiйнi системи та середовища6.05.07(Антонов...doc
Скачиваний:
11
Добавлен:
04.05.2019
Размер:
801.79 Кб
Скачать
    1. Віртуальний адресний простір

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

На рис. 1.2 подано пам’ять та її відбиття.

Внаслідок наявності зовнішньої пам’яті Vp віртуальна пам’ять Vv є набагато більша, а ніж реальна фізична. У сучасних комп’ютерах Vv може досягати 64 Тбайт для кожного з 80 процесів, які виконує „одночасно” багатозадачна ОС за середнього навантаження. Звичайно, це можливе лише за послідовного завантаження до віртуальної пам’яті окремих модулів різних програм та подальшого їхнього перевантаження до оперативної пам’яті. Віртуальний адресний простір у межах сегмента кодів, даних та бібліотек є неперервним, а фізична пам’ять може мати фрагментарний характер.

Рисунок 1.2 – Пам’ять та її відбиття

    1. Операційні системи для персональних комп’ютерів

на 32-розрядних процесорах

Мікропроцесори, розпочинаючи з І80386, стали повністю 32-розрядними і можуть адресувати 4 Гбайти пам’яті. Завдяки програмній сумісності програмне забезпечення для 16-розрядних процесорів працює на 32-розрядних. Широке розповсюдження мають ОС Windows фірми Microsoft: Windows 98SE, Windows NT 4.0, Windows 2000, ОС UNIX тощо. Такі ОС можуть максимально використовувати усі можливості, що їх надають 32-розрядні мікропроцесори.

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

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

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

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

Витісняюча багатозадачність передбачає, що розподіл процесорного часу – виключне право ОС. Кожній програмі виокремлюється обмежений інтервал процесорного часу. За таким принципом побудовано сучасні ОС, але для 16-розрядних додатків, які підтримує, наприклад, MS DOS, витіснення є неможливим, і вони перебувають нібито у привілейованих умовах: кожному з додатків здається, що він володіє усіма ресурсами комп’ютера, а решта додатків Windows перебувають у менш вигідному становищі.

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

Слід відзначити, що усі ці ОС є однокористувацькими [1].