2010-12-13 12 views
6

Tak więc jestem w klasie architektury komputerów i wydaje mi się, że trudno mi odróżnić buforowanie od stron.Buforowanie vs stronicowania

Jedyne wytłumaczenie, jakie mogę wymyślić, to to, że strony są sposobem, w jaki system operacyjny wyłudza program, który wykonuje całą swoją pracę w określonym regionie pamięci, a pamięć podręczna to sposób na okucie systemu operacyjnego. czytanie z jednego określonego regionu pamięci, kiedy tak naprawdę nie jest.

Czy os kieruje sprzętem wymagającym "nowej strony" lub jest zajęty przez system operacyjny próbujący odczytać adres "poza zasięgiem" bieżącej strony podręcznej pamięci podręcznej (z powodu braku lepszy termin).

Czy jestem na dobrej drodze, czy jestem kompletnie szalony?

Odpowiedz

6

Buforowanie i strony są pojęciami ortogonalnymi.

Pamięć podręczna to szybka "pamięć", która minimalizuje liczbę wejść do dużej "pamięci" o niskiej szybkości. W najogólniejszym sensie szybka "pamięć" może być twoim twardym dyskiem działającym na buforowanie stron internetowych pobieranych z sieci (niska "pamięć"). Oczywiście w kontekście architektury komputerowej termin "pamięć podręczna" najprawdopodobniej odnosi się do fizycznej pamięci RAM używanej do przyspieszenia dostępu do wolniejszej pamięci RAM lub dysku.

Strony, OTOH, to po prostu jednostka zarządzania zawartością pamięci RAM lub dysku.

Te dwie koncepcje łączą się we wdrażaniu systemów pamięci wirtualnej. Proces może przydzielić 500 MB pamięci. Może to być bardziej fizyczna pamięć RAM dostępna dla procesu, więc system operacyjny przydziela bloki na dysku zwane stronami, które będą przechowywać zawartość niektórych stron logicznych w przestrzeni adresowej procesu.

Gdy proces uzyskuje dostęp do lokalizacji w przestrzeni adresowej, a powiązana strona nie jest obecnie mapowana do pamięci fizycznej, procesor sygnalizuje błąd strony, a system operacyjny odpowiada, pobierając stronę z dysku, podczas gdy proces jest w stanie zawieszenia. Po odwzorowaniu strony proces wznawia się i jest w stanie uzyskać dostęp do tej lokalizacji pamięci tak, jakby był cały czas.

Powszechny pogląd, że pamięć wirtualna jest sposobem na oszukiwanie procesu i myślenie, że ma masę pamięci RAM, nie jest jedynym sposobem, aby o tym pomyśleć. Można również myśleć o przestrzeni adresowej procesu jako logicznie przechowywanej na stronach dyskowych, przy czym mapowanie wspomagane przez system operacyjny w pamięci RAM jest po prostu sposobem buforowania zawartości tych stron, tak aby proces nie uzyskiwał stałego dostępu do dysku twardego. W tym sensie pamięć podręczna i pamięć wirtualna są logicznie tym samym. Pamiętajmy tylko, że chociaż ten punkt widzenia może pomóc w zrozumieniu związku między tymi dwoma pojęciami, nie jest on do końca dokładny, ponieważ można w ogóle uruchomić bez pamięci wirtualnej, tylko pamięć fizyczną (w rzeczywistości większość systemów wbudowanych działa tą drogą).

+0

OK, myślę, że miałem to w głowie, że w zasadzie strona znajduje się w pamięci podręcznej "zestaw" (przy założeniu ustawionej asocjacyjnej pamięci podręcznej, w której znajduje się wiele buforowanych bloków). a więc gdy adres jest wywoływany przez system w systemie operacyjnym i był poza zasięgiem, wówczas system operacyjny wywoływałby adres w pamięci podręcznej, co powodowałoby błąd, a następnie zmuszał go do pobierania z pamięci głównej, ale co Domyślam się, że strony zazwyczaj znajdują się w pamięci RAM, ale są zdefiniowane programowo, a nie sprzętowo zdefiniowane ... Myślę, że to pomaga! Wielkie dzięki. – onaclov2000

+0

Czy to oznacza, że ​​jeśli strona nie istnieje w pamięci RAM i wystąpi błąd strony, to logicznie pobierze ją z pamięci podręcznej lub nadal będzie dostęp do dysku? (Pamięć podręczna nie "podpowiada", która strona będzie potrzebna dalej?) – onaclov2000

+0

W kontekście pamięci wirtualnej nie ma pamięci podręcznej między stroną RAM a stroną wewnętrzną (stroną dysku). Fizyczna pamięć RAM działa zasadniczo jako pamięć podręczna dla stron znajdujących się na dysku. Jeśli wystąpi błąd strony, jest on wysyłany na tacę, którą jedziesz (lub może na dyski SSD w tych dniach). –