Взаємодія 32– та 16–розрядних кодів

Використання 32–розрядного, або 16–розрядного коду в тому або іншому місці Windows 98 визначається міркуваннями сумісності з існуючими продуктами, зменшенням робочої частини ОС і загальним підвищенням продуктивності.

Windows 98 застосовує 32–розрядний код скрізь, де це дозволяє суттєво покращити продуктивність без втрати сумісності. 16–розрядний код Windows 3.Х зберігається там, де потрібна сумісність з існуючими продуктами і там, де впровадження 32–розрядного коду суттєво збільшувало б вимоги до пам’яті без значного підвищення продуктивності.

Всі функції нижнього рівня – ядро ОС, менеджер пам’яті і всі підсистеми вводу/виводу та драйвери пристроїв (в тому числі, драйвери мережі та файлова система) – реалізовані у вигляді 32–розрядного коду.

Більшість 16–розрядного коду Windows 98 написано на асемблері, на самому низькому рівні і тому забезпечує продуктивність, що може бути порівняна з 32–розрядними програмами.

Багато функцій із модуля GDI (Graphics Device Interface) Windows 3.1 (система друку, система роботи із шрифтами) були переписані у 32–розрядний формат.

В той же час, більшість функцій керування вікнами із модуля User.exe залишені 16‑розрядними для збереження сумісності.

 

 

Компоненти системи розподілені між чотирма рівнями (Ring 0 .. Ring 3), які пропонують різний ступінь системного захисту. Захист рівня Ring 3 виконується внутрішніми засобами архітектури процесора Intel. Найменш захищений рівень Ring 0 вміщує код найвищого рівня (файлова система і менеджер віртуальних машин).