Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Подсистема окружения






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) функция требует выполнения каких-либо операций в самой подсистеме окружения. В этом случае подсистема окружения выдает клиент-серверный запрос к ОС на выполнение этой операции и ждет ответа.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.