Какова роль Win32 в современной архитектуре Windows? - PullRequest
4 голосов
/ 15 сентября 2011

На конференции Microsoft BUILD я видел эту цифру.

Мне интересно, правильная ли позиция Win32 или нет.Какова роль и положение Win32 API в современной архитектуре Windows?

Моя концепция Win32 API является своего рода сборкой всей современной архитектуры Windows.Win32 API (или DDK) соединяет «службы ядра Windows» с другими технологиями.

Я думал, что все Internet Explorer / .NET / Silverlight построены на Win32 API.Даже если появятся новые Metro Apps, я предполагаю, что Win32 находится на нижнем месте.Однако эта цифра не поддается моим сведениям.

Как видите, IE / .NET / SL / Metro сидит горизонтально с Win32.

Вопросы:

  1. Означает ли этот показатель, что Win32 не является основой всех других современных технологий?
  2. Что такое «службы ядра Windows»?Как программисты могут получить к ним доступ?Разве это не через Win32 API и DDK?

Windows 8 Platform

Ответы [ 2 ]

6 голосов
/ 16 сентября 2011

Диаграмма неверна.

Хотя изначально существовали другие подсистемы (например, POSIX), которые обращались к ntdll.dll (шлюз "Kernel Services") без прохождения через Win32 (kernel32.dll, user32.dll), все они теперь не функционируют.

Все современные приложения для Windows построены на Win32. Другие подсистемы больше не поддерживаются. В некоторых случаях (драйверы и системные утилиты времени загрузки, такие как chkdsk) код пишется непосредственно против нативного API, но эти сценарии очень редки.

Я не очень знаком с WinRT, но я думаю, что Win32 также подходит под него (или он может использовать комбинацию Win32 и прямых ntdll.dll сервисов).

По словам Саша Гольдштейн ,

Затем приложение C ++ Metro будет по-прежнему загружать библиотеки Win32 DLL, такие как kernel32 и ntdll. Более того, WinRT API-интерфейсы обращаются к библиотекам Win32 - так что они являются не заменой, а оболочкой, разновидностью API, поверх Win32. (Историческая справка: в Windows раньше была функция, называемая «подсистемами среды», которую можно условно описать как разновидности API. WinRT не является подсистемой среды - это библиотека поверх подсистемы среды Win32.)

0 голосов
/ 16 сентября 2011

Диаграмма (предположительно) правильная, но только для Windows 8. Архитектура Windows 8 значительно отличается от предыдущих версий.

Я считаю, что приложения могут отправлять запросы непосредственно ядру, но интерфейс в основномбез документов.Драйверы устройств используют ядро ​​напрямую.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...