въпрос 9
Въпрос 9. Service в Windows. цел, основните принципи на работа, за разлика от шофьорите. Как да инсталирате услуга в Windows.
Архитектурата на услуги на Windows NT система включва три вида. Ее е система за управление на ядрото служби (Control диспечер или SCM). ВСС се ръководи при стартиране на системата и ще продължи до компютъра е изключен. мениджър системни услуги взаимодейства с една ръка с програмата за управление. а от друга - да системните услуги. Те са основните задачи на програма за управление:
- Стартиране при пускане на услугите, които трябва да се започне автоматично.
- конфигуриране на база данни за съхранение, съдържащ информация за всички услуги.
- Получаване на искане от програмите за контрол и прехвърляне на системни услуги.
Windows NT определя два вида системни услуги. Един от тях - така наречените ядрото режим служба (ядро режим услуги) - драйвери на устройства. Друг вид - Win32 услуга. Win32-конвенционални процеси с помощта на специален набор от функции за взаимодействие с управителя на системни услуги.
Service разполага с основен функция. Една програма може да работи една услуга, и може да включва множество услуги. Основната функция изпълва масив, който описва всички поддържани програмата услуга. Масивът е преминал StartServiceCtrlDispatcher повикване. За всяка услуга, която е част от изпълнимия файл, масивът съдържа текст например и входна точка. входна точка услуга - в зависимост от типа нищожно. отнема обичайните аргументи argc и argv. Но за разлика от аргументите на основната функция. входни точки дело на услуги не са свързани с командния ред. Те попълнено Мениджър СИМ.
В процеса на лечение SCM към функция, която е входната точка на услугата, важната роля, която играе структура УСЛУГАТА _ СТАТУТ. Функцията е входната точка използва RegisterServiceCtrlHandler поканата за регистриране на манипулатор за взаимодействие с SCM Service. В допълнение, подпрограмата за обслужване инициализация призовава да SetServiceStatus за повикване, за да информира ВСС за текущото състояние на услугата (услугата може да бъде в една от държавите: инициализация, работа или стоп). Ако инициализация изисква повече от няколко секунди, се препоръчва да го изпълнява в отделна програма поток. Създаване на отделна програма поток също ще трябва, ако имате намерение да се създаде услуга, която ще работи изключително във фонов режим.
Основната разлика между водача на услугата се крие във факта, че водачът може да работи в пръстен 0 и потребителски режим, както и услугата работи само в режим на употреба. Инсталиране на услугата чрез SCM мениджър и шофьор сам. INF файл, обаче, водачът може да се инсталира чрез управителя SCM, но не всички видове шофьори могат да бъдат инсталирани чрез управителя СИМ.
услуга код, който издава звуков сигнал в началото на всеки час (периодът от време, може да се променя от командния ред):