Подсистема win32.

Взаимодействие между приложениями и ОС осуществляется с помощью системных вызовов, однако, приложение не может произвести системный вызов напрямую, вместо этого оно должно воспользоваться программным интерфейсом win32 API – основный интерфейс программирования в ОС Windows. Функции – документированные вызываемые подпрограммы, например CreateProcess, CreateFile. Состав – серверный процесс csrss.exe, драйверы режима ядра win32k.sys, dll-модули подсистемы. Приложение, ориентированное на win32 API, может работать практически на всех версиях Windows. При запуске процесса все требуемые динамические библиотеки отображаются в виртуальном адресном пространстве, а для быстрого вызова используется специальный вектор передачи.

При вызове приложений одной из win32-функций может возникнуть одна из 3 ситуаций:

 

В первый версиях практически все вызовы выполняют по второй ситуации. После того, как существенная часть кода была перенесена в ядро, то вызовы идут, как правило, по третьей ситуации. Помимо перечисленных библиотек system32 содержит огромное количество других библиотек. В настоящее время количество вызовов API составляет несколько десяткой тысяч. Список экспортированных функций можно посмотреть с помощью утилиты depends, которая содержится в Platform SDK.

 

25 мая 2012 г.