Windows запускається на виконання як звичайна програма MS-DOS. Але, після завантаження в основну пам’ять, вона бере на себе майже всі функції керування ОС:
- пам’яттю;
- програмами, що виконуються;
- процесами;
- дисплеєм;
- клавіатурою;
- мишею;
- принтером;
- послідовними портами.
Windows це не ОС оскільки апаратура IBM PC обслуговується як MS-DOS, так і Windows. MS-DOS керує файловою системою. Все інше робить Windows. (Міняючи файлову систему дуже важко було б забезпечити сумісність з існуючим програмним забезпеченням).
Програма в Windows не має права звертатись до пристроїв напряму, а повинна використовувати для цього внутрішні функції Windows (їх > 600).
Це обмеження природне для багатозадачної операційної оболонки, коли всі ресурси комп’ютера розділяються.
Основні функції Windows виконують три системних модуля – kernel.exe, gdi.exe та user.exe. їх функції чітко розділені:
kernel.exe – керує пам’яттю, завантаженням та виконанням програм, а також виконує інші системні функції.
gti.exe – Graphics Devise Interface - інтерфейс з графічними пристроями, відповідає за графіку.
user.exe – робить все інше.
Модулі user.exe та gdi.exe взаємодіють з апаратною IBM PC через драйвери пристроїв Windows. Майже всі драйвери пристроїв Windows фактично виконують функції ROM BIOS MS-DOS, працюючи з пристроями напряму. Виключення – драйвер принтера printer.drv, який звертається до свого пристрою через процедури ROM BIOS. На схемі дещо спрощено.
Модуль gdi.exe та деякі драйвери також можуть викликати функції ядра (kernel.exe), а програми Windows можуть в принципі безпосередньо звернутись до драйвера (на відміну від MS-DOS, де не можна звернутись до драйвера пристрою повз ОС).
Взаємодія програм Windows з MS-DOS (тобто з функціями DOS). Хоча в програмах Windows можна використати багато функцій стандартної бібліотеки ”С”, насправді відбувається звертання не безпосередньо до DOS, а до Windows (точніше до модуля kernel.exe), який відслідковує всі звертання до переривань DOS та BIOS. При звертанні до дозволених функцій DOS середовище Windows забезпечує сумісність виклику DOS з чужою організацією основної пам’яті, а в деяких випадках (при звертаннях до функцій exec, або до функцій роботи з пам’яттю) повністю заміняє виклик на відповідне звертання до пристрою.
Якщо програма Windows викликає невідоме Windows переривання система ”висне”.
Таким чином в Windows зв’язки між програмою користувача, системою і апаратурою чітко визначені. Програма взаємодіє з Windows, Windows викликає драйвери пристроїв, які, в свою чергу, звертаються до апаратури. Розглянута схема відображає тільки загальну структуру.