Stronicowanie a segmentacja
Stronicowanie to metoda zarządzania pamięcią używana przez systemy operacyjne. Przywoływanie pozwala pamięci głównej na wykorzystanie danych znajdujących się na dodatkowym urządzeniu magazynującym. Dane te są przechowywane w dodatkowym urządzeniu magazynującym jako bloki tego samego rozmiaru zwane stronami. Stronicowanie umożliwia systemowi operacyjnemu wykorzystanie danych, które nie mieszczą się w pamięci głównej. Segmentacja pamięci to metoda zapewniająca ochronę pamięci. Każdy segment pamięci jest powiązany z określoną długością i zestawem uprawnień. Gdy proces próbuje uzyskać dostęp do pamięci, najpierw sprawdza się, czy ma wymagane uprawnienia dostępu do określonego segmentu pamięci.
Co to jest stronicowanie?
Stronicowanie to metoda zarządzania pamięcią używana przez systemy operacyjne. Przywoływanie pozwala pamięci głównej na wykorzystanie danych znajdujących się na dodatkowym urządzeniu magazynującym. Dane te są przechowywane w dodatkowym urządzeniu magazynującym jako bloki tego samego rozmiaru zwane stronami. Stronicowanie umożliwia systemowi operacyjnemu wykorzystanie danych, które nie mieszczą się w pamięci głównej. Gdy program próbuje uzyskać dostęp do strony, najpierw sprawdzana jest tabela stron, aby sprawdzić, czy strona znajduje się w pamięci głównej. Tabela stron zawiera szczegółowe informacje o miejscu przechowywania stron. Jeśli nie ma go w pamięci głównej, nazywa się to błędem strony. System operacyjny jest odpowiedzialny za obsługę błędów stron bez pokazywania ich w programie. System operacyjny najpierw sprawdza, gdzie ta konkretna strona jest przechowywana w pamięci dodatkowej, a następnie przenosi ją do pustej ramki strony w pamięci głównej. Następnie aktualizuje tabelę stron, aby wskazać, że nowe dane znajdują się w pamięci głównej, i zwraca sterowanie z powrotem do programu, który początkowo zażądał strony.
Co to jest segmentacja?
Segmentacja pamięci to metoda zapewniająca ochronę pamięci. Każdy segment pamięci jest powiązany z określoną długością i zestawem uprawnień. Gdy proces próbuje uzyskać dostęp do pamięci, najpierw sprawdza się, czy ma wymagane uprawnienia dostępu do określonego segmentu pamięci i czy mieści się w długości określonej przez ten konkretny segment pamięci. Jeśli którykolwiek z tych warunków nie jest spełniony, zgłaszany jest wyjątek sprzętowy. Ponadto segment może również mieć flagę wskazującą, czy segment znajduje się w pamięci głównej, czy nie. Jeśli segment nie znajduje się w pamięci głównej, zgłoszony zostanie wyjątek, a system operacyjny przeniesie segment z pamięci dodatkowej do pamięci głównej.
Jaka jest różnica między stronicowaniem a segmentacją?
W przypadku stronicowania pamięć jest dzielona na segmenty o równej wielkości zwane stronami, podczas gdy segmenty pamięci mogą różnić się rozmiarem (dlatego każdy segment jest powiązany z atrybutem długości). Rozmiary segmentów są określane zgodnie z przestrzenią adresową wymaganą przez proces, podczas gdy przestrzeń adresowa procesu jest dzielona na strony o tej samej wielkości na stronicowaniu. Segmentacja zapewnia bezpieczeństwo związane z segmentami, podczas gdy stronicowanie nie zapewnia takiego mechanizmu.