Смекни!
smekni.com

Планування ресурсу Оперативна память (стр. 8 из 8)

Як відомо, MS-DOS — це однопрограмна ОС. У ній, звичайно, можна організувати запуск резидентних або TSR-задач, але в цілому вона призначена для виконання тільки одного обчислювального процесу.

У IBM PC використовувався 16-розрядний мікропроцесор 18088, що за рахунок введення сегментного способу адресації дозволяв адресуватися до пам'яті обсягом до 1 Мбайт. У наступних ПК (IBM PC AT, AT386 і ін.) було прийняте рішення підтримувати сумісність з першими, тому при роботі з DOS насамперед розглядають перший Мбайт. Уся ця пам'ять розділялася на кілька областей, що проілюстровано на мал. 2.10. На цьому малюнку зображено, що пам'яті може бути і більше, ніж 1 Мбайт

Якщо не вдаватися в деталі, можна сказати, що до складу MS-DOS входять наступні основні компоненти:

Базова підсистема в/в - BIOS (base input-output system), що включає в себе крім програми тестування ПК (POST2) оброблювачі переривань (драйвери), розташовані в ПЗП. В остаточному підсумку, майже всі інші модулі MS-DOS звертаються до BIOS. Якщо і не прямо, то через модулі більш високого рівня ієрархії.

Модуль розширення BIOS — файл IO.SYS (в інших DOS-системах він може називатися інакше, наприклад, IBMIO.COM).

Основний, базовий модуль обробки переривань DOS — файл MSDOS.SYS. Саме цей модуль в основному реалізує роботу з ФС. (У PC-DOS аналогічний за значенням файл називається IBMDOS.COM).

Командний процесор (інтерпретатор команд) — файл COMMAND.COM.

Розподіл ОП Windows 9.х

З точки зору базової архітектури ОС Windows 95/98 вони обидві є 32-розрядими, багатопоковими ОС з витісняючою багатозадачністю ОС. Основний коритсувацький інтерфейс цих ОС – графічний.

Для своєї загрузки вони використовують ОС MS-DOS 7.х.

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

У Windows 95/98 кожна 32-розрядна ПП виконується у своєму відповідному адресному просторі, але всі вони використовують сумісно один і той же 32-розрядний системний код. Іншими словами, ВАП не використовує всіх апаратних засобів захисту, закладених у мікропроцесорах.

Системний код Windows95/98 розміщується вище границі 2 Гбайти. У 32-бітних мікропроцесорах і80х86 є чотири рівня захисту, які називаються кільцями з номерами від 0 до 3. Кільце з номером 0 є найбільш привілегійованим, тобто максимально захищеними. Компоненти системи Windows 95, відносяться до кільця 0, відображаються на ВАП між 3 і 4 Гбайти. До цих компонентів відносяться ядро Windows,підсистема управління ВМ, модулі ФС і віртуальні драйвери.

Розподіл ОП WindowsNT

В ОС WindowsNT також використовується плоска модель пам’яті. Схема розподілу можливого ВАП в системах WindowsNT дуже відрізняється від моделі пам’яті Windows95/98. Передусім, на відміну від Windows95/98 дуже великі степені використовується ряд серйозних апаратних засобів захисту, які є в мікропроцесорах, а також використаний інший логічний розподіл адресного простору.

По-перше, всі системні програмні модулі знаходяться в своїх особистих ВАП, і доступ лддо них зі сторони ПП неможливий. Ядро системи і декілька драйверів працюють у нульовому кільці в окремому адресному просторі.

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

ПП виділя.ться 2 Гбайти локального лінійного простору від границі 64 кб до 2 Гбайт.

Для 16-розрядних прикладних Windows програм ОС WindowsNT реалізує сеанси WindowsonWindows. На відміну від Windows95/98 WindowsNT дає можливість виконувати 16-розрядні Windows індивідуально в особистих просторах пам’яті або сумісно в розподіленому адресному просторі.

В системах WindowsNT4.0 об’єкти, які створюються і використовуються додатками і ОС, зберігаються в так званих пулах пам’яті. Доступ до цих пулів може бути отриманий тільки в привілегійованому режимі роботи процесора, в якому працюють компоненти ОС. Тому для того, щоб об’єкти, які зберігаються в пулах, стали видимі тредам додатків, ці треди повинні переключитися в привілегійований режим.

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

Вся ВП у WindowsNT розділяється на класи: зарезервовану, виділену і доступну.

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

- пам’ять виділена, якщо диспетчер резервує для неї місце у файлі Pagefile.sys на той випадок, коли потрібно ви грузити вмістиме пам’яті на диск. Об’єм виділеної пам’яті процема характеризує фактично потрібний йому об’єм пам’яті. Виділена пам’ять розміром файла підкачки. Обмежений об’єм виділеної пам’яті в системі визначається тим, який об’єм пам’яті можна виділити процесам без збільшення розмірів файла підкачки. Якщо в системі є достатній об’єм дискового простору, то файл підкачки може бути збільшений і буде розширений обмежений об’єм виділеної пам’яті.

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