Technologia

Co to jest przetwarzanie wieloprocesowe? – Definicja TechTarget

  • 6 marca, 2023
  • 8 min read
Co to jest przetwarzanie wieloprocesowe?  – Definicja TechTarget


Co to jest przetwarzanie wieloprocesowe?

Wieloprocesorowość to wykorzystanie dwóch lub więcej jednostek centralnych (CPU) w jednym systemie komputerowym. Jego definicja może się różnić w zależności od kontekstu, ale ogólnie odnosi się do zdolności systemu do obsługi wielu procesorów i jego zdolności do dystrybucji pracy między nimi.

Dzisiejsze procesory wielordzeniowe mogą z łatwością pomieścić 12, 24 lub nawet więcej rdzeni mikroprocesorowych na tej samej płycie głównej, umożliwiając efektywne i równoczesne przetwarzanie wielu zadań.

Procesory wielordzeniowe integrują wiele jednostek przetwarzających i łączą się bezpośrednio z wewnętrzną pamięcią podręczną oraz magistralą systemową i pamięcią.

Czym są procesy?

Zbiór instrukcji wykonywanych przez procesor komputera nazywany jest procesem lub działającym procesem.

Wykonywanie procesu musi przebiegać sekwencyjnie. Na przykład program komputerowy jest zapisany w pliku tekstowym, ale po uruchomieniu zamienia się w proces i wykonuje sekwencyjnie wszystkie zadania wymienione w programie.

Przykłady procesów

Zwykły komputer wykonuje w sposób ciągły szereg procesów, które pomagają zarządzać systemem operacyjnym (OS), sprzętem i aplikacjami zainstalowanymi na komputerze. Może to obejmować zarówno proste zadanie w tle, takie jak sprawdzanie pisowni lub program obsługi zdarzeń systemowych, jak i pełnoprawną aplikację, taką jak Microsoft Word.

W systemie Microsoft Windows każdy proces uruchomiony na komputerze można obserwować, otwierając kartę Procesy w Menedżerze zadań. Procesy to zazwyczaj programy działające w tle, których zwykle nie widać podczas korzystania z komputera.

Poniżej przedstawiono kilka przykładów procesów, które można zaobserwować za pomocą Menedżera zadań:

  • Winlogon.exe. Ten proces należy do menedżera logowania systemu Windows i jest odpowiedzialny za obsługę zabezpieczeń, takich jak ładowanie profili użytkowników i blokowanie ekranów komputera podczas działania wygaszacza ekranu.
  • Wininit.exe. Ten ważny proces przebiega w sposób ciągły i pomaga w konfiguracji systemu przy pierwszym logowaniu. Jego podstawową rolą jest służenie jako starter dla większości programów i procesów działających w tle, które rozpoczynają się w systemie Windows.
  • csrss.exe. W przeszłości proces csrss.exe był używany do zarządzania komponentami graficznymi systemu Windows, ale obecnie jego dwie najważniejsze funkcje to zamykanie systemu Windows i uruchamianie procesu conhost.exe, który uruchamia wiersz polecenia.
  • Programy drukarki. Każdy program drukarki to proces działający w tle, monitorujący poziomy atramentu i inne ustawienia podczas pracy komputera.
Warto przeczytać!  Samsung Galaxy F14 5G może pojawić się w Indiach w przyszłym miesiącu

Rodzaje systemów wieloprocesorowych

Systemy przetwarzania wieloprocesorowego lub przetwarzania równoległego są obecnie powszechne. Systemy te wykorzystują pamięć współdzieloną i rozdzielają zegar komputera, pamięć, magistralę i urządzenia peryferyjne na kilka współbieżnych procesorów. Przetwarzanie wieloprocesowe dzieli się na następujące trzy typy:

  • Wieloprocesorowość symetrycznag (SMP). W symetrycznym (lub „ściśle sprzężonym”) przetwarzaniu wieloprocesorowym procesory współdzielą pamięć i magistralę we/wy lub ścieżkę danych. Pojedyncza kopia systemu operacyjnego zarządza wszystkimi procesorami. SMP, znany również jako system „shared all”, zwykle nie przekracza 16 procesorów.
  • Asymetryczne przetwarzanie wieloprocesowe (AMP). Przed rozwojem wieloprocesorów symetrycznych dostępne były tylko wieloprocesory asymetryczne. Każdy procesor w systemie asymetrycznym ma z góry określone zadanie. Relacja pierwotna-wtórna istnieje w asymetrycznym systemie wieloprocesorowym, w którym wszystkie procesory otrzymują instrukcje od procesora głównego. AMP jest tańszą opcją niż SMP.
  • Przetwarzanie masowo równoległe (MPP). W przypadku przetwarzania MPP (lub „luźno sprzężonego”) z tą samą aplikacją może pracować do 200 lub więcej procesorów. Każdy procesor ma własny system operacyjny i pamięć, ale układ ścieżek danych „połączonych” umożliwia przesyłanie komunikatów między procesorami. Zazwyczaj konfiguracja MPP jest bardziej skomplikowana i wymaga przemyślenia, jak podzielić wspólną bazę danych między procesory i jak przypisać pracę między procesorami. System MPP jest również znany jako system „nic nie współdzielono”.
Ilustracja pokazująca, jak symetryczne przetwarzanie wieloprocesowe (SMP) współdzieli przestrzeń pamięci z różnymi procesorami
Symmetric multiprocessing (SMP) to rodzaj przetwarzania wieloprocesowego, w którym procesory współdzielą pamięć i magistralę we/wy lub ścieżkę danych.

Proces a wątek

Istnieje powszechne błędne przekonanie, że procesy i wątki są takie same, podczas gdy w rzeczywistości są to oddzielne sekwencje wykonania.

Poniżej przedstawiono typowe różnice między procesem a wątkiem:

  • Proces jest sekcją działającego programu, podczas gdy wątek jest częścią procesu.
  • Wątki są lekkie w porównaniu z procesami.
  • Kiedy proces się kończy, robi to wolniej niż wątek.
  • Tworzenie procesu wymaga więcej czasu niż tworzenie wątku.
  • Procesy wymagają więcej czasu na przełączanie kontekstu, podczas gdy wątki potrzebują mniej czasu.
  • W przeciwieństwie do wątków, które współdzielą pamięć, proces jest w dużym stopniu segregowany.
  • Dane nie są udostępniane między procesami, ale między wątkami.
Warto przeczytać!  Czy musisz wymienić baterię iPhone'a? Dowiedz się, zanim ceny Apple wzrosną

Poza błędnym postrzeganiem procesów i wątków, przetwarzanie wieloprocesowe jest czasami mylone z wieloprogramowaniem lub przeplatanym wykonywaniem dwóch lub więcej programów przez procesor. Obecnie termin ten jest rzadko używany, ponieważ wszystkie, z wyjątkiem najbardziej wyspecjalizowanych komputerowych systemów operacyjnych, obsługują wieloprogramowość.

Wieloprocesorowość można również pomylić z wielozadaniowością lub podziałem czasu, zarządzaniem programami i usługami systemowymi, o które proszą jako zadania, które można przeplatać, oraz z wielowątkowością, zarządzaniem wieloma ścieżkami wykonywania przez komputer lub wieloma użytkownikami współużytkującymi tę samą kopię program.

Ilustracja pokazująca, jak działa wielowątkowość z czterema wątkami programu
Wieloprocesorowości nie należy mylić z wielowątkowością, czyli zarządzaniem wieloma ścieżkami wykonywania przez komputer.

Wyzwania związane z przetwarzaniem wieloprocesowym

Wieloprocesorowość poprawia wydajność i niezawodność systemu, ale wiąże się również z kilkoma wyzwaniami:

  • Drogi. Systemy z wieloma procesorami mogą być drogie. Posiadanie tylko jednego procesora jest tańsze niż posiadanie dwóch lub więcej. Zaleca się inwestowanie w kilka procesorów tylko wtedy, gdy będą się one opłacać w dłuższej perspektywie, ponieważ poza wydatkami początkowymi ich utrzymanie jest kosztowne.
  • Zakleszczenia. W systemach z wieloma procesorami zakleszczenie może wystąpić, jeśli jeden procesor próbuje uzyskać dostęp do urządzenia wejścia/wyjścia (I/O), podczas gdy inny procesor próbuje go użyć.
  • Dodatkowe wymagania dotyczące pamięci. Ze względu na ulepszone możliwości obliczeniowe komputery wieloprocesorowe są szeroko stosowane. Wiążą się one jednak ze zwiększonymi wymaganiami dotyczącymi pamięci. W architekturach wieloprocesorowych pamięć jest współdzielona przez wszystkie procesy, a każdy procesor wymaga miejsca w pamięci. Wszystkie procesory współpracują ze sobą i jednocześnie uzyskują bezpośredni dostęp do pamięci głównej, co powoduje wzrost zużycia pamięci.
  • Złożony system operacyjny. W wieloprocesorowych systemach operacyjnych każdy procesor ma własny system operacyjny, który przypisuje każdemu procesorowi kilka mniejszych zadań, a obciążenie jest rozdzielane między procesory. Jednak użycie wielu procesorów sprawia, że ​​działanie systemu operacyjnego jest bardziej złożone.
Warto przeczytać!  36 błędów RCE, 3 dni zerowe, 75 CVE – Naga ochrona

Zalety przetwarzania wieloprocesowego

Środowiska wieloprocesorowe są szeroko stosowane i oferują szeroki zakres zalet, takich jak zwiększona szybkość, przepustowość i niezawodność. Typowe korzyści wynikające z przetwarzania wieloprocesowego obejmują:

  • Niezawodność. Jeśli jeden procesor ulegnie awarii w systemie wieloprocesorowym, inne procesory mogą przejąć luz i nadal działać. Chociaż wyłączenie jednego procesora może spowodować stopniowe spowolnienie, system może nadal działać płynnie. To sprawia, że ​​systemy wieloprocesorowe są wysoce niezawodne.
  • Zwiększona przepustowość. Przepustowość to liczba procesów wykonywanych w danym czasie. Biorąc pod uwagę, że systemy wieloprocesorowe używają wielu procesorów do obsługi danych, oczekuje się zwiększonej wydajności, gdy system wykorzystuje przetwarzanie równoległe. Oznacza to, że więcej zadań można wykonać w krótszym czasie, ponieważ są one podzielone między różne procesory.
  • Cięcie kosztów. Systemy wieloprocesorowe są bardziej ekonomiczne w porównaniu z systemami wieloprocesorowymi. Wynika to z faktu, że wiele procesorów w jednym systemie współdzieli tę samą pamięć, miejsce na dysku, magistrale i urządzenia peryferyjne.

Wieloprocesorowość symetryczna, wieloprzetwarzanie asymetryczne i przetwarzanie masowo równoległe to tylko niektóre z kilku rodzajów przetwarzania wieloprocesowego. Dowiedz się, czym różnią się te tryby od siebie i zapoznać się z unikalnymi przypadkami użycia każdego z nich.

Odmowa odpowiedzialności! TechNewsBoy.com jest automatycznym agregatorem światowych mediów. Wszystkie treści są dostępne bezpłatnie w Internecie. Właśnie umieściliśmy to na jednej platformie wyłącznie w celach edukacyjnych. W każdej treści podany jest hiperłącze do głównego źródła. Wszystkie znaki towarowe należą do ich prawowitych właścicieli, wszystkie materiały do ​​ich autorów. Jeśli jesteś właścicielem treści i nie chcesz, abyśmy publikowali Twoje materiały na naszej stronie, skontaktuj się z nami przez e-mail – [email protected]. Treść zostanie usunięta w ciągu 24 godzin.


Źródło