Programowanie współbieżne i rozproszone/PWR Wykład 2: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Mengel (dyskusja | edycje)
Nie podano opisu zmian
 
Mengel (dyskusja | edycje)
Nie podano opisu zmian
Linia 1: Linia 1:
== Modele współbieżności ==
== Modele współbieżności ==
Rozważając programy współbieżne możemy analizować dwa modele środowiska, w którym wykonują się procesy.
# Procesy mają dostęp do tej samej przestrzeni adresowej. Oznacza to, że mogą korzystać ze wspólnych zmiennych umieszczonych we fragmencie pamięci dostępnej dla każdego z nich. Wspólna pamięć może znajdować się faktycznie na komputerze, na którym wykonują się procesy lub może być udostępniania za pomocą serwera segmentów pamięci dzielonej, procesy nie muszą jednak znać mechanizmów udostępniania tej pamięci. z punktu widzenia procesu ważna jest jedynie możliwość odczytania/modyfikacji zmiennej współdzielonej, a nie sposób implememtacji tych zmiennych.
# Nie ma zmiennych współdzielonych. Każdy proces ma własną przestrzeń adresową i nie ma możliwości odwołania się do zmiennych innego procesu.


=== Model scentralizowany ===  
=== Model scentralizowany ===  

Wersja z 10:33, 14 cze 2006

Modele współbieżności

Rozważając programy współbieżne możemy analizować dwa modele środowiska, w którym wykonują się procesy.

  1. Procesy mają dostęp do tej samej przestrzeni adresowej. Oznacza to, że mogą korzystać ze wspólnych zmiennych umieszczonych we fragmencie pamięci dostępnej dla każdego z nich. Wspólna pamięć może znajdować się faktycznie na komputerze, na którym wykonują się procesy lub może być udostępniania za pomocą serwera segmentów pamięci dzielonej, procesy nie muszą jednak znać mechanizmów udostępniania tej pamięci. z punktu widzenia procesu ważna jest jedynie możliwość odczytania/modyfikacji zmiennej współdzielonej, a nie sposób implememtacji tych zmiennych.
  2. Nie ma zmiennych współdzielonych. Każdy proces ma własną przestrzeń adresową i nie ma możliwości odwołania się do zmiennych innego procesu.

Model scentralizowany

Zmienne globalne i problemy z nimi

Niepodzielność instrukcji wysokopoziomowych

Mechanizmy synchronizacyjne

Model rozproszony

Komunikacja synchroniczna

Komunikacja asynchroniczna

Modele przekazywania komunikatów

Komunikacja asynchroniczna

Notacja stosowana w przykładach

Wzajemne wykluczanie dwóch procesów

Pięciu filozofów. Wersja 1.

Pięciu filozofów. Wersja 2.

Pięciu filozofów. Wersja 3.

Pięciu filozofów. Wersja 4.

Producenci i konsumenci

Implementacje tego mechanizmu w systemie Unix