Что такое службы для чего предназначены
Знакомство с приложениями служб Windows
Эта документация не относится к последней версии службы Windows. Последние сведения о службах Windows с использованием BackgroundService, а также о шаблоне рабочей службы см. в следующих статьях:
Службы Microsoft Windows, ранее известные как службы NT, позволяют создавать долговременные исполняемые приложения, которые запускаются в собственных сеансах Windows. Для этих служб не предусмотрен пользовательский интерфейс. Они могут запускаться автоматически при загрузке компьютера, их также можно приостанавливать и перезапускать. Благодаря этому службы идеально подходят для использования на сервере, а также в ситуациях, когда необходимы долго выполняемые процессы, которые не мешают работе пользователей на том же компьютере. Службы могут выполняться в контексте безопасности определенной учетной записи пользователя, которая отличается от учетной записи вошедшего в систему пользователя или учетной записи компьютера по умолчанию. Дополнительные сведения о службах и сеансах Windows см. в документации по Windows SDK.
Можно легко создавать службы, создавая приложение, которое устанавливается как служба. Предположим, что вам нужно отслеживать данные счетчика производительности и реагировать на пороговые значения. Можно написать и развернуть приложение-службу Windows для прослушивания данных счетчиков, а затем начать сбор и анализ данных.
Служба будет создана как проект Microsoft Visual Studio с кодом, который определяет, какие команды могут отправляться службе и какие действия должны быть выполнены при получении этих команд. Команды, которые могут быть отправлены в службу, выполняют запуск, приостановку, возобновление и остановку службы. Также можно выполнять пользовательские команды.
Созданное приложение можно установить, запустив служебную программу командной строки InstallUtil.exe и передав путь к исполняемому файлу службы. Затем вы можете использовать диспетчер служб для запуска, остановки, приостановки, продолжения работы и настройки службы. Можно также выполнять многие из этих задач в узле Службы в обозревателе сервера или с помощью класса ServiceController.
Приложения-службы и другие приложения Visual Studio
Приложения-службы отличаются от других типов проектов следующим образом:
Скомпилированный исполняемый файл, созданный проектом приложения-службы, должен быть установлен на сервере, прежде чем этот проект можно будет использовать надлежащим способом. Вы не сможете выполнить отладку или запустить приложение службы, нажав клавиши F5 или F11. Вы не сможете сразу же запустить службу или открыть ее код. Вместо этого необходимо установить и запустить службу, а затем подключить отладчик к процессу службы. Дополнительные сведения см. в разделе Практическое руководство. Отладка приложений служб Windows.
В отличие от некоторых типов проектов для приложений-служб необходимо создавать компоненты установки. Компоненты установки устанавливают и регистрируют службу на сервере и создают для нее запись с помощью диспетчера служб Windows. Дополнительные сведения см. в разделе Практическое руководство. Добавление установщиков в приложение-службу.
Метод Main для приложения службы должен выдать команду запуска для служб, которые содержит проект. Метод Run загружает службы в диспетчер служб на соответствующем сервере. Если вы используете шаблон проекта служб Windows, этот метод создается автоматически. Обратите внимание, что загрузка службы — не то же самое, что ее запуск. Дополнительные сведения см. в разделе «Время существования службы».
Приложения-службы Windows выполняются в отдельной оконной станции, отличной от интерактивной станции вошедшего пользователя. Оконная станция — это безопасный объект, который содержит буфер обмена, набор глобальных атомов и группу объектов рабочего стола. Так как станция службы Windows не является интерактивной, диалоговые окна, отображаемые в приложении-службе Windows, не будут видны, что может привести к зависанию программы. Точно так же сообщения об ошибках должны записываться в журнал событий Windows, а не появляться в пользовательском интерфейсе.
Взаимодействие службы Windows с пользователем или другими станциями необходимо тщательно спроектировать, чтобы включить такие сценарии, когда вошедшего пользователя нет или у пользователя есть непредвиденный набор объектов рабочего стола. В некоторых случаях удобнее создать приложение Windows, которое будет выполняться под управлением пользователя.
Приложения-службы Windows выполняются в собственном контексте безопасности. Они запускаются, прежде чем пользователь войдет на компьютер Windows, на котором они установлены. Следует тщательно планировать, в какой учетной записи пользователя будет выполняться служба. Если это системная учетная запись, у службы будет больше разрешений и прав на доступ, чем при использовании учетной записи пользователя.
Время существования службы
Служба проходит через несколько внутренних состояний за время своего существования. Во-первых, служба устанавливается в системе, в которой она будет выполняться. Этот процесс выполняет установщики для проекта службы и загружает службу в диспетчер служб для этого компьютера. Диспетчер служб — это основное средство управления службами в Windows.
Загруженную службу необходимо запустить. Запущенная служба может выполнять свои задачи. Запустите службу из диспетчера служб или обозревателя сервера либо из кода, вызвав метод Start. Метод Start передает обработку в метод OnStart приложения и обрабатывает любой код, определенный там.
Запущенная служба может находиться в этом состоянии бесконечно, пока она не будет остановлена или приостановлена либо работа компьютера не будет завершена. Есть три основных состояния службы: Running, Paused и Stopped. Служба также может сообщать состояние ожидания выполнения команды: ContinuePending, PausePending, StartPending или StopPending. Эти состояния указывают, что команда выдана (например, команда для приостановки службы или запуска службы), но еще не выполнена. Вы можете запросить свойство Status, чтобы определить, в каком состоянии находится служба, или использовать WaitForStatus, чтобы выполнить действие при наступлении любого из этих состояний.
Вы можете приостановить, остановить или возобновить работу службы из диспетчера служб или обозревателя сервера либо из кода, вызвав методы. Каждое из этих действий вызывает соответствующую процедуру в службе (OnStop, OnPause или OnContinue), в которой можно определить дополнительную обработку на случай изменения состояния службы.
Типы служб
Вы можете время от времени встречать другие типы служб при выполнении запроса к службам, которые не были созданы в Visual Studio. Дополнительные сведения см. здесь: ServiceType.
Службы и компонент ServiceController
Компонент ServiceController используется для подключения к установленной службе и изменения ее состояния. С помощью компонента ServiceController вы можете запускать, останавливать, приостанавливать и продолжать работу службы, а также отправлять службе пользовательские команды. Использовать компонент ServiceController при создании приложения-службы не нужно. Фактически, в большинстве случаев компонент ServiceController должен находиться в приложении, отдельном от приложения-службы Windows, которое определяет службу.
Для получения дополнительной информации см. ServiceController.
Требования
Проекты, которые содержат службы Windows, должны включать компоненты установки для проекта и его служб. Это легко сделать с помощью окна свойств. Дополнительные сведения см. в разделе Практическое руководство. Добавление установщиков в приложение-службу.
Что такое службы для чего предназначены
Сейчас на сайте:
Программ: 93 Уроков: 175
Советов: 142 Статей: 27
Расширения драйверов WMI (Windows Management Instrumentation)
Обеспечивает обмен управляющей информацией с устройствами. Оставляем «Вручную».
Сервер
Обеспечивает поддержку общего доступа к файлам, принтерам и именованным каналам для локального компьютера через сетевое подключение. Отключаем, если не нужно.
Сервер папки обмена
Позволяет просматривать страницы папок обмена удаленных компьютеров. Если нет сети, можно отключить.
Сетевой вход в систему
Поддерживает сквозную идентификацию событий входа учетной записи для компьютеров домена. Если нет сети, можно отключить.
Сетевые подключения
Управляет объектами папки ‘Сеть и удаленный доступ к сети’, отображающей свойства локальной сети и подключений удаленного доступа. Если нет сети и модема, то можно отключить. В противном случае оставляем «Вручную».
Система событий COM+
Связана с инструментарием Windows. Оставляем без изменений.
Системное приложение COM+
Управление настройкой и отслеживанием компонентов COM+ Оставляем без изменений.
Служба COM записи компакт-дисков IMAPI
Управление записью компакт-дисков с помощью IMAPI (Image Mastering Applications Programming Interface). Если Вы для записи компакт-дисков пользуетесь специальными программами для записи (например, Nero), то службу лучше отключить.
Служба администрирования диспетчера логических дисков
Выполняет настройку жестких дисков и томов. Оставляем «Вручную».
Служба восстановления системы
Выполняет функции восстановления системы. Я рекомендую оставить эту службу, т.к. она может выручить Вас, если вы не знаете, как восстанавливать систему другими средствами.
Служба времени Windows
Управляет синхронизацией даты и времени на всех клиентах и серверах в сети. Можно отключить.
Служба загрузки изображений (WIA)
Обеспечивает службы получения изображений со сканеров и цифровых камер. Если их нет, то службу можно отключить.
Служба индексирования
Индексирует содержимое и свойства файлов на локальном и удаленных компьютерах, обеспечивает быстрый доступ к файлам с помощью языка запросов. Желательно отключить.
Служба обнаружения SSDP
Включает обнаружение UPnP-устройств в домашней сети. Универсальная система Plug & Play, которая, связывает компьютер с самой различной бытовой техникой. Можно отключить.
Служба регистрации ошибок
Позволяет регистрировать ошибки для служб и приложений, выполняющихся в нестандартной среде. Если Вы уверены, что у Вас все уже работает, то службу можно отключить.
Служба серийных номеров переносных устройств мультимедиа
Получает серийные номера всех переносных медиа-устройств, подключенных к системе. Можно отключить.
Служба сетевого DDE
Обеспечивает сетевой транспорт и безопасность динамического обмена данными (DDE) для программ, выполняющихся на одном или на различных компьютерах. Если нет сети, можно отключить.
Служба сетевого расположения (NLA)
Собирает и хранит сведения о размещении и настройках сети, а также уведомляет приложения об их изменении. Если нет сети, можно отключить.
Служба сообщений
Посылает и получает сообщения, переданные администраторами или службой оповещений. Можно отключить.
Служба шлюза уровня приложения
Оказывает поддержку сторонних протоколов PnP для общего доступа к подключению к Интернету и подключений к Интернету с использованием брандмауэра. Если брандмауэр Windows не используется (см. выше), то можно отключить.
Службы криптографии
Служба безопасного обмена ключами и шифрования передаваемых данных в локальной сети. Если локальной сети нет или если вы уверены, что данные, которые вы передаете по сети, никому не нужны, то эту службу можно отключить.
Службы терминалов
Предоставляет возможность нескольким пользователям интерактивно подключаться к компьютеру и отображает рабочий стол и приложения на удаленных компьютерах. Является основой для удаленного рабочего стола (включая удаленное администрирование), быстрого переключения пользователей, удаленного помощника и служб терминалов. Если эти возможности не нужны, то можно отключить.
Смарт-карты
Управляет доступом к устройствам чтения смарт-карт. Если не пользуетесь Смарт-картами, то можно отключить.
Совместимость быстрого переключения пользователей
Управление приложениями, которые требуют поддержки в многопользовательской среде. Если Вы не используете в своей работе переключение пользователей, то можно отключить.
Справка и поддержка
Обеспечивает возможность работы центра справки и поддержки на локальном компьютере. Если не используете встроенную справку Windows, то можно отключить.
Съемные ЗУ
Здесь понятно. Если не пользуетесь съёмными запоминающими устройствами, то можно отключить.
Темы
Управление темами оформления. Можно отключить.
Теневое копирование тома
Управляет созданием теневых копий (контрольных точек состояния) дисковых томов, которые используются для архивации и восстановления или для иных целей. Если эту службу остановить, теневые копии томов для восстановления не будут доступны, архивация и восстановление могут не работать.
Уведомление о системных событиях
Протоколирует системные события, такие как регистрация в Windows, в сети и изменения в подаче электропитания. Уведомляет подписчиков из разряда ‘COM+ системное событие’, рассылая оповещения. Оставляем без изменений.
Удаленный вызов процедур (RPC)
Обеспечивает сопоставление конечных точек и иных служб RPC. От этой службы зависит очень много компонентов, поэтому лучше оставляем «Авто».
Удаленный реестр
Позволяет удаленным пользователям изменять параметры реестра на локальном компьютере. Желательно отключить.
Узел универсальных PnP-устройств
Поддерживает универсальные PnP-устройства узла. Оставляем «Вручную».
Управление приложениями
Обеспечивает службы установки программного обеспечения, такие, например, как назначение, публикация и удаление. Оставляем без изменений.
Фоновая интеллектуальная служба передачи
Использует для асинхронной передачи данных через протокол HTTP/1.1 резервы сети по пропускной способности. Можно отключить.
Автор: Андрей Курганов
Дата публикации: 2008-02-23
Есть вопросы по статье? Задайте их на форуме
Понравилась статья? Поделитесь со своими друзьями в социалках:
Службы Windows
Содержание:
Службы Windows – специальные программы, запускаемые в фоновом режиме для обеспечения согласованной работы аппаратных и софтовых компонентов компьютера, либо для поддержки тех или иных системных функций.
Все службы можно разделить на два класса: службы режима ядра (kernel-mode services), которые являют собой драйверы различных устройств и, собственно, сами системные службы. Последние работают в виде обычных процессов и могут быть настроены нами.
В статье ниже речь как раз и пойдет о том, какие службы имеются в Windows, для чего они нужны и как мы сможем настраивать их на своем ПК.
Кому служат службы
Статья о службах Windows, их предназначении и настройке.
Сегодняшнюю статью, пожалуй-ка, начну я с небольшой присказки :).
Случилось это, когда я был еще только чуть продвинутее простого «чайника» (ну, там, Windows умел переустанавливать, да программы разные). Был у меня принтер (кстати, до сих пор еще верой и правдой служит!), которым пользовались только время от времени.
И вот как-то раз, после того, как он простоял без дела пару месяцев, случилась сиюминутная необходимость что-то распечатать. Отправил я документ на печать, а принтер-то и не работает. При этом все огоньки-индикаторы горят, в Диспетчере устройств мой Canon IP1500 отображается, но в Очереди печати – пустота.
Вот так, товарищи, и произошло мое первое (и не совсем приятное) знакомство со Службами Windows. Оказалось, что всему виной были не драйверы, которые я кинулся переустанавливать, не поломка принтера, а просто отключение системной оснастки Диспетчер очереди печати!
Зачем нужны службы
Наверное, все знают, что при переустановке Windows требуется установить не только все нужные программы, но еще и драйверы. Драйверы представляют собой подпрограммы и наборы библиотек всяческих команд, которые позволяют системе максимально продуктивно взаимодействовать с аппаратной частью Вашего ПК.
Например, если в системе нет драйвера Вашего принтера, то она не сможет опознать его как устройство и, соответственно, мы не сможем на нем печатать. И так со всеми компонентами, основными из которых являются:
Так вот, служба, выражаясь по-просту, является системной программой, которая позволяет Windows обращаться ко всем установленным драйверам, управляющим той или иной частью аппаратной «начинки» Вашего компьютера:
Например, если вернуться к описанной выше проблеме, служба Диспетчер очереди печати сама по себе не является драйвером принтера. Она служит своеобразным тумблером, который позволяет (или не позволяет) системе распечатывать что-либо, обращаясь к драйверу.
Особенности работы служб
Все активные службы запускаются автоматически вместе с Windows и иногда, наряду с программами, могут сильно тормозить загрузку системы. Но об этом немного позже. Сейчас нам важно знать, что службы работают одинаково для всех учетных записей на ПК и зачастую не требуют вмешательства пользователя.
Однако, случаются ситуации, когда та или иная служба дает сбой. Причин может быть несколько:
Поскольку, мы уже знаем, что службы по своей сути являются своеобразными выключателями тех или иных функций, то во всех случаях решения может быть фактически только два. Неработающую службу нужно либо просто повторно запустить (что требуется чаще всего), либо переустановить (некоторые службы без переустановки самой системы переустановить, увы, нереально).
Думаю, с теорией на сегодня покончено, поэтому переходим к практике.
Просмотр и настройка служб
Посмотреть список всех установленных служб в новых версиях Windows (начиная с Vista) можно прямо в Диспетчере задач, который вызывается сочетанием клавиш CTRL+SHIFT+Esc:
Управлять службами в Диспетчере задач удобно, если требуется просто быстро проверить, активна ли определенная служба и запустить (либо отключить) ее. Для этих действий используется контекстное меню.
Кроме функций запуска/перезапуска/остановки и открытия оснастки служб, в Windows 8 в меню появилась приятная возможность – «Поиск в Интернете». Она позволяет быстро найти информацию по выбранной службе во Всемирной Сети.
Однако, далеко не все пользуются современными операционными системами. У многих еще стоит старая добрая Windows XP. И там Диспетчер задач довольно скудный. Получить доступ к службам во всех без исключения Windows можно альтернативным способом – через одноименную системную оснастку. Открывается она так: «Пуск» (или «Компьютер» в Windows 8) → Панель управления → Администрирование → Службы (либо при помощи команды «services.msc» (без кавычек) в строке «Выполнить»):
Перед нами откроется окно, содержащее список установленных на компьютере служб. В нижней части окна есть две вкладки, позволяющие переключаться между Стандартным и Расширенным видом списка. Советую сразу переключиться в «Расширенный» режим, чтобы видеть все свойства служб.
Каждая служба в списке имеет ряд характеристик:
В расширенном режиме слева от списка служб имеется поле, в котором выводится основная информация о выбранном сервисе и действия для его запуска/перезапуска или остановки. Эти же действия можно осуществить при помощи контекстного меню.
Если же по службе кликнуть дважды левой кнопкой мыши или выбрать в контекстном меню пункт «Свойства», то мы сможем добраться до настроек:
В разных версиях Windows количество вкладок со свойствами службы будет разное, но везде первой открывается вкладка «Общие». Она позволяет увидеть все основные параметры выбранного сервиса и здесь же настроить тип его запуска. Типов, в зависимости от установленной версии Windows, может быть 3 или 4:
Последняя вкладка может пригодиться в том случае, если Вы не уверены, нужна служба или от нее ничего не зависит и ее можно отключить.
Отключение служб
И вот мы добрались до самого главного 🙂 Как мы уже поняли, службы в Windows играют важную, но далеко не критическую, роль. Поэтому для ускорения загрузки ПК иной раз бывает целесообразно либо полностью отключить некоторые сервисы, либо активировать их отсроченный старт или запуск по требованию.
При этом важно понимать, что, отключив определенную службу, мы лишимся какой-то части функционала операционной системы. Поэтому, здесь действует принцип «не навреди». То есть, если не знаете, для чего нужна та или иная служба, лучше ее не трогайте. А еще лучше, поищите о ней сведения в Интернете, а потом решайте.
Увы, универсального рецепта настройки служб не существует. У каждого на компьютере, помимо десятков стандартных сервисов, имеется еще ряд сторонних, которые были установлены различными программами (например, антивирусом, каким-либо эмулятором и т.п.). Службы антивирусного ПО нельзя отключать, а вот, например, тип запуска службы эмулятора виртуального дисковода Daemon Tools или виртуальной машины BlueStack вполне себе можно сделать «Вручную».
Есть здесь и еще один «фокус». Для всех нестандартных служб (как мы помним, у них зачастую нет русского описания) можно установить тип запуска «Автоматически (отложенный запуск)». Так мы сохраним их работу (а то мало ли что :)) и немного облегчим загрузку системе. Единственный нюанс – на ноутбуках так нежелательно тормозить службы, которые взаимодействуют с драйверами чипсета.
Наконец, есть и ряд системных служб, которые при определенных условиях можно безболезненно отключить вовсе. Приведу их список ниже в виде таблички с именем службы и тем, что мы потеряем при ее отключении:
Имя службы | Что мы потеряем при отключении |
---|---|
KtmRm для координатора распределенных транзакций | какая-то системная служба, которую даже сама Windows рекомендует отключать, если Вы не знаете зачем она нужна 🙂 |
Автономные файлы | поддержка автономных файлов, к которым запрещен доступ из сети (в принципе, пока мы не дадим доступ к определенной папке, все файлы и так автономны :)) |
Агент политики IPSec | защита протокола TCP/IP на сетевом уровне (в принципе, современные браузеры по умолчанию проверяют все пакеты ничуть не хуже и на программном уровне) |
Адаптивная регулировка яркости | работа сенсора освещенности (если его нет, то смело отрубаем) |
Брандмауэр Windows | работа встроенного брандмауера (можно отключать, если хотите установить сторонний файрволл или отключить его вообще :)) |
Браузер компьютеров | отображение других компьютеров в Сетевом окружении (если компьютер не подключен к локальной сети, можно отключать) |
Вспомогательная служба IP | поддержка протокола IPv6 (пока не особо нужна) |
Вторичный вход в систему | возможность запуска процессов от имени других пользователей (лучше отключить, хотя бы в целях безопасности) |
Диспетчер печати | поддержка принтеров (в т.ч. и виртуальных)(если нет принтера и не нужно ничего сохранять в PDF можно отключать) |
Доступ к HID-устройствам | поддержка USB-клавиатур и мышей (отключать можно только на ПК с устройствами ввода подключенными к портам PS/2) |
Защитник Windows | работа штатной системы защиты от вирусов (лучше отключить и заменить его нормальным полноценным антивирусом) |
Клиент отслеживания изменившихся связей | функция отслеживания и протоколирования перемещения файлов в пределах ПК или по сети (смело отключайте для экономии ресурсов) |
Модули ключей IPsec для обмена ключами в Интернете и протокола IP с проверкой подлинности | параноидальный способ защиты сетевого подключения 🙂 |
Обнаружение SSDP | собственно, работа с удаленными устройствами по протоколу SSDP (вряд ли Вы пользуетесь чем-то подобным :)) |
Поиск Windows | стандартный поиск при помощи кнопки F3 (можно отключить, если Вы редко что-то ищете) |
Политика удаления смарт-карт | блокировка компьютера при извлечении смарт-карты (сомневаюсь, что у кого-то есть такие :)) |
Служба ввода планшетного ПК | поддержка сенсорного экрана (если у Вас нет сенсорного экрана – отключайте) |
Служба инициатора Майкрософт iSCSI | поддержка устройств с интерфейсом iSCSI |
Служба поддержки Bluetooth | собственно, поддержка блютуза (если такового нет – выключаем) |
Служба регистрации ошибок Windows | отправка отчетов об ошибках «любимому» MicroSoft’у |
Удаленный реестр | доступ к реестру по локальной сети |
Факс | поддержка приема факса через встроенный модем (в современных компьютерах такого уже нет) |
Шифрованная файловая система (EFS) | штатная функция шифрования файлов (если шифроваться не от кого – выключаем :)) |
Фу-у-ух 🙂 В моем списке, вроде, все. Может, я что-то и пропустил, но о большей части второстепенных стандартных служб упомянул точно. Можете свериться с приведенным списком и безболезненно отключить большинство из упомянутых служб у себя.
Выводы
Настройка служб, как Вы могли убедиться, дело не такое уж и страшное, но и тут не помешает осторожность. Еще раз напомню, что, если Вы не уверены в том, нужна Вам определенная служба или нет, лучше поищите о ней информацию в Интернете, и только потом решайте, что с ней делать.
В любом случае, вот Вам еще одна подстраховка. Практически все настройки служб хранятся в реестре по адресу: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services. Чтобы обезопасить себя от возможных ошибок, перед началом правки параметров служб экспортируйте данную ветку (контекстное меню – Экспортировать) в reg-файл, чтобы иметь возможность быстро восстановить все, как было.
Успешных Вам настроек и быстрой загрузки компьютера!