• Artykuły
  • Forum
  • Ciekawostki
  • Encyklopedia
  • Współbieżność

    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.Ada to strukturalny, kompilowany, imperatywny, statycznie typowany i obiektowy język programowania opracowany przez Jean Ichbiaha i zespół z CII Honeywell Bull w latach 70. XX wieku. Język ten wygrał konkurs zorganizowany przez Departament Obrony USA (U.S. Department of Defense – DoD), pokonując 19 innych projektów. Nazwa języka, nadana przez DoD, pochodzi od imienia lady Augusty Ady Lovelace, uważanej za pierwszą programistkę w historii.
    Przetwarzanie rozproszone (ang. distributed processing) to wykonywanie określonych zadań użytkownika z wykorzystaniem współdzielonych zasobów połączonych siecią komputerową.

    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.

    Monitor – w przetwarzaniu współbieżnym obiekt, który może być bezpiecznie używany przez kilka wątków. Metody monitora chronione są przez muteksy, przez co w dowolnym momencie czasowym z dowolnej metody może korzystać tylko jeden wątek naraz. Upraszcza to budowę obiektów, zwalniając programistę z konieczności implementacji skomplikowanych wykluczeń.Obliczenia równoległe – forma wykonywania obliczeń, w której wiele instrukcji jest wykonywanych jednocześnie. Taka forma przetwarzania danych była wykorzystywana przez wiele lat, głównie przy wykorzystaniu superkomputerów, a szczególne zainteresowanie zyskała w ostatnich latach, z uwagi na fizyczne ograniczenia uniemożliwiające dalsze zwiększanie częstotliwości taktowania procesorów. Obliczenia równoległe stały się dominującym wzorcem w architekturze komputerowej, głównie za sprawą upowszechnienia procesorów wielordzeniowych.

    Przetwarzanie współbieżne znajduje szerokie zastosowanie w serwerach, które muszą obsługiwać liczne żądania od różnych klientów. Gdyby serwer działał sekwencyjnie, jedno duże żądanie sparaliżowałoby pracę serwera – pozostałe żądania czekałyby na swoją kolej, aż tamto zostanie ukończone.

    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).OpenMP (ang. Open Multi-Processing) – wieloplatformowy interfejs programowania aplikacji (API) umożliwiający tworzenie programów komputerowych dla systemów wieloprocesorowych z pamięcią dzieloną. Może być wykorzystywany w językach programowania C, C++ i Fortran na wielu architekturach, m.in. Unix i Microsoft Windows. Składa się ze zbioru dyrektyw kompilatora, bibliotek oraz zmiennych środowiskowych mających wpływ na sposób wykonywania się programu.

    Jednoczesna praca na współdzielonych danych może doprowadzić do utraty ich spójności, dlatego konieczne jest stosowanie różnych mechanizmów synchronizacyjnych, np. semaforów i monitorów. Niektóre języki programowania (np. Erlang, Ada) powstały z myślą o tworzeniu systemów współbieżnych i zawierają silne wsparcie dla komunikacji lub synchronizacji wątków już na poziomie języka.

    Erlang jest językiem programowania zaprojektowanym z myślą o zastosowaniach współbieżnych, a także środowiskiem uruchomieniowym dla aplikacji w nim napisanych. Sekwencyjny podzbiór Erlanga jest językiem funkcyjnym z wartościowaniem zachłannym, jednokrotnym przypisaniem oraz dynamicznym typowaniem. Część współbieżna bazuje na teoretycznym modelu znanym jako Actor model. Język został zaprojektowany pod kątem tworzenia rozproszonych systemów wymagających długotrwałej pracy oraz odporności na awarie. Obsługuje mechanizm hot-swappingu pozwalający na aktualizację kodu aplikacji bez jej zatrzymywania.Semafor – chroniona zmienna lub abstrakcyjny typ danych, który stanowi klasyczną metodę kontroli dostępu przez wiele procesów do wspólnego zasobu w środowisku programowania równoległego. Semafory zostały po raz pierwszy opisane przez Edsgera Dijkstrę jako istotne rozwinięcie algorytmu Dekkera.

    Zobacz też[]

  • obliczenia równoległe
  • przetwarzanie rozproszone
  • OpenMP
  • (window.RLQ=window.RLQ||).push(function(){mw.log.warn("Gadget \"edit-summary-warning\" styles loaded twice. Migrate to type=general. See \u003Chttps://phabricator.wikimedia.org/T42284\u003E.");mw.log.warn("Gadget \"wikibugs\" styles loaded twice. Migrate to type=general. See \u003Chttps://phabricator.wikimedia.org/T42284\u003E.");mw.log.warn("Gadget \"ReferenceTooltips\" styles loaded twice. Migrate to type=general. See \u003Chttps://phabricator.wikimedia.org/T42284\u003E.");mw.log.warn("Gadget \"main-page\" styles loaded twice. Migrate to type=general. See \u003Chttps://phabricator.wikimedia.org/T42284\u003E.");});
    Serwer - program świadczący usługi na rzecz innych programów, zazwyczaj korzystających z innych komputerów połączonych w sieć.



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

    Reklama

    Czas generowania strony: 0.007 sek.