SCM to Service Control Manager – mechanizm odpowiedzialny za zarządzanie usługami w systemie Windows. usługi tudzież serwisy, są procesami działającymi w tle… ale chyba czym są usługi nie ma sensu pisać, bo każdy to wie (:

w7 to oczywiście Windows 7, w którym mechanizm SCM został zmodyfikowany, dodając nowe możliwości wpływające na czas startu systemu, wyłączenia, bezpieczeństwa oraz ogólnej wydajności. Nowe możliwości to:

  • zażądanie startu usługi po wystąpieniu specyficznego zdarzenia. Zdarzeniami jakie są obsługiwane standardowo są:
    • zmiany adresu IP – chodzi konkretnie o pojawienie się pierwszego adresu oraz zniknięcie ostatniego co zapewnia możliwość kontroli usług zależnych od sieci
    • zmiany sprzętowe – przykładem może być usługa bluetooth, która będzie mogła być wyłączona póki w systemie nie pojawi się jakiekolwiek urządzenie z niej korzystające
      domena – czyli reakacja na podłączenie/odłączenie komputera od sieci domenowej [trochę podobnie jak profile Advanced Firewall]
    • polisy grupowe – reakacja na wykrycie zmiany w polisie
    • ponad to możliwość programistycznego rozszeżenia poprzez napisanie własnych triggerów
  • zażądanie startu usługi poprzez API klienta lub obiekt COM SCM – jest to standardowy sposób żądania jedak w w7 dodanych zostało kilka usprawnień w działaniu
    zatrzymanie nieaktywnej usługi – jest najważniejszym i uzuepłniającym elementem, dzięki któremu wszystkie usługi, które nie są w żaden sposób wykorzystywane zostaną zartrzymane. Cały trik polega na tym, żeby przy tak zatrzymanej usłydze klient, który nagle chce z niej skorzystać nie dostał odmowy/informacji o tym, że usługa nie działa – w zamian usługa powinna się podnieść i obsłużyć żądanie.

Wprowadzenie tych pozornie niewielkich zmian jest de facto dość poważną zmianą. ekipa developerów pracująca nad kernelem i zajmująca się SCM uzyskała bardzo duży zysk na różnych płaszczyznach działania systemu dzięki wprowadzonym modyfikacjom – zadowoleni powinni być zarówno użytkownicy, dzięki “lżejszemu” działaniu systemu – jak i administratorzy. ponad to w w7 mniej zbędnych usług będzie uruchomionych co wpłynie na bezpieczeństwo i wydajność [i zużycie energii].

dostępny jest ciekawy whitepaper opisujący powyższe zmiany nieco dokładniej.dla osób wolących posłuchać zamiast poczytać – polecam wywiad na channel 9 z szefem projektu Chittur Subbaramanem, który omawia opisane zmiany.

Wskazany whitepaper zwraca również uwagę na coś, co przy systemie Vista nie było zbyt mocno omawiane na stronach – task scheduler. Jeśli do tej pory nie zwróciliście uwagi na to, jak bardzo się zmienił – polecam to zrobić ASAP. już w Vista widać, że wiele “usług” obsługiwanych jest poprzez scheduler dzięki bardzo rozwiniętej obsłudze triggerów. napisałem “usług” w cudzysłowiu, ponieważ nie są to “usługi systemowe” – zarejestrowane i widoczne w services.msc – a raczej zadania działające w tle i uruchamiane zależnie od zdażenia [np. zadanie ustawiające defragmentację w sob i nd, ale tylko jeśli system jest nieaktywny i podłączony do zasilania].

Osobiście mam dodatkowo nadzieję, że usunięte zostaną mechanizmy kluczy Run, RunOnce i innych dziwnych miejsc, gdzie można wsadzić uruchomienie aplikacji/procesu – nowy schedulet jest idealnym kandydatem, żeby wszystkie te, trudne do ogarnięcia ze względu na liczbę mechanizmy, zastąpić czymś spójnym i zarządzalnym. chociaż szczerze wątpie, żeby nastapiło to w tej wersji.

PS. zwróciliście uwagę na taki drobny fakt – nowy Windows nazywa się Windows 7 podczas, gdy wersja kernela nie zmieni wersji głównej [major version] pozostając przy numerku 6.1. Jak więc będzie nazywał się system kliencki NT 7.o?

w przypadku serwerowych nie ma takiego problemu bo NT6.1 server to Windows Server 2008 R2.

Spread the love

Zostaw komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Time limit is exhausted. Please reload CAPTCHA.