Skip to main content

Co to jest fałszywe udostępnianie?

Fałszywe udostępnianie to sytuacja, która może wystąpić w programie komputerowym, gdy dwie aplikacje, które jednocześnie uruchomiły się dostępem do informacji w tym samym regionie pamięci logicznej, który każdy program lub proces przechowywał we własnej pamięci podręcznej.Dane w pamięci podręcznej każdej aplikacji są kopiowane ze wspólnego źródła, więc modyfikacja jednej pamięci podręcznej powoduje, że druga musi zostać ponownie załadowana ze źródła.Fałszywy aspekt udostępniania powstaje, gdy zmiany wprowadzone w linii pamięci podręcznej według jednego programu nie wpływają na dane, których korzysta drugi program, w którym to przypadku zmuszanie do ponownego załadowania pamięci podręcznej jest marnotrawstwem zasobów systemowych i mogą negatywnie wpływaćWydajność programu.Problem fałszywego udostępniania jest trudny do wykrycia, ponieważ nie jest to bezpośredni wynik żadnego kodu zawartego w aplikacjach, chociaż istnieją skuteczne sposoby zapobiegania fałszywemu udostępnianiu, takich jak przenoszenie danych, które są obecnie buforowane do osobnej linii.Gdy informacje z dysku twardego lub innego źródła są czytane lub zapisywane przez program, zwykle są one ładowane do tymczasowej pamięci podręcznej, aby można było uzyskać do niej szybki dostęp.Ilość informacji buforowanych z lokalizacji źródłowej nazywana jest linią pamięci podręcznej i jest logicznym blokiem pamięci, która zwykle może wynosić od 2 bajtów do 256 bajtów długości.W niektórych systemach operacyjnych lub architektur systemowych programy mogą działać jednocześnie, na przykład w równoległym przetwarzaniu.Oznacza to, że możliwe jest, aby dwa osobne programy próbowały uzyskać dostęp do informacji w tej samej linii pamięci podręcznej, więc każdy program będzie miał swoją własną kopię danych źródłowych, potencjalnie powodując zmiany jednej pamięci podręcznej, które nie zostaną odzwierciedlone w drugiej pamięci podręcznej, unieważniająDane, które przechowuje.

Istnieje wiele mechanizmów do obsługi sytuacji, gdy dwa programy próbują uzyskać dostęp do tej samej linii pamięci podręcznej, ale najczęściej wynikiem jest to, że jeden program jest zmuszony do ponownego załadowania pamięci podręcznej z zaktualizowanymi informacjami z drugiego programu.zmodyfikował.Ten rodzaj incydentu jest znany jako fałszywe udostępnianie, gdy dane w wierszu pamięci podręcznej, do których uzyskuje się każdy program, nie są powiązane, więc zmuszanie jednego programu do ponownego załadowania pamięci podręcznej jest marnotrawstwem mocy przetwarzania i innych zasobów.To najczęściej jest to problem dla programu, który nigdy nie zmodyfikuje informacji w pamięci podręcznej, więc nie ma ryzyka zmian nadpisania aplikacji, które dokonał drugi proces.

Istnieją dwa powszechne sposoby zapobiegania lub złagodzenia skutków fałszywychdzielenie się.Pierwszym z nich jest dodanie pustych informacji przed lub po danych do pamięci, zasadniczo zmuszając je do oddzielnej linii pamięci podręcznej, do której nie jest dostępny przez inny program.Drugą metodą jest ograniczenie częstotliwości czytania i pisania do linii pamięci podręcznej, aby została ponownie załadowana jak najmniej.Bardziej złożone rozwiązania obejmują zarządzanie na poziomie pamięci podręcznej, a nawet zmiany w zakresie obsługi udostępniania systemu operacyjnego.