Щоб для задач відвесті як можна більшій ОБСЯГИ пам'яті, операційна система будується таким чином, что Постійно в оператівній пам'яті розташовуєся Тільки найбільш потрібна ее частина. Цю Частину ОС назівають ядром . Решта Модулі ОС могут буті Звичайний диск-резидентність (чі Транзитні), тоб завантажуватіся в оперативну пам'ять Тільки по необхідності, и после свого Виконання вновь звільняті пам'ять.
Така схема розподілу спричиняє два види ВТРАТИ обчислювальних рерсів - Втрата процесорного годині, ТОМУ ЩО процесор простоює, поки завдання очікує Завершення операцій Вступ/Виведення, и Втрата самої оператівної пам'яті, ТОМУ ЩО не нашкірна программа вікорістовує всю пам'ять, а режим роботи в цьом випадка однопрограмній.
Если є необхідність создать програму, логічний (і віртуальний) адресно простір Якої повинною буті больше, чем вільна область пам'яті, чі даже больше, чем весь можливий ОБСЯГИ оператівної пам'яті, то вікорістовується Розподіл з перекриття (так звані оверлейні структурі).
цею метод розподілу пріпускає, что вся программа может буті Розбита на Частини - сегменті. Кожна оверлейного программа має одну головну Частину (main) i кілька сегментів (segment), причому в пам'яті машини одночасно могут знаходітіся Тільки ее головна частина й один чг декілька сегментів.
Поки в оператівній пам'яті розташовуються сегментах, что віконуються, решта знаходяться в зовнішній пам'яті. p> Розподіл статичність и дінамічнімі розділамі
Для організації мультіпрограмного режиму звітність, Забезпечити одночасне розташування в оператівній пам'яті декількох завдань (чі Цілком чі їх частина) Найпростіша схема розподілу пам'яті между декількома завданнями пріпускає, что пам'ять, яка незайнята ядром ОС, может буті Розбита на декілька безперервніх частин (зон, розділів - partition). Розділи характеризуються ім'ям, типом, границями (як правило, Указуються качан розділу и его довжина).
розбівка пам'яті на декілька безперервніх розділів может буті фіксованім (статичність), або дінамічнім (тоб процес віділення нового розділу пам'яті відбувається безпосередня з з'явитися Нової задачі).
Розділи з фіксованімі границями
розбівка Всього ОБСЯГИ оператівної пам'яті на кілька розділів может відбуватіся одноразово чг в міру необхідності оператором системи.
Приклад розбівка пам'яті на кілька розділів привидів на рис.2
В
В
В
Рис.2. Розподіл пам'яті розділамі з фіксованімі границями
Використання оверлейного структур дозволяє створюваті Великі складні програми й у тієї ж годину підтрімуваті коефіцієнт мультіпрограмування (под коефіцієнтом мультіпрограмування розуміють кількість паралельних віконуваніх програм) на належноє Рівні. Перші мультіпрограмні ОС будувать за цією схемою. p> При невелика обсязі пам'яті І, отже, невелікій кількості розділів збільшити кількість паралельно віконуваніх Додатків можна за рахунок своппінгу (Swapping). При своппінгу завдання может буті Цілком вівантажена на магнітний диск (Переміщена в зовнішню пам'ять), а на ее місце Завантажується або більш прівілейована, або просто готова до Виконання Інша задача, что знаходится на диску в припиненням стані. При своппінгу з ОСНОВНОЇ пам'яті в зовнішню (і назад) переміщається вся програма, а не ее окрема частина.
Основним недоліком такого способу розподілу пам'яті є наявність годиною й достатньо великого ОБСЯГИ невікорістаної пам'яті (дів. Мал.2). Невикористана пам'ять может буті в шкірному з розділів. Оскількі розділів декілька, те и невикористаних областей виходе мало, тому Такі ВТРАТИ стали назіваті фрагментацією пам'яті. У окрем Розділах Втратив пам'яті могут буті Дуже значний, однак використовуват фрагменти Вільної пам'яті при такому способі розподілу НЕ представляється можливіть.
Бажання розроблювачів скоротіті ці значні ВТРАТИ призвело їх до двох РІШЕНЬ:
а) віділяті Розділ Рівно такого ОБСЯГИ, что Потрібний под потокової завдання;
б) розміщати завдання не в одній безперервній области пам'яті, а в декількох областях.
Розділи з рухлівімі границями
Щоб позбутіся фрагментації, можна спробуваті розміщати в оператівній пам'яті задачі щільно, одну за іншою, віділяючі Рівно стількі пам'яті, Скільки завдання вімагає. Спеціальний планувальнік (диспетчер пам'яті) веде список адресу Вільної оператівної пам'яті. З з'явиться Нової задачі диспетчер пам'яті переглядає цею список І віділяє для задачі Розділ одним Із трех способів:
перша Придатний ділянка;
найбільш Придатний ділянка;
найбілш невідповідна ділянка.
У первом випадка список вільніх областей упорядковується по адресах (Наприклад, за ЗРОСТАННЯ адреси). Д...