то наступне звертання по цій же адресі з великою імовірністю відбудеться найближчим часом .
Усі попередні міркування справедливі і для інших пар ЗП, наприклад, для ОП і зовнішньої пам'яті. У цьому випадку зменшується середній час доступу до даних, розташованим на диску, і роль кеш-пам'яті виконує буфер в ОП.
6.3. Узгодження швидкостей обміну і кешування даних.
При обміні даними завжди виникає задача узгодження швидкості. Узгодження швидкості звичайно досягається за рахунок буферизації даних в ОП і синхронізації доступу процесів до буфера.
У підсистемі в/в для узгодження швидкостей обміну також широко використовується буферизація даних в ОП. У тих спеціалізованих ОС, у яких забезпечення високої швидкості в/в є першочерговою задачею (керування в реальному часі, послуги мережної файлової служби і т.п.), велика частина ОП виділяється не під коди прикладних програм, а під буферизацію даних. Однак буферизація тільки на основі ОП в підсистемі в/в виявляється недостатньою — різниця між швидкістю обміну з ОП, куди процеси поміщають дані для обробки, і швидкістю роботи зовнішнього пристрою часто стає занадто значної, щоб як тимчасовий буфер можна було б використовувати ОП — її обсягу може просто не вистачити. Для таких випадків необхідно передбачити особливі міри, і часто як буфер використовується дисковий файл, названий також спул-файлом (від spool — шпулька, теж буфер, тільки для ниток). Типовий приклад застосування спулинга дає організація виводу даних на принтер. Для документів, що друкуються, обсяг у кілька десятків мегабайт — не рідкість, тому для їхнього тимчасового збереження (а печатка кожного документа займає від декількох хвилин до десятків хвилин) обсягу ОП явно недостатньо.
Буферизація даних дозволяє не тільки погодити швидкості роботи процесора і зовнішнього пристрою, але і вирішити іншу задачу — скоротити кількість реальних операцій в/в за рахунок кешування даних. Дисковий кеш є неодмінним атрибутом підсистем в/в практично всіх ОП, значно скорочуючи час доступу до збережених даних.
7. Розподіл ОП в ОС для MS-DOS
Перше питання, що хочеться задати — це які ОС варто відносити до сучасних, а які — ні? Чи варто в наш час вивчати таку «несучасну» ОС, як MS-DOS? На наш погляд, насамперед до сучасних ОС варто віднести ті, що використовують апаратні можливості мікропроцесорів, спеціально закладені для організації високопродуктивних і надійних обчислень. Однак ці ОС, як правило, дуже складні і громісткі. Вони займають великий дисковий простір, вимагають і великого обсягу ОП. Тому для рішення деякого класу задач цілком підходять і системи, що використовують мікропроцесори в так називаному реальному режимі роботи.
Як відомо, 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,підсистема управління ВМ, модулі ФС і віртуальні драйвери.
Розподіл ОП Windows NT
В ОС Windows NT також використовується плоска модель пам’яті. Схема розподілу можливого ВАП в системах Windows NT дуже відрізняється від моделі пам’яті Windows95/98. Передусім, на відміну від Windows95/98 дуже великі