Jak ten proces działa w Linux
Nie jest wystarczające podanie komputera kodu binarnego, który mówi mu, co wykonać program. Uruchomienie programu wymaga dużo pamięci i innych zasobów z systemu operacyjnego. Więc „Proces”To program załadowany do pamięci ze wszystkimi wymaganymi zasobami. Zarządzanie zasobami programu jest zadaniem systemu operacyjnego.
Licznik programu, rejestry i stos to niezwykle ważne zasoby dla każdego procesu. CPU zawiera zestaw rejestrów do przechowywania danych. Rejestry mogą przechowywać informacje potrzebne przez proces, takie jak instrukcje lub adresy pamięci. Komputery śledzą, gdzie są w swoich programach, korzystając z „licznika programu”, znanego również jako „wskaźnik instrukcji”. Stosy danych są używane jako przestrzeń zarysowania w programach komputerowych, ponieważ zawierają informacje o aktywnych podprogramach. Pamięć dynamicznie przydzielona odróżnia się od „sterty”, procesu autonomicznego i nieograniczonego.
Poszczególny program może działać w więcej niż jednej instancji, a każdy z nich jest określany jako „Proces". Miejsce adresu pamięci dla każdego procesu jest osobne, więc może działać niezależnie i być odizolowane od innych procesów. Aplikacja nie może bezpośrednio uzyskać dostępu do danych, które są udostępniane między innymi procesami. Przełączanie jednego procesu na inny zapisuje i ładuje rejestry, mapy pamięci i inne zasoby, których załadowanie zajmie trochę czasu.
Systemy operacyjne próbują samodzielnie oddzielić procesy, aby po upadku jednego procesu nie wpływa na inne procesy. Na przykład prawdopodobnie wpadłeś na sytuację, w której jedna z twoich aplikacji komputerowych zawiesza się lub zawiesza, a jednak udało ci się to zatrzymać bez wpływu na inne aplikacje. Każdy proces ma własną przestrzeń adresową, więc każdy ma inny zestaw danych.
Jak działa wątek w Linux
"Nitka”To zestaw instrukcji wykonanych w procesie, który może wahać się od pojedynczego wątku do wielu. Proces to ten, który przydziela pamięć i zasoby, które są później używane przez wątek. Czasami nazywa się to lekkim procesem, ponieważ mogą uzyskać dostęp do udostępnionych danych, jednocześnie posiadając własny stos. Gdy działa równolegle, wydajność aplikacji również zostanie ulepszona. Posiadanie tej samej przestrzeni adresowej wątków i procesów oznacza, że komunikacja między wątkami kosztuje niewiele. Wadą jest to, że awaria jednego wątku zdecydowanie wpłynie na inne wątki i sprawi, że proces będzie mniej opłacalny. W poniższej reprezentacji graficznej możesz zobaczyć, jak działa proces i wątki.
Różnica między procesem a wątkami Linux
Godne uwagi różnice są wymienione na następujący obraz:
Wniosek
Terminy „proces” i „wątek” mogą być mylące dla nowicjuszy. Więc ten artykuł został napisany, mając na uwadze ten punkt i powinieneś mieć podstawowy pomysł po przeczytaniu artykułu. Następnie wyjaśnił kluczowe różnice między nimi. Wątek jest podczęścią procesu, który rozpowszechnia jego zasoby na inne wątki. Poprawi to wydajność aplikacji, ponieważ zasoby są teraz udostępniane.