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

Користувальницький режим

Користувальницький режим складається з різних системних процесів і бібліотек DLL.

Інтерфейс між програмами і функціями ядра операційної системи називається «підсистемою середовища». Архітектура Windows 7 і інших в лінійці NT) може мати більш одного з них, кожен з яких реалізує свій набір API. Цей механізм був розроблений для підтримки додатків, написаних для різних типів операційних систем. Ні одна з підсистем середовища не має прямого доступу до обладнання. Доступ до апаратних функцій здійснюється шляхом виклику підпрограм режиму ядра.

Яку роль відіграють підсистеми?

Існує чотири основні підсистеми середовища: Win32, OS/2, Windows, Linux і POSIX.

Підсистема середовища Win32 може запускати 32-бітні програми «Віндовс». Вона містить консоль, а також підтримку текстового вікна, завершення роботи та обробку серйозних помилок для всіх інших підсистем середовища. Вона також підтримує Віртуальні машини DOS (VDM), які дозволяють MS-DOS і 16-розрядними додатками Win16 працювати в Windows NT.

Існує спеціальний VDM MS-DOS, який працює у своєму власному адресному просторі і емулює Intel 80486 під управлінням MS-DOS 5.0. Програми Win16, однак, працюють в Win16 VDM. Кожна з них за замовчуванням виконується в одному і тому ж процесі, використовуючи один і той же адресний простір, і Win16 VDM надає кожній програмі свій власний потік для виконання. Однак архітектура системи Windows NT дозволяє користувачам запускати її в окремому вікні, що дає можливість превентивно виконувати багатозадачність, оскільки «Віндовс» буде випереджати весь процес VDM, який містить тільки одне працююче додаток.

Процес підсистеми середовища Win32 (csrss.exe також включає в себе функції керування вікнами, іноді звану «віконним менеджером». Вона обробляє події вводу (наприклад, із клавіатури і миші), а потім передає повідомлення додатками, яким необхідно отримати цей enter. Кожне додаток відповідає за появу або оновлення своїх власних вікон і меню у відповідь на ці повідомлення.

Підсистема середовища OS/2 підтримує 16-розрядні символьні додатки OS/2 і емулює OS/2 1.x, але не 32-розрядні або графічні додатки OS 2, використовувані в OS/2 2.x або пізнішої версії тільки для комп’ютерів x86.

Для запуску графічних програм OS/2 1.x повинна бути встановлена підсистема надбудов Windows NT для Presentation Manager. Останньою версією NT, має підсистему OS/2, була «Віндовс-2000», потім вона була видалена, починаючи з архітектури Windows XP.

Підсистема середовища POSIX підтримує програми, які суворо написані або для POSIX.1, або для відповідних стандартів ISO/IEC. Вона була замінена Interix, яка є частиною Windows Services for UNIX.

Підсистема безпеки працює з токенами безпеки, надає або забороняє доступ до облікових записів користувачів на основі дозволів на ресурси, обробляє запити на вхід в систему і ініціює перевірку автентичності входу, а також визначає, які системні ресурси повинні перевірятися Windows NT.