Диспетчер управления службами

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая AbiyoyoBot (обсуждение | вклад) в 16:24, 26 мая 2021 (→‎См. также: исключение стаб-шаблонов из статей объёмом более 7К (без карточек), косметические правки). Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску

Диспетчер управления службами (англ. Service Control Manager, SCM) — в Microsoft Windows (\Windows\System32\Services.exe) особый системный процесс, реализующий технологию удалённого вызова процедур (remote procedure call, RPC). Обеспечивает создание, удаление, запуск и остановку служб ОС. Стартует при загрузке системы, обеспечивает работу журнала событий, а также позволяет выполнять манипуляцию процессами удалённой машины.[1]

Функции

Функции данного сервера представляют интерфейс для выполнения следующих задач:

База данных

Монтирование базы данных установленных служб производится в системном реестре и располагается в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services. Данная база используется SCM и другими программами для добавления, изменения или конфигурирования служб.

Начальная структура базы служб создаётся при установке операционной системы и включает в себя следующие данные:

Также информация о службе может быть дополнена следующими данными:

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

Алгоритм работы

При загрузке операционной системы SCM запускает все службы, у которых указан тип запуска «Автоматически», а также все службы, указанные в зависимостях автозапускаемых служб. Таким образом, при запуске службы с типом запуска «Автоматически», у которой в зависимостях указаны службы с типом запуска «Вручную», последние также будут запущены, несмотря на свой тип запуска.

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

Пользователь также может указать параметры запуска службы, которые будут переданы как аргументы функции StartService при запуске.

Во время запуска службы диспетчер выполняет следующие действия:

Особенности функционирования

При завершении процесса services.exe на экране появится окно Завершение работы системы (так же, как и при завершении процесса Lsass.exe).

Источники

См. также