Różnica między procesem a usługą w systemie Windows 10: wyjaśnia GT
Różne / / November 29, 2021
Kilka dni temu, kiedy byłem zajęty pisaniem przewodnika Chrome zaczął się opóźniaći musiałem otworzyć Menedżera zadań, aby zabić powiązany proces. Zdałem sobie sprawę, że istnieje inna zakładka o nazwie Usługi i zacząłem się zastanawiać, jaka jest różnica między nimi? Po co w ogóle umieszczać tę kartę w Menedżerze zadań, skoro możesz zabić aplikację z karty Procesy?
To sprowadziło mój mózg do króliczej nory. Jaka jest więc różnica między procesem a usługą w systemie Windows 10? Dowiedzmy się, czym się różnią, dlaczego potrzebują siebie nawzajem i jak są do siebie podobni.
Zaczynajmy.
1. Jak się różnią?
Proces to wystąpienie programu komputerowego lub aplikacji, które otwierasz i uruchamiasz na swoim komputerze. Może być wykonany używając jednego lub więcej wątków. Jeden program może uruchamiać wiele procesów. Weźmy przykład. Gdy otworzysz Chrome, nawet gdy otwarte jest jedno okno, zobaczysz wiele procesów Chrome w Menedżerze zadań na karcie Procesy.
Zauważyłem, że dotyczy to wszystkich przeglądarek. W powyższym przykładzie zauważysz, że
Odważna przeglądarka ma też uruchomionych wiele procesów, mimo że nie mam zainstalowanego ani jednego rozszerzenia. W każdym razie procesy są bezpośrednio związane z aplikacją, którą aktualnie uruchamiamy na naszym komputerze z systemem Windows, mają interfejs użytkownika do interakcji i zwykle są uruchamiane ręcznie.Tak więc, kiedy uruchamiam Skitch, uruchamia się proces. Więcej przykładów to Skype, aplikacje MS Office, edytory obrazów i tak dalej.
Z drugiej strony usługi to programy komputerowe, które działają w tle, niezależnie od tego, czy masz otwartą aplikację na pierwszym planie. Oznacza to, że nie są one dokładnie tworzone ani uruchamiane dla użytkowników końcowych, ale pomagają programom w wykonywaniu ich zadań.
Usługi nie mają interfejsu użytkownika. Przed Windows Vista mieli graficzny interfejs użytkownika, ale był przestarzały. Usługa jest zwykle uruchamiana przez sam system operacyjny. Jednak użytkownik może go uruchomić lub ponownie uruchomić ręcznie.
Usługi mogą również zostać uruchomione, gdy warunek zostanie spełniony, na przykład w wyniku zdarzenia. Przykładem zdarzenia może być uruchomienie systemu operacyjnego. Na przykład rejestrowanie zdarzeń, raportowanie błędów, drukowanie, optymalizacja urządzeń i usługi związane z czujnikami.
2. Jak są podobni
Weźmy przykład usługi, która jest również procesem. Program antywirusowy ma interfejs użytkownika, ale może również działać na pierwszym planie. Dzieje się tak, ponieważ usługa jest procesem, ale proces może, ale nie musi być usługą. Zanurzmy się głębiej.
Proces to instancja pliku wykonywalnego. Dlatego za każdym razem, gdy otwierasz aplikację, działa co najmniej jeden proces.
Z drugiej strony usługa działa jako instancja proces svchost.exe, głównie (pliki DLL). To jest proces hosta usługi Windows. Zauważ, że svchost jest również plikiem wykonywalnym, a host usługi sam w sobie jest procesem? Ponownie, usługa może być procesem, ale proces może być usługą lub nie.
Weźmy inny przykład. Zegar. Zegar zawsze działa na twoim komputerze, niezależnie od tego, czy jest otwarty, czy nie. Działa również, gdy komputer jest w trybie uśpienia lub hibernacji. Do diabła, zawsze otrzymuje prawidłową datę i godzinę, nawet gdy wyłączasz komputer na wiele godzin.
Dzieje się tak, ponieważ jest to proces z usługą (W32Time), który działa w tle bez konieczności informowania go przez użytkownika, co ma robić. Możesz jednak edytować go według własnych upodobań, jeśli chcesz korzystać z interfejsu użytkownika z Ustawień, który jest procesem.
Usługi są doskonale zdolne do samodzielnego działania bez udziału użytkownika, w przeciwieństwie do procesów, które muszą informować, co mają zrobić. Instalacja pakietu (pliki .msi) wymaga usług instalatora systemu Windows działających w tle. Ale najczęściej proces kończy się po zamknięciu powiązanej aplikacji. Usługa nadal działa w tle, mimo że ma skojarzony proces z zamkniętym interfejsem użytkownika.
Inną istotną różnicą jest to, że proces jest zaprojektowany tak, aby działał tak długo, jak interfejs użytkownika, okno GUI, jest otwarty, podczas gdy usługa jest zaprojektowana tak, aby działała przez dłuższy czas w tle. Zazwyczaj usługi mają również więcej uprawnień administratora niż procesy. Dzieje się tak, ponieważ proces jest usługą użytkownika (przeznaczoną dla użytkownika końcowego), podczas gdy usługa jest usługą systemu Windows (przeznaczoną dla systemu operacyjnego Windows).
Na przykład, jest kilka aplikacji (procesy użytkownika), z których możesz korzystać tylko wtedy, gdy jesteś zalogowany jako użytkownik z uprawnieniami administratora. Jednak usługi (procesy systemu Windows) działają w tle niezależnie od profilu użytkownika, którego użyłeś do zalogowania. Ponownie zegar jest doskonałym przykładem, który działa dla wszystkich użytkowników.
Świadczenie usługi to proces
Procesy i Usługi to dwie strony tego samego medalu. Jeden jest opracowany dla użytkownika końcowego, a drugi dla systemu. W związku z tym jeden ma GUI, a drugi nie. Czasami nakładają się na siebie i wtedy usługa uruchamia proces, ale nie odwrotnie.
Dalej w górę: Chcesz poznać różnicę między programem a aplikacją w systemie Windows 10? Kliknij poniższy link, aby się dowiedzieć.