Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
os_polnaya.doc
Скачиваний:
8
Добавлен:
17.09.2019
Размер:
2.3 Mб
Скачать

Підсистема управління оперативною пам'яттю

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

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

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

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

Введення механізму віртуалізації оперативної пам'яті дозволяє отримати два корисних наслідки:

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

  • кожна задача отримує стільки віртуальної оперативної пам'яті, скільки потрібно, а не стільки, скільки є наявної фізичної оперативної пам'яті.

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

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

В багатозадачних системах підсистема управління задачами (процесами) також забезпечує механізми залежностей між задачами, в тому числі: синхронізацію задач та успадкування властивостей.

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]