Mam zamiar użyć dużo tekstu z książki Systemy operacyjne koncepcje ABRAHAMA SILBERSCHATZA, PETERA BAERA GALVINA i GREG GAGNE, a także mojego własnego rozumienia rzeczy.
Proces
Każda aplikacja znajduje się w komputerze w postaci tekstu (lub kodu).
Podkreślamy, że sam program nie jest procesem. Program jest jednostką pasywną, taką jak plik zawierający listę instrukcji przechowywanych na dysku (często nazywany plikiem wykonywalnym).
Kiedy uruchamiamy aplikację, tworzymy instancję wykonania. To wystąpienie wykonania nazywa się procesem. EDYCJA: (Zgodnie z moją interpretacją, analogicznie do klasy i instancji klasy, instancja klasy jest procesem).
Przykładem procesów jest Google Chrome. Kiedy uruchamiamy Google Chrome, odradzają się 3 procesy:
• Proces przeglądarki odpowiada za zarządzanie interfejsem użytkownika oraz dyskowymi i sieciowymi I / O. Nowy proces przeglądarki jest tworzony po uruchomieniu Chrome. Tworzony jest tylko jeden proces przeglądarki.
• Renderer procesy zawierać logikę do renderowania stron internetowych. Dlatego zawierają logikę do obsługi HTML, Javascript, obrazów i tak dalej. Zgodnie z ogólną zasadą dla każdej strony internetowej otwartej w nowej karcie tworzony jest nowy proces renderowania, dlatego kilka procesów renderujących może być jednocześnie aktywnych.
• A wtykowe powstaje procesu dla każdego rodzaju wtykowe (taką jak pamięć flash lub QuickTime) w trakcie używania. Procesy wtyczek zawierają kod wtyczki, a także dodatkowy kod, który umożliwia wtyczce komunikowanie się z powiązanymi procesami renderowania i procesem przeglądarki.
Wątek
Aby odpowiedzieć na to pytanie, najpierw powinieneś wiedzieć, czym jest procesor. Procesor to sprzęt, który faktycznie wykonuje obliczenia. EDYCJA: (Obliczenia takie jak dodawanie dwóch liczb, sortowanie tablicy, w zasadzie wykonywanie napisanego kodu)
Teraz przejdźmy do definicji wątku.
Wątek jest podstawową jednostką wykorzystania procesora ; zawiera identyfikator wątku, licznik programu, zestaw rejestrów i stos.
EDYCJA: Definicja wątku ze strony internetowej wywiadu:
Wątek lub wątek wykonania jest terminem programowym na podstawową uporządkowaną sekwencję instrukcji, które mogą być przekazywane lub przetwarzane przez pojedynczy rdzeń procesora.
Tak więc, jeśli proces renderowania z aplikacji Chrome posortuje tablicę liczb, sortowanie odbędzie się według wątku / wątku wykonania. (Gramatyka dotycząca wątków wydaje mi się myląca)
Moja interpretacja rzeczy
Proces jest instancją wykonania. Wątki to faktyczni pracownicy, którzy wykonują obliczenia poprzez dostęp do procesora. Gdy dla procesu działa wiele wątków, proces zapewnia wspólną pamięć.
EDYCJA:
Inne informacje, które uznałem za przydatne, aby dać więcej kontekstu
Wszystkie współczesne komputery mają więcej niż jeden wątek. Liczba wątków w komputerze zależy od liczby rdzeni w komputerze.
Przetwarzanie równoległe :
Z Wikipedii:
Obliczenia współbieżne to forma obliczeń, w której kilka obliczeń jest wykonywanych w nakładających się okresach - równocześnie - zamiast sekwencyjnych (jedno kończy się przed kolejnym uruchomieniem). Jest to właściwość systemu - może to być pojedynczy program, komputer lub sieć - i dla każdego obliczenia („proces”) istnieje osobny punkt wykonania lub „wątek kontroli”.
Mógłbym napisać program, który oblicza sumę 4 liczb:
(1 + 3) + (4 + 5)
W programie do obliczenia tej sumy (która będzie jednym procesem uruchomionym na wątku wykonania) mogę rozwidlić inny proces, który może działać na innym wątku do obliczenia (4 + 5) i zwrócić wynik do pierwotnego procesu, podczas gdy oryginalny proces oblicza sumę (1 + 3).