Omówimy nieco więcej różnic między stronicowaniem a segmentacją za pomocą tabeli porównania przedstawionej poniżej.
Wykres porównania
Podstawa do porównania | Stronicowanie | Segmentacja |
---|---|---|
Podstawowy | Strona ma stały rozmiar bloku. | Segment ma zmienną wielkość. |
Podział | Paging może prowadzić do wewnętrznej fragmentacji. | Segmentacja może prowadzić do fragmentacji zewnętrznej. |
Adres | Adres podany przez użytkownika jest podzielony przez procesor na numer strony i przesunięcie. | Użytkownik określa każdy adres za pomocą dwóch wielkości, numeru segmentu i przesunięcia (limit segmentu). |
Rozmiar | Sprzęt decyduje o wielkości strony. | Rozmiar segmentu jest określony przez użytkownika. |
Stół | Stronicowanie obejmuje tabelę stron zawierającą adres bazowy każdej strony. | Segmentacja obejmuje tabelę segmentów, która zawiera numer segmentu i przesunięcie (długość segmentu). |
Definicja stronicowania
Paging to schemat zarządzania pamięcią . Paging pozwala na przechowywanie procesu w pamięci w sposób nieciągły . Przechowywanie procesu w sposób nieciągły rozwiązuje problem fragmentacji zewnętrznej .
W celu zaimplementowania stronicowania fizyczne i logiczne obszary pamięci są podzielone na te same bloki o stałej wielkości. Te bloki o stałej wielkości pamięci fizycznej nazywane są klatkami, a bloki o stałej wielkości pamięci logicznej nazywane są stronami .
Kiedy proces musi zostać wykonany, strony procesu z logicznej przestrzeni pamięci są ładowane do ramek fizycznej przestrzeni adresowej pamięci. Teraz adres generowany przez procesor w celu uzyskania dostępu do ramki jest podzielony na dwie części, tj. Numer strony i przesunięcie strony .
Definicja segmentacji
Podobnie jak w przypadku stronicowania, segmentacja to także schemat zarządzania pamięcią . Obsługuje widok użytkownika pamięci. Proces jest podzielony na segmenty o zmiennej wielkości i ładowany do logicznej przestrzeni adresowej pamięci.
Logiczna przestrzeń adresowa to zbiór segmentów o zmiennej wielkości. Każdy segment ma swoją nazwę i długość . W celu wykonania, segmenty z logicznej przestrzeni pamięci są ładowane do fizycznej pamięci.
Kluczowe różnice między stronicowaniem a segmentacją
- Podstawowa różnica między stronicowaniem a segmentacją polega na tym, że strona ma zawsze stały rozmiar bloku, podczas gdy segment ma zmienny rozmiar .
- Paging może prowadzić do wewnętrznej fragmentacji, ponieważ strona ma stały rozmiar bloku, ale może się zdarzyć, że proces nie uzyska całego rozmiaru bloku, który wygeneruje wewnętrzny fragment w pamięci. Segmentacja może prowadzić do fragmentacji zewnętrznej, ponieważ pamięć jest wypełniona blokami o zmiennej wielkości.
- W stronicowaniu użytkownik podaje tylko jedną liczbę całkowitą jako adres podzielony przez sprzęt na numer strony i przesunięcie . Z drugiej strony, w segmentacji użytkownik określa adres w dwóch wielkościach, tj. Numer segmentu i przesunięcie .
- Rozmiar strony jest określony lub określony przez sprzęt . Z drugiej strony rozmiar segmentu jest określony przez użytkownika .
- Podczas stronicowania tabela stron mapuje adres logiczny na adres fizyczny i zawiera adres bazowy każdej strony przechowywanej w ramkach fizycznego obszaru pamięci. Jednak w segmentacji tabela segmentów odwzorowuje adres logiczny na adres fizyczny i zawiera numer segmentu i przesunięcie (limit segmentu).
Wniosek:
Stronicowanie i segmentacja są schematami zarządzania pamięcią . Paging umożliwia podział pamięci na blok o stałej wielkości, natomiast segmentacja dzieli przestrzeń pamięci na segmenty o rozmiarze bloku zmiennego . Gdy wywoływanie prowadzi do wewnętrznej fragmentacji, segmentacja prowadzi do fragmentacji zewnętrznej .