Zawartość
- Co to jest proces?
- Co to jest wątek
- Związek między procesem a wątkiem
- 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,