Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Сервисы Windows

Покупка
Новинка
Артикул: 851482.01.99
Доступ онлайн
600 ₽
В корзину
Рассмотрены служебные программы (службы) операционных систем (ОС) Windows NT/2000/XP/Vista, работающие в режиме пользователя и занимающие в ОС Windows NT/2000/XP/Vista особое место. На службы Win32 возложены такие важнейшие системные функции, как сохранение копий отдельных файлов, управление конфигурацией сети, загрузки и обновления ОС Windows и т. п. Рассмотрены особенности работы, использования, установки и разработки служб Win32. Для студентов 3-го и 4-го курсов, обучающихся на кафедре «Программное обеспечение ЭВМ и информационные технологии» МГТУ им. Н.Э. Баумана.
Крищенко, В. А. Сервисы Windows : учебное пособие / В. А. Крищенко, Н. Ю. Рязанова. - Москва : Изд-во МГТУ им. Баумана, 2011. - 49 с. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2192139 (дата обращения: 21.01.2025). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Московский государственный технический университет
имени Н.Э. Баумана
В.А. Крищенко, Н.Ю. Рязанова
СЕРВИСЫ WINDOWS
Рекомендовано Научно-методическим советом
МГТУ им. Н.Э. Баумана в качестве учебного пособия по курсам
«Системное программирование – введение в операционные
системы» и «Управление устройствами»
Москва
Издательство МГТУ им. Н.Э. Баумана
2011


УДК 681.3.06
ББК 32.81
К82
Рецензенты:
А. А. Рощин, Н. В. Лукьянова
К82
Крищенко В. А.
Сервисы Windows : учеб. пособие / В.А. Крищенко,
Н.Ю. Рязанова. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2011. –
47, [1] с.: ил.
Рассмотрены служебные программы (службы) операционных
систем (ОС) Windows NT/2000/XP/Vista, работающие в режиме пользователя и занимающие в ОС Windows NT/2000/XP/Vista особое место. На службы Win32 возложены такие важнейшие системные функции, как сохранение копий отдельных файлов, управление конфигурацией сети, загрузки и обновления ОС Windows и т. п. Рассмотрены
особенности работы, использования, установки и разработки служб
Win32.
Для студентов 3-го и 4-го курсов, обучающихся на кафедре
«Программное обеспечение ЭВМ и информационные технологии»
МГТУ им. Н.Э. Баумана.
УДК 681.3.06
ББК 32.81
© МГТУ им. Н.Э. Баумана, 2011


Введение
В различных операционных системах (ОС) используются разные способы выполнения служебных заданий одновременно с основной работой без снижения скорости интерактивного взаимодействия с пользователем. В ОС семейства Unix для этого существуют
демоны, выполняемые в фоновом режиме. В ОС Windows возможность запуска процессов, не связанных с работой интерактивного
пользователя, осуществляется службами, или сервисами, в которых
используются функции интерфейса (Win32 API*) и которые работают в режиме пользователя.
Заметим, что, к сожалению,
термин «сервис» используется
фирмой Microsoft для обозначения совершенно разных программных средств ОС Windows. Этот термин обозначает и драйверы устройств, и низкоуровневые сервисы ОС, такие как NtCreateProcess,
являющиеся внутрисистемными сервисами, и собственно сервисы,
т. е. серверные приложения, являющиеся процессами пользовательского режима. Последние часто называют сервисами Win32. На
множественность понятия «сервис» в документации Windows обращают внимание М. Руссинович и Д. Соломон [1, с. 6]. Примером
Windows-сервиса может служить Web-сервер, который должен запускаться при запуске ОС и работать независимо от того, зарегистрировался ли в ней какой-либо пользователь.
Windows-сервисы являются частью ОС и взаимодействуют с
SCP-приложением (Service Control Program – программа управления
сервисами) и диспетчером управления сервисами (Service Control
Manager – SCM). В учебном пособии обсуждаются особенности работы и написания сервисных приложений режима пользователя, учетные записи сервисов и работа SCM.
* API (Application Interface Functions) – функция прикладного интерфейса.
3


1. СЛУЖБЫ WINDOWS
1.1. Программа – служба
Сервис, или служба, ОС Windows (Windows Service) – это Win32приложение, которое особым образом обрабатывается ОС. Службы
Microsoft Windows, ранее называвшиеся службами NT, позволяют
создавать исполняемые приложения, работающие длительное время
и выполняющиеся в отдельной сессии ОС Windows.
Основное отличие сервиса от обычного приложения заключается во взаимодействии его с SCM. Именно влияние SCM на работу
сервиса определяет его особенности:
• сервис имеет определенную структуру, которая позволяет ему
принимать информацию и команды от SCM;
• сервис в общем случае не является последовательно исполняемой программой, так как имеет несколько точек входа, т. е. содержит
функции, вызываемые в ответ на определенные события в ОС;
• сервис может выполняться от имени любой учетной записи
независимо от наличия вошедших в систему пользователей и их
числа. Этот факт оказывает влияние, не запрограммированное специально для сервисов, а являющееся следствием работы механизмов ОС, отвечающих за пользователей и их права, на принципы
взаимодействия сервисов с ОС и другими программами.
Как правило, Windows-сервис не имеет пользовательского интерфейса, что позволяет создавать сервис или как GUI*-приложение
(с функцией WinMain), или как консольное приложение (с функцией main).
Сервис может быть запущен несколькими способами:
• автоматически при загрузке ОС;
• пользователем через панель управления сервисами;
* GUI (Graphic User Interface) – графический интерфейс пользователя.
4


• с помощью специально написанного приложения;
• путем вызова функций управления сервисами.
Запущенный одним из перечисленных способов процесс может
содержать в себе несколько сервисов, выполняющихся в различных
потоках. Например, сервис Services.exe содержит около 10 других
сервисов, в том числе сервисы DHCP Client, Messenger и Alerter. Потоки не имеют собственного адресного пространства и разделяют
адресное пространство своего процесса. Запуск каждого процесса
связан с переключением полного контекста, что расточительно с
точки зрения временных затрат. Переключение потоков выполняется значительно быстрее. Но подобная оптимизация имеет один недостаток – SCM позволяет таким сервисам работать только от имени
ОС. Другими словами, в настройках сервиса нельзя указать другие
имя пользователя и пароль.
Управление сервисами можно осуществлять программно, обращаясь к предоставляемой SCM API, либо через соответствующую оснастку консоли управления (Microsoft Manager Console –
MMC).
1.2. Три компонента сервиса
Для работы сервисов предназначены три вида компонентов ОС
Windows.
1. SCM,
исполняемый файл которого
\Windows\System32\
Services.exe является консольным приложением. Процесс запускается автоматически в момент начальной загрузки ОС и прекращает
работу в момент ее выгрузки. Очевидно, что SCM-процесс запускается с привилегиями ОС и предоставляет унифицированный и безопасный интерфейс сервисам системы. Задача SCM – управлять сервисами: запускать, настраивать, приостанавливать, продолжать и
завершать их работу.
2. Сам сервис, по сути являясь Win32-приложением, содержит
дополнительный код, позволяющий ему принимать информацию и
команды от SCM и возвращать ему статусную информацию.
3. SCP-приложение – это Win32-приложение, которое предоставляет пользователю графический интерфейс для работы с
сервисами. Такая программа позволяет пользователю управлять
работой сервиса: запускать, приостанавливать, возобновлять и
5


Похожие

Доступ онлайн
600 ₽
В корзину