Архітектура Windows: опис, види, структура

Режим ядра

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

Хоча архітектура Windows x86 підтримує чотири різноманітних рівня привілеїв (від 0 до 3), використовуються тільки два крайніх з них. Програми користувальницького режиму запускаються з CPL 3, а ядро – з CPL 0. Ці два рівня часто називаються «ring 3» і «ring 0» відповідно. Таке проектне рішення було прийнято для забезпечення переносимості коду на платформи RISC, які підтримують тільки два рівня привілеїв, хоча це порушує сумісність з програмами OS/2, які містять сегменти привілеїв вводу-виводу, які намагаються безпосередньо отримати доступ до обладнання.

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