Программное обеспечение САПР. Операционные системы. Майстренко Н.В - 10 стр.

UptoLike

Сервисы
Термин сервис (service) имеет в среде Windows множество значений. Некоторые из них, имеющие отношение к рас-
сматриваемой теме:
сервис API функция или подпрограмма API, которая реализует некоторое действие (сервис) операционной систе-
мы, такое как создание файла или работа с графикой (рисование линий или окружностей). Например, функция API
CreateProcess используется в Windows для создания нового процесса;
системный сервиснедокументированная функция, которая может вызываться из пользовательского режима; часто
используется функциями Win32 API для предоставления низкоуровневых сервисов;
внутренний (internal) сервисфункция или подпрограмма, которая может вызываться только из кода, выполняемого в
режиме ядра; относится к низкоуровневой части кода Windows: к исполнительной системе Windows NT, к ядру или к слою аб-
страгирования от аппаратуры (HAL).
Системные процессы
Системные процессы (system processes) это особые процессы, обслуживающие операционную систему. В системе
Windows постоянно задействованы следующие системные процессы (учтите, что все они, кроме процесса system, выполня-
ются в пользовательском режиме):
процесс idle, который состоит из одного потока, управляющего временем простоя процессора;
процесс system специальный процесс, выполняющийся только в режиме ядра; его потоки называются системными
потоками (system threads);
процесс Session Manager (диспетчер сеансов) – SMSS.EXE;
подсистема Win32 – CSRSS.EXE;
процесс регистрации в системе – WinLogon (WINLOGON.EXE).
Процесс Session Manager (SMSS.EXE) один из первых процессов, создаваемых операционной системой в процессе
загрузки. Он выполняет важные функции инициализациитакие как создание переменных окружения системы; задание
имен устройств MS DOS, например, LPT1 и СОМ1; загрузка той части подсистемы Win32, которая относится к режиму ядра;
запуск процесса регистрации в системе WinLogon.
Процесс WinLogon управляет входом пользователей в систему и выходом из нее. Вызывается специальной комбинаци-
ей клавиш Windows Ctrl+Alt+Delete. WinLogon отвечает за загрузку оболочки Windows (обычно, это Windows Explorer).
Процесс system состоит из системных потоков (system threads), являющихся потоками режима ядра. Windows и многие
драйверы устройств создают потоки прoцecca system для различных целей. Например, диспетчер памяти формирует систем-
ные потоки для решения задач управления виртуальной памятью, диспетчер кэша использует системные потоки для управ-
ления кэш-памятью, а драйвер гибкого дискадля контроля над гибкими дисками.
Подсистема Win32 является разновидностью подсистемы среды (environment subsystem). Другие подсистемы среды
Windows (не показаны на рисунке) включают POSIX и OS/2. POSIX является сокращением термина "переносимая операцион-
ная система на базе UNIX" (portable operating system based on UNIX) и реализует ограниченную поддержку операционной
системы UNIX.
Назначение подсистемы средыслужить интерфейсом между пользовательскими приложениями и соответствующей
частью исполнительной системы Windows. Каждая подсистема имеет свои функциональные возможности на базе единой ис-
полнительной системы Windows. Любой выполняемый файл неразрывно связан с одной из этих подсистем. Подсистема Win32
содержит Win32 API в виде набора DLL – таких как KERNEL32.DLL, GDI32.DLL и USER32.DLL.
В Windows NT Microsoft перенесла часть подсистемы Win32 из пользовательского режима в режим ядра. В частности,
драйвер устройства режима ядра WIN32K.SYS, который управляет отображением окон, выводом на экран, вводом данных с
клавиатуры или при помощи мыши и передачей сообщений. Он включает также библиотеку интерфейсов графических уст-
ройств (Graphical Device Interface library – GDL.DLL), используемую для создания графических объектов и текста.
Вызов Win32 API-функций. Когда приложение вызывает API-функцию из подсистемы Win32, может произойти одно из
нескольких событий:
если DLL подсистемы (например, USER32.DLL), экспортирующая данную API-функцию, содержит весь код, необ-
ходимый для выполнения функции, то функция выполняется и возвращает результат;
API-функции, вызываемой приложением, может потребоваться вызвать для выполнения вспомогательных действий
дополнительный модуль, принадлежащий подсистеме Win32 (но не той DLL, которая экспортирует данную функцию);
API-функции, вызываемой приложением, могут понадобиться услуги недокументированного системного сервиса.
Например, чтобы создать новый процесс, API-функция CreateProcess вызывает недокументированный системный сервис
NTCreateProcess для реального создания данного процесса. Это делается с помощью функций библиотеки NTDLL.DLL, ко-
торая помогает осуществлять переход из пользовательского режима в режим ядра.
Исполнительная система Windows. Сервисы исполнительной системы Windows составляют низкоуровневую часть
Windows NT режима ядра, включенную в файл NTOSKRNL.EXE, и делятся на две группы: исполнительную систему
(executive), относящуюся к верхнему уровню, и ядро (kernel). Ядроэто самый нижний уровень операционной системы,
реализующий наиболее фундаментальные сервисы, такие как: планирование потоков, обработку исключений, обработку
прерываний, синхронизацию процессоров в многопроцессорной системе, создание объектов ядра.
Уровень абстрагирования от аппаратуры (HAL)это библиотека режима ядра (HAL.DLL), которая реализует низ-
коуровневый интерфейс с аппаратурой. Компоненты Windows и драйверы устройств от других компаний взаимодействуют с