Spór o zasoby

W informatyce rywalizacja o zasoby to konflikt o dostęp do współdzielonych zasobów , takich jak pamięć o dostępie swobodnym , pamięć dyskowa , pamięć podręczna , wewnętrzne magistrale lub zewnętrzne urządzenia sieciowe. Zasób, w którym występuje ciągła rywalizacja, można określić jako przepełniony subskrypcjami .

Rozwiązywanie problemów związanych z rywalizacją o zasoby jest jedną z podstawowych funkcji systemów operacyjnych . W tym celu można użyć różnych mechanizmów niskiego poziomu, w tym blokad , semaforów , muteksów i kolejek . Inne techniki, które mogą być stosowane przez systemy operacyjne, obejmują inteligentne planowanie, podejmowanie decyzji dotyczących mapowania aplikacji i kolorowanie stron .

Dostęp do zasobów jest też czasami regulowany przez kolejkowanie; w przypadku obliczania czasu na CPU algorytm sterujący kolejką zadań nazywany jest planistą .

Niewłaściwe rozwiązanie problemów z rywalizacją o zasoby może spowodować szereg problemów, w tym zakleszczenie , livelock i thrashing .

Rywalizacja o zasoby powstaje, gdy wiele procesów próbuje użyć tego samego udostępnionego zasobu. Dostęp do obszarów pamięci jest często kontrolowany przez semafory, co pozwala na patologiczną sytuację zwaną impasem, gdy różne wątki lub procesy próbują przydzielić zasoby już przez siebie przydzielone. Zakleszczenie zwykle prowadzi do częściowego lub całkowitego braku odpowiedzi programu.

W ostatnich latach badania nad rywalizacją koncentrują się bardziej na zasobach w hierarchii pamięci , np. pamięci podręcznej ostatniego poziomu, magistrali FSB, połączenia gniazda pamięci. [ potrzebne źródło ]

Zobacz też

  1. ^   Knauerhase Rob (2008). „Korzystanie z obserwacji systemu operacyjnego w celu poprawy wydajności w systemach wielordzeniowych”. IEEE mikro . 28 (3): 54–66. doi : 10.1109/mm.2008.48 . S2CID 9202433 .
  2. ^    Zhang, Xiao (2009). „W kierunku praktycznego zarządzania wielordzeniową pamięcią podręczną opartą na kolorowaniu stron” . EuroSys : 89. doi : 10.1145/1519065.1519076 . ISBN 9781605584829 . S2CID 5769992 .