Статья: Множественные прикладные среды Windows NT
При завершении потомка созданного с опцией EXEC_SYNC идентификатор процесса нельзя повторно использовать
Реализация Windows NT на базе двух равноправных API
Цели разработки микроядра Mach
Обеспечение базовых функций для создания других операционных систем (например, UNIX)
Поддержка больших разряженных адресных пространств
Обеспечение прозрачного доступа к сетевым ресурсам
Поддержка параллелизма как в системе, так и в приложениях
Обеспечение переносимости Mach на различные типы компьютеров
Абстрактная модель эмуляции UNIX на основе Mach
Функции микроядра Mach:
управление процессами,
управление памятью,
коммуникации
функции ввода-вывода
Функции управления файлами, каталогами и другие традиционные для операционных систем функции выполняются в пользовательском пространстве эмуляторами различных ОС
Функционирование защищенных систем Windows NT
Модель API на основе DLL
Модель API Windows NT
Системные сервисы | |||||
Менеджер объектов | Монитор ссылокбезопасности | Менеджер процессов | Средство вызова локальных процедур | Менеджер виртуальной памяти | Менеджер ввода-вывода |
Ядро |
Два способа вызова системных функций
Обращение к системным сервисам в традиционных ОС
аппаратное прерывание
процессор переходит в режим ядра
выполняется требуемая системная функция
возврат процессора в пользовательский режим
выполнение нити с прерванного места
Вызов системной функции (API Win32) в Windows NT
Динамическая библиотека DLL Win32 обращается к системному сервису NT с просьбой послать сообщение серверу, выполняющему требуемую функцию
Сервис посылает сообщение и ждет ответ