Подсистемы окружения в Windows 2000

Над executive надстраиваются процессы пользовательского режима, обеспечивающие исполнение программ, разработанных для других ОС.

 

Windows 2000 использует подсистему Win32 как основное операционное окружение. Подсистема Win32 используется для запуска всех процессов. Она же обеспечивает средства работы с мышью, клавиатурой и средства графики.

 

Окружение MS-DOS обеспечивается приложением Win32, называемым Virtual Dos machine (VDM),процессом пользовательского уровня, для которого поддерживается страничная организация и диспетчеризация, как и для всех других потоков.

 

Окружение для 16-битовыхWindows обеспечивается VDM, которая содержит подсистему Windows on Windows. Последняя предоставляет процедуры ядра Windows 3.1 для менеджера окон и функций GDI.

 

Подсистема POSIX спроектирована для исполнения POSIX-приложений, следующих POSIX.1 – стандарту, который базируется на модели UNIX.

 

Подсистема OS/2 выполняет OS/2 - приложения.

 

Подсистема входа и безопасности аутентифицирует пользователей, входящих в систему Windows 2000. Требуется, чтобы пользователи имели учетную запись с логином и пароль. Пакет аутентификации подсистемы безопасности аутентифицирует всех пользователей, которые пытаются осуществить доступ к какому-либо объекту системы. Windows 2000 использует Kerberos как пакет аутентификации по умолчанию.

 

Ключевые термины

Plug-and-Play (PnP) – механизм автоматического распознавания изменений в конфигурации оборудования и адаптации к ним (установки соответствующих драйверов).

 

Virtual Dos Machine (VDM) - процесс пользовательского уровня, обеспечивающий совместимость с приложениями MS-DOS.

 

Блокировщик(spin lock, буквально – вертящийся замок ) – системный механизм синхронизации, используемый для взаимного исключения процессов ядра Windows.

 

Исполнительная подсистема (executive)– основная часть ядра Windows, исполняемая в защищенном режиме, реализующая базовые системные сервисы.

 

Локальный вызов процедуры (LPC) – системный механизм вызова процедур Windows, передающий запросы и результаты между клиентским и серверным процессами на локальной машине; используется для запросов к сервисам различных подсистем ОС.

 

Объект-диспетчер - системный объект в Windows, управляющий диспетчеризацией и синхронизацией.

 

Объектная ссылка (object handle) - ссылка на системный объект ядра Windows.

 

Управляющий объект- системный объект Windows, управляющий асинхронным вызовом процедуры, обработкой прерывания, нотификацией об электропитании или профилированием.

 

Уровень абстрагирования от аппаратуры (hardware abstraction layer, HAL)– динамически линкуемая библиотека Windows, инкапсулирующая код, зависящий от конкретного процессора, - тем самым обеспечивающая независимость от аппаратуры всего остального кода Windows.

Поддержка прикладного интерфейса(User, GDI, Kernel).

Первые версии Windows состояли из трёх модулей — KERNEL, GDI и USER. Первый из них предоставлял вызовы управления памятью, запуском .EXE-файлов и загрузкой .DLL-файлов, второй — графику, третий — окна.

 

Интерфе́йс по́льзователя, он же по́льзовательский интерфейс (UI — англ. user interface) — разновидность интерфейсов, в котором одна сторона представлена человеком (пользователем), другая — машиной/устройством. Представляет собой совокупность средств и методов, при помощи которых пользователь взаимодействует с различными, чаще всего сложными, машинами, устройствами и аппаратурой.

 

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

GDI

GDI (Graphics Device Interface, Graphical Device Interface) — один из трёх основных компонентов или «подсистем», вместе с ядром и Windows API, составляющих пользовательский интерфейс (оконный менеджер GDI) Microsoft Windows.

 

GDI — это интерфейс Windows для представления графических объектов и передачи их на устройства отображения, такие, как мониторы и принтеры.

 

GDI отвечает за отрисовку линий и кривых, отображение шрифтов и обработку палитры. Он не отвечает за отрисовку окон, меню и т. п., эта задача закреплена за пользовательской подсистемой, располагающейся в user32.dll и основывающейся на GDI. GDI выполняет те же функции, что и QuickDraw в Mac OS.

 

Одно из преимуществ использования GDI вместо прямого доступа к оборудованию — это унификация работы с различными устройствами. Используя GDI, можно одними и теми же функциями рисовать на разных устройствах, таких, как экран или принтер, получая на них практически одинаковые изображения. Эта возможность лежит в центре всех WYSIWYG-приложений для Windows.

 

Простые игры, которые не требуют быстрой графики, могут использовать GDI. Однако GDI не обеспечивает качественной анимации, поскольку в нём нет возможности синхронизации с кадровым буфером. Также в GDI нет растеризации для отрисовки 3D-графики. Современные игры используют DirectX или OpenGL, что даёт программистам доступ к большему количеству аппаратных возможностей.

 

USER

User - подсистема управления окнами и пользовательским интерфейсом операционной системы Windows, одна из трех исторически первых компонент этой ОС.

 

Реализует

· объект «окно» (HWND),

· списки окон, в том числе по Z-orderу, и

· управление регионами отсечения окон,

Имеет богатый набор вызовов по созданию и управлению окнами.

 

Также реализует

· отрисовку стандартной рамки окна (DefWindowProc) и

· несколько стандартных элементов пользовательского интерфейса (кнопки, чекбоксы, радио-кнопки, полосы прокрутки, списки, комбобоксы и диалоговые окна с потомками внутри).

 

При создании окна указывается:

· координаты,

· строка (заголовок, или строка рядом с кнопкой),

· флаги стиля и

· окно-родитель.

· В вызове RegisterClass также указывается «оконная процедура» (WNDPROC).

 

Управление размерами и Z-orderом уже созданного окна производится специальными вызовами.

Что же касается управления, зависимого от разновидности окна (например, взвод/сброс чекбокса, или добавление строк в список) — оно осуществляется вызовом SendMessage, где указываются 2 кода сообщения (например, WM_COMMAND+LB_ADDSTRING) и параметр.

 

Что про кернел – понятия не имею. Ну ядро это, ядро же... Что там такого особенного? В общем, буду рассказывать про обычное ядро Виндовс.

27. Системный реестр: структура системного реестра Windows;

Microsoft Windows XP Professional хранит параметры аппаратуры и программного обеспечения в иерархической базе данных – реестре (registry).

 

Реестр заменяет множество файлов конфигурации .ini, .sys и .com, применявшихся в ранних версиях Microsoft Windows.

 

1) Реестр управляет операционной системой Windows XP, предоставляя информацию, которая требуется при

· загрузке и

· инициализации Windows XP, при

· запуске приложений и при

· загрузке системных компонентов, таких как драйверы устройств и сетевые протоколы.

2) Реестр содержит различную информацию:

· об оборудовании, установленном на компьютере, в том числе о центральном процессоре (CPU),

· типе шины,

· устройствах ввода или вывода;

· установленных драйверах устройств;

· установленных приложениях;

· установленных сетевых протоколах;

· о параметрах сетевых адаптеров и др.

Например, в реестре хранится такая информация о драйвере устройства, как номер запроса на прерывание (IRQ), базовый адрес областипамяти, диапазон портов ввода–вывода.

 

Организационно реестр представляет собой защищенную иерархическуюбазу данных. Часть данных реестра сохраняется в файлах на диске, другая часть данных динамически формируется в процессе работы и существует только впамяти системы.

 

Данные реестра читаются, записываются или модифицируются практически всеми компонентами Windows XP.

· Так, в процессе загрузки ядро Windows XP (NTOSKRNL.EXE) считываетинформацию из реестра о загружаемых устройствах и порядке их загрузки.

· Всвою очередь, ядро записывает в реестр собственную динамически формируемую информацию, например, параметры процессоров, номер версии системы.

· Драйверы устройств получают параметры настройки из реестра. Онитакже записывают в реестр информацию об изменении опций и режимов. Драйверы устройств помещают в реестр данные о том, какие ресурсы системы используются, например, каналы прямого доступа к памяти (DMA).

· Windows XP создает в реестре и специальных файлах совокупность данных с описанием параметров рабочей среды каждого пользователя, зарегистрированного в системе. Совокупность данных с параметрами среды пользователя5называют профилем пользователя.Таким образом, использование реестраобеспечивает возможность централизованного управления профилем пользователя. Когда пользователь входит в систему, его профиль отображается в дин-мическую часть реестра в памяти. Windows XP сначала записывает измененияпользователя в реестр, а затем в файлы профиля пользователя.

· В процессе добавления в систему аппаратных устройств и приложенийпрограмма установки записывает их параметры настройки в реестр. Она такжезапрашивает данные из реестра, чтобы определить, какие компоненты из необходимых для работы уже имеются в системе, а какие должны быть установле-ны.

· Для описания нескольких конфигураций оборудования компьютера система использует профили оборудования. Во время запуска Windows XP пользователь имеет возможность выбрать необходимый профиль оборудования иWindows XP настраивает систему в соответствии с ним. Реальный состав обо-рудования определяется в процессе загрузки системы программой NTDETECT.COM. Полученные в процессе поиска оборудования оперативныеданные динамической конфигурации сохраняются в реестре.

Это только некоторые примеры, иллюстрирующие назначение и использование реестра.