Różnica między procesem a wątkiem - Różnica Pomiędzy

Różnica między procesem a wątkiem

Główna różnica między procesem a wątkiem polega na tym proces to program w trakcie wykonywania, podczas gdy wątek jest małą jednostką wykonawczą w procesie.

Program to zestaw instrukcji do wykonania określonego zadania. Proces to program w trakcie wykonywania. To nie jest program, ale to coś więcej. Innymi słowy, program jest bierną jednostką, podczas gdy proces jest aktywną jednostką. Gdy program jest wykonywany, staje się procesem. Z drugiej strony wątek jest małą jednostką wykonawczą, która należy do procesu. Procesy są ciężkie, ale wątki są lekkie. Dlatego pojedynczy proces jest podzielony na wiele wątków w celu zwiększenia wydajności.

Kluczowe obszary objęte

1. Czym jest proces
- Definicja, funkcjonalność
2. Co to jest wątek
- Definicja, funkcjonalność
3. Związek między procesem a wątkiem
     – Zarys stowarzyszenia
4. Różnica między procesem a wątkiem
- Porównanie kluczowych różnic

Kluczowe terminy

Proces, wątek, system operacyjny


Co to jest proces?

Proces to program w trakcie wykonywania. Gdy programista pisze program i wykonuje go, program ten staje się procesem. Wykonuje zadania zgodnie z instrukcjami programu.

Gdy proces ładuje się do pamięci, dzieli się on na cztery segmenty. Są to stos, stos, tekst i dane. Stosy przechowują dane tymczasowe, takie jak parametry funkcji i zmienne lokalne. Sterta dynamicznie przydziela pamięć procesowi w czasie wykonywania. Sekcja tekstowa zawiera zawartość rejestrów procesora i wartość licznika programu. Sekcja danych zawiera zmienne statyczne i globalne.

Proces przechodzi przez kilka stanów. Są następujące.


Rysunek 2: Stany procesu

Nowy - Proces tworzy się w nowym stanie

Gotowy - W stanie gotowości proces czeka na przypisanie do procesora, aby mógł działać. Proces może przejść do tego stanu po stanie początkowym. Ponadto, gdy program planujący przypisuje procesor do procesu, podczas gdy inny proces już jest wykonywany, ten już wykonywany proces przechodzi do stanu gotowości.

Bieganie - W stanie uruchomionym proces jest przypisany do procesora i wykonuje instrukcje.

Czekanie - Stan oczekiwania odzwierciedla, że ​​proces czeka na wystąpienie jakiegoś zdarzenia; na przykład oczekiwanie na udostępnienie pliku lub oczekiwanie na zakończenie IO.

Zakończenie - Stan zakończenia wskazuje, że proces zakończył wykonywanie. Teraz możliwe jest usunięcie go z pamięci głównej.

Ponadto system operacyjny utrzymuje blok sterowania procesem (PCB) dla każdego procesu. Zawiera informacje o procesie, takie jak identyfikator procesu (PID), licznik programu, rejestry procesora, informacje o planowaniu CPU, informacje o zarządzaniu pamięcią i informacje o statusie IO. PCB jest usuwana po zakończeniu procesu.

Co to jest wątek

Wątek jest jednostką wykonawczą i zawiera licznik programu, stos i zestaw rejestrów. Jest to lekki proces. Wątek nie może istnieć poza procesem i każdy wątek należy do procesu. Istnieją dwa typy wątków: wątki użytkownika i wątki jądra. Wątki użytkowników są wątkami zarządzanymi przez użytkownika, podczas gdy wątki jądra są obsługiwane i zarządzane przez jądro.


Rysunek 2: Wątek i proces

W systemie komputerowym tworzenie procesów dla każdego zadania nie jest efektywne, ponieważ wymaga więcej zasobów. Dlatego proces jest podzielony na wiele podprocesów, a każdy podproces wykonuje podzadanie. Ten podproces jest pojedynczą jednostką w procesie i nazywany jest wątkiem. Dzielenie procesu na wiele wątków i wykonywanie tych wątków równolegle nazywa się wielowątkowością. Dlatego wątki poprawiają wydajność aplikacji dzięki równoległości.

Głównie wątki zapewniają współbieżność w ramach procesu. Ponadto wątki poprawiają wykorzystanie w architekturach wieloprocesorowych w celu zwiększenia wydajności.

Związek między procesem a wątkiem

  • Wątek jest lekkim procesem.

Różnica między procesem a wątkiem

Definicja

Proces jest instancją wykonywanego programu komputerowego. Wątek jest składnikiem procesu, który jest najmniejszą jednostką wykonawczą.

Rodzaj

Proces jest ciężki, podczas gdy wątek jest lekki.

Przełączanie

Przełączanie procesów wymaga interakcji z systemem operacyjnym. Natomiast przełączanie wątków wymaga teraz interakcji z systemem operacyjnym.

Przestrzeń pamięci

Każdy proces ma własną przestrzeń pamięci. Proces nie udostępnia pamięci innym procesom. Wątki wykorzystują pamięć procesu, do którego należą. W ten sposób wątki współdzielą pamięć z innymi wątkami tego samego procesu.

Wymaganie dotyczące zasobów

Proces wymaga więcej zasobów. Wątek wymaga minimalnych zasobów.

kreacja

Trudno jest stworzyć proces. Łatwiej jest utworzyć wątek.

Porozumiewanie się

Komunikacja między procesami jest powolna, ponieważ każdy proces ma inny adres pamięci. Wręcz przeciwnie, komunikacja między wątkami jest szybka, ponieważ wątki współdzielą ten sam adres pamięci, do którego należą.

Zależność

W środowisku wieloprocesorowym każdy proces wykonuje się niezależnie. Ale wątek może odczytywać, zapisywać lub modyfikować dane innego wątku.

Wniosek

Różnica między procesem a wątkiem polega na tym, że proces jest programem w trakcie wykonywania, podczas gdy wątek jest małą jednostką wykonawczą w procesie. Tworzenie procesów jest trudne, ale tworzenie wątków jest ekonomiczne. Ponadto procesy wymagają dużych zasobów, podczas gdy wątki wymagają minimalnych zasobów.

Odniesienie:

1. „Czym jest proces?” Python Relational and Logical Operators | Studytonight,