Windows API включает тысячи вызываемых функций, которые сгруппированы в следующие основные категории:

(o) базовые сервисы (Base Services);

(o) сервисы компонентов (Component Services);

(o) сервисы пользовательского интерфейса (User Interface Services);

(o) сервисы графики и мультимедиа (Graphics and Multimedia Services);

(o) коммуникационное взаимодействие и совместная работа (Messaging and Collaboration);

(o) сети (Networking);

(o) Web-сервисы (Web Services).

Основное внимание в нашей книге уделяется внутреннему устройству ключевых базовых сервисов, в частности поддержки процессов и потоков (threads), управления памятью, ввода-вывода и защиты.


Как насчет .NET и WinFX?

.NET Framework состоит из библиотеки классов, называемой Framework Class Library (FCL), и общеязыковой исполняющей среды (Common Language Runtime, CLR), которая предоставляет среду для выполнения управляемого кода с такими возможностями, как компиляция по требованию (just-in-time compilation, JIT compilation), верификация типов, сбор мусора и защита по правам доступа кода (code access security). Благодаря этому CLR создает среду разработки, которая повышает продуктивность труда программистов и уменьшает вероятность появления распространенных ошибок программирования. Отличное описание .NET Framework и ее базовой архитектуры см. в книге Джеффри Рихтера «Программирование на платформе Microsoft .NET Frame-work» (Русская Редакция, 2003).

CLR реализована как классический СОМ-сервер, код которой хранится в стандартной Windows DLL пользовательского режима. Фактически все компоненты .NET Framework реализованы как стандартные Windows DLL пользовательского режима, занимающие уровень поверх неуправляемых функций Windows APL (Никакие компоненты .NET Framework не работают в режиме ядра.) Ha рис. 1 -1 показаны взаимосвязи этих компонентов.



14 из 285