Читайте также: |
|
Windows имеет три подсистемы окружения: windows Os/2 и Posix. Примечание: OS/2 удалена из windows, начиная с windows 2000 как штатная компонента. Posix не поставляется, начиная с Windows XP.
Взамен идет продукт Services for Unix, т.е. системы OS/2 и POSIX запускаются и устанавливаются в случае необходимости.
Подсистема Windows – компонента, без которой ОС работать не может. Обрабатывает в т.ч. клавиатурные операции, мышь и т.д.
Начальная конфигурация подсистемы находится в разделе реестра SubSystems.
Значения параметров:
1) Required – список подсистем, загружаемых при запуске Windows. Параметр состоит из двух частей:
а) Windows – указывается спецификация файла подсистемы Windows (csrss.exe);
б) Debug – не заполненный. Примечание: использование этого параметра позволяет загрузить версию Windows с возможностью выполнения некоторых функций отладчика ядра (файл boot.ini).
2) Optional – указывает, что подсистема POSIX запускается по требованию;
3) KMode – содержит имя файла win32k.sys – часть подсистемы Windows, работающей в режиме ядра.
Подсистемы окружения предоставляют прикладным программам множество сервисов исполнительной системы Windows. Каждая отдельная подсистема Windows обеспечивает доступ к разным встроенным сервисам. Замечание: приложение, реализованное для одной подсистемы Windows, может не выполняться в другой. Например, Windows приложения не могут выполняться в системах OS/2 и POSIX.
При запуске образа кода он получает тип подсистемы, указанный в заголовке образа и оповещает соответствующую подсистему.
Смешивать в приложении вызовы разных подсистем окружения нельзя.
Пользователи приложения для вызова системных сервисов обращаются далее к подсистемам DLL. DLL представляют документированный интерфейс между программами и вызываемыми подсистемами, например, DLL подсистемы Windows реализуют функции API, DLL подсистемы - POSIX API.
При вызове возможны следующие состояния:
1) функция реализована в пользовательском режиме внутри DLL подсистемы. Никаких сообщений процессу подсистема окружения не посылает. После выполнения функции в пользовательском режиме возвращает управление приложению.
2) функция требует одного или более вызова исполнительной системы Windows. Пример: ReadFile обращается к недокументированным сервисам ввода-вывода ОС несколько раз.
3) функция требует выполнения каких-либо операций в самой подсистеме окружения. В этом случае подсистема окружения выдает клиент-серверный запрос к ОС на выполнение этой операции и ждет ответа.
Дата добавления: 2015-07-07; просмотров: 173 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Многопроцессорная обработка | | | Подсистема окружения Windows |