Настройки служб svchost
Как вы уже узнали, служба может работать как в собственном процессе, так и в одном из общих процессов. Это позволяет экономить ресурсы компьютера. Хотя при этом появляется другая проблема: если возникнет ошибка в работе одной из служб, то будет завершена работа общего процесса, а вместе с ним и всех служб, которые в нем работали.
Одним из общих процессов для запуска служб является процесс svchost.ехе (например, общим также является процесс services.ехе). Он также называется «универсальным» процессом. Одновременно в операционной системе может существовать несколько запущенных процессов svchost.ехе. При этом каждый из них содержит службы определенного типа (например, типа netsvcs). Данные типы служб указываются как параметр строки запуска службы, расположенной в параметре Image Path ветви службы.
Все службы, исполняемый файл которых является частью файла svchost.ехе, имеют несколько настраиваемых параметров, расположенных в ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ Svchost.
Эта ветвь реестра хранит набор параметров строкового типа. Их значения определяют службы, исполняемый файл которых является частью файла svchost.ехе. Название же этих параметров определяет название дочернего подраздела ветви системного реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\ CurrentVersion\ Svchost, в котором расположены настройки для этих служб. Название этих параметров также соответствуют записи SCM, под которой эти службы исполняются.
В этих подразделах могут находиться три параметра, имеющие тип REGDWORD, однако наиболее интересным из них является параметр Def aultRpcStackSize. Он определяет размер стека RPC, используемый соответствующими службами.
Основы работы драйверов
Как вы знаете, в ветви системного реестра HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services описываются не только установленные в операционной системе службы, но и драйверы. При этом драйверы описываются с помощью тех же основных параметров реестра , что и службы. Хотя значения, присваиваемые данным параметрам, могут отличаться. Так, например, параметр Туре для драйверов может использовать только значения 1, 2 и 4. А параметр Start – значения 0 и 1.
Изменить тип запуска драйверов можно не только с помощью реестра , но и с помощью оснастки Диспетчер устройств (devmgmt.msc). Для этого вам нужно сначала включить отображение скрытых устройств (в меню Вид установить флажок Показать скрытые устройства), после чего перейти к разделу дерева оснастки Драйверы несамонастраиваемых устройств. Данный раздел содержит список всех установленных в операционной системе драйверов, которые не поддерживают технологию Plug and Play. При этом если вы отобразите окно Свойства (с помощью одноименной команды контекстного меню) любого из этих драйверов и перейдете на вкладку Драйвер, то в поле Загрузка сможете изменить тип запуска соответствующего драйвера.