• Artykuły
  • Forum
  • Ciekawostki
  • Encyklopedia
  • Wielowątkowość

    Przeczytaj także...
    Wątek (ang. thread) – część programu wykonywana współbieżnie w obrębie jednego procesu; w jednym procesie może istnieć wiele wątków.Hyper-threading (nazwa oficjalna Hyper-Threading Technology, nazwy skrócone HT Technology, HTT lub HT) – implementacja wielowątkowości współbieżnej (ang. simultaneous multithreading, SMT) opracowana przez firmę Intel i stosowana w procesorach Atom, Core i3, Core i5, Core i7, Itanium, Pentium 4 oraz Xeon.
    Przetwarzanie współbieżne (ang. concurrent computing) – przetwarzanie oparte na współistnieniu wielu wątków lub procesów, operujących na współdzielonych danych. Wątki uruchomione na tym samym procesorze są przełączane w krótkich przedziałach czasu, co sprawia wrażenie, że wykonują się równolegle.

    Wielowątkowość (ang. multithreading) – cecha systemu operacyjnego, dzięki której w ramach jednego procesu może wykonywać kilka zadań lub jednostek wykonawczych. Nowe zadania to kolejne ciągi instrukcji wykonywane oddzielnie. Wszystkie zadania w ramach tego samego procesu współdzielą kod programu i dane.

    Komunikacja międzyprocesowa (ang. Inter-Process Communication — IPC) – umowna nazwa zbioru sposobów komunikacji pomiędzy procesami systemu operacyjnego.Synchronizacja (z stgr. σύγχρονος synchronos - równoczesny) – koordynacja w czasie, co najmniej dwóch zjawisk (procesów), tzn. dążenie do równoległego, niezależnego ich przebiegu, skoordynowanego w czasie lub do jednoczesnego ich zakończenia. Pojęcie synchronizacji występuje w fizyce, informatyce, elektronice, telekomunikacji, robotyce, multimediach (np. synchronizacja dźwięku z obrazem), muzyce i ekonomii (synchronizacja cykli koniunkturalnych).

    Wielowątkowość może także odnosić się do samych procesorów. W takim wypadku oznacza możliwość jednoczesnego wykonywania wielu wątków sprzętowych na pojedynczej jednostce wykonawczej – rdzeniu (ang. core). Wielowątkowość w procesorach możliwa jest dzięki temu, że nie wszystkie części jednostki wykonawczej są w jednakowym stopniu wykorzystywane przez pojedynczy wątek (ciąg instrukcji). Nieaktywne części jednostki wykonawczej mogą w tym czasie wykonywać inny wątek zwiększając efektywność wykorzystania całego procesora. W zależności od rodzaju technik zastosowanych do obsługi dodatkowych wątków sprzętowych spotyka się od 2 (najczęściej) do nawet 8 wątków sprzętowych na pojedynczy rdzeń procesora (core).

    System operacyjny (ang. Operating System, skrót OS) – oprogramowanie zarządzające systemem komputerowym, tworzące środowisko do uruchamiania i kontroli zadań użytkownika.Unix Time-Sharing System (pisane również jako UNIX, choć nie jest to skrót – nazwa „UNIX” jest kalamburem określenia Multics, który był wzorem dla Uniksa) – system operacyjny rozwijany od 1969 r. w Bell Labs (UNIX System Laboratories, USL) przez Dennisa Ritchie i Kena Thompsona. W latach 70. i 80. zdobył bardzo dużą popularność, co zaowocowało powstaniem wielu odmian i implementacji. Część z nich, w szczególności Linux oraz OS X, jest w użyciu do dziś. UNIX jest zarejestrowanym znakiem towarowym The Open Group.

    Cechy wielowątkowości[]

  • wszystkie wątki wykonują się w ramach tylko jednego programu (procesu) - innymi słowy jeden proces posiada wiele instancji wykonawczych (wątków)
  • wątki zostały wprowadzone aby umożliwić przetwarzanie współbieżne, np gdy zachodzi potrzeba wykonania wielu zadań jednocześnie. Może się to wiązać również ze zwiększeniem wydajności o ile istnieją odpowiednie zasoby sprzętowe (wiele procesorów lub obsługa wielowątkowości przez pojedynczy procesor). Należy pamiętać iż wprowadzenie wątków może obniżyć wydajność ponieważ najczęściej wymagane jest przy tym wprowadzenie odpowiednich mechanizmów synchronizacji;
  • wszystkie wątki procesu współdzielą tę samą wirtualną przestrzeń adresową (mają dostęp do tych samych "egzemplarzy" zmiennych, obiektów i struktur) i korzystają z tych samych zasobów systemowych;
  • komunikacja między wątkami w odróżnieniu od procesów jest bardzo łatwa do wykonania – w przypadku wątków wystarczy odwoływać się do tych samych zmiennych i obiektów – komunikacja między procesami wymaga zastosowania mechanizmów IPC (ang. InterProcess Communication);
  • współdzielenie wirtualnej przestrzeni adresowej niesie zagrożenie – jeden "wadliwy" wątek może zagrozić wykonaniu całego programu;
  • każdy wielowątkowy system operacyjny zapewnia specyficzne metody synchronizacji wątków, które z wyżej wymienionych przyczyn należy bezwzględnie zaimplementować.
  • Systemy wielowątkowe to m.in. BeOS, Windows 95, Windows NT, Unix i systemy bazujące na jądrze Linux.

    Procesor (ang. processor), także CPU (ang. Central Processing Unit) – urządzenie cyfrowe sekwencyjne, które pobiera dane z pamięci, interpretuje je i wykonuje jako rozkazy. Wykonuje on ciąg prostych operacji (rozkazów) wybranych ze zbioru operacji podstawowych określonych zazwyczaj przez producenta procesora jako lista rozkazów procesora.Wielozadaniowość – cecha systemu operacyjnego umożliwiająca mu równoczesne wykonywanie więcej niż jednego procesu. Zwykle za poprawną realizację wielozadaniowości odpowiedzialne jest jądro systemu operacyjnego.

    Zobacz też[]

  • wielozadaniowość
  • Hyper-Threading
  • POSIX Threads



  • w oparciu o Wikipedię (licencja GFDL, CC-BY-SA 3.0, autorzy, historia, edycja)

    Warto wiedzieć że... beta

    POSIX Threads (wątki POSIX, pthreads) – specyfikacja wchodząca w skład standardu POSIX określająca implementację wielowątkowości, która obejmuje podstawowe mechanizmy zarządzania wątkami, obiektami synchronizującymi oraz definiuje jednolity interfejs programistyczny dla języka C. Standard definiuje pewien podstawowy zestaw funkcji oraz szereg opcji, które mogą być udostępnione przez implementację.
    Microsoft Windows NT (ang. New Technology) – rodzina 32- i 64-bitowych systemów operacyjnych firmy Microsoft, początkowo przeznaczonych do zastosowań profesjonalnych, obecnie z tej rodziny pochodzą także najpopularniejsze systemy dla użytkowników domowych. Rodzina systemów NT, wywodzi się z systemu OS/2, opracowanego przez IBM we współpracy z Microsoftem. Początkowe wersje Windows NT w wersji 3.x mogły być instalowane na partycji HPFS (System plików OS/2), właśnie dlatego, że rodzina NT bazowała na kodzie OS/2.
    Proces – jedno z podstawowych pojęć w informatyce, definiowane jako egzemplarz wykonywanego programu. Każdy nowo powstały proces otrzymuje unikatowy numer, który go jednoznacznie identyfikuje, tzw. PID (od (ang.) process identifier).
    Przestrzeń adresowa to mapa możliwej do zaadresowania przez proces pamięci. Nie cały jej obszar musi mieć swój odpowiednik w pamięci fizycznej, co jest implementowane za pomocą pamięci wirtualnej. W skład przestrzeni adresowej procesu wchodzą najczęściej:
    Microsoft Windows 95 (nazwa kodowa Windows 4.0 i Chicago) – system operacyjny wyprodukowany przez Microsoft Corporation, którego oficjalna premiera miała miejsce 24 sierpnia 1995. Swą nazwę zawdzięcza systemowi okien (ang. windows), które są głównym elementem graficznego interfejsu użytkownika tego systemu operacyjnego.
    Struktura lub rekord - to złożony typ danych występujący w wielu językach programowania, grupujący logicznie powiązane ze sobą dane różnego typu w jednym obszarze pamięci. Składowe struktury - pola - są etykietowane, tj. mają swoje unikatowe nazwy; poprzez podanie nazwy otrzymuje się dostęp do danego pola.
    Obiekt to podstawowe pojęcie wchodzące w skład paradygmatu programowania obiektowego w analizie i projektowaniu oprogramowania oraz w programowaniu.

    Reklama

    Czas generowania strony: 0.009 sek.