Paging vs Segmentation: Kluczowe różnice

Spisie treści:

Anonim

Co to jest stronicowanie?

Paging to mechanizm przechowywania, który umożliwia systemowi operacyjnemu pobieranie procesów z pamięci dodatkowej do pamięci głównej w postaci stron. W metodzie stronicowania pamięć główna jest podzielona na małe bloki o stałej wielkości adresu fizycznego, które nazywane są ramkami.

Rozmiar ramki powinien być taki sam jak rozmiar strony, aby maksymalnie wykorzystać pamięć główną i uniknąć fragmentacji zewnętrznej. Paging służy do szybszego dostępu do danych i jest to koncepcja logiczna.

W tym samouczku dowiesz się

  • Co to jest stronicowanie?
  • Co to jest segmentacja?
  • Paging vs. Segmentation
  • Zalety stronicowania
  • Zaleta segmentacji
  • Wady stronicowania
  • Wady segmentacji

Co to jest segmentacja?

Metoda segmentacji działa prawie podobnie do stronicowania, jedyna różnica między nimi polega na tym, że segmenty mają zmienną długość, podczas gdy w metodzie stronicowania strony mają zawsze stały rozmiar.

Segment programu obejmuje główną funkcję programu, struktury danych, funkcje narzędziowe itp. System operacyjny utrzymuje tablicę mapy segmentów dla wszystkich procesów. Zawiera również listę wolnych bloków pamięci wraz z jej rozmiarem, numerami segmentów i lokalizacjami pamięci w pamięci głównej lub pamięci wirtualnej.

KLUCZOWE RÓŻNICE:

  • Strona ma stały rozmiar bloku, podczas gdy segment ma rozmiar zmienny.
  • W przypadku stronicowania sprzęt decyduje o rozmiarze strony, podczas gdy rozmiar segmentu jest określany przez użytkownika.
  • Technika stronicowania jest szybsza w przypadku dostępu do pamięci, ale segmentacja jest wolniejsza niż metoda stronicowania.
  • Podczas stronicowania użytkownik podaje tylko jedną liczbę całkowitą jako adres, podczas gdy w segmentacji istnieje wiele niezależnych przestrzeni adresowych
  • Tabela stron przechowuje dane strony, podczas gdy tabela segmentacji przechowuje dane segmentacji.

Różnica między stronicowaniem a segmentacją

Oto różnice między metodą stronicowania i segmentacji:

Paging Segmentacja
Strona ma stały rozmiar bloku. Segment ma zmienną wielkość.
Może to prowadzić do wewnętrznej fragmentacji. Może to prowadzić do zewnętrznej fragmentacji.
W przypadku stronicowania sprzęt decyduje o rozmiarze strony. Rozmiar segmentu jest określany przez użytkownika.
Przestrzeń adresowa procesu jest podzielona na bloki o stałej wielkości, nazywane stronami. Przestrzeń adresowa procesu jest podzielona na bloki o różnej wielkości zwane sekcjami.
Technika stronicowania jest szybsza w przypadku dostępu do pamięci. Segmentacja jest wolniejsza niż metoda stronicowania.
Tabela stron przechowuje dane strony Tabela segmentacji przechowuje dane segmentacyjne.
Paging nie ułatwia udostępniania procedur. Segmentacja umożliwia współdzielenie procedur.
Strony nie pozwalają na oddzielne rozróżnienie i zabezpieczenie procedur i danych. Dzięki segmentacji można oddzielić bezpieczne procedury i dane.
Przestrzeń adresowa stronicowania jest jednowymiarowa W przypadku segmentacji istnieje wiele niezależnych przestrzeni adresowych
Podczas stronicowania użytkownik podaje tylko jedną liczbę całkowitą jako adres, która jest podzielona przez sprzęt na numer strony i przesunięcie. W metodzie segmentacji użytkownik określa adres w dwóch wielkościach 1) numer segmentu 2) przesunięcie.

Zalety stronicowania

Oto zalety / zalety korzystania z metody stronicowania

  • Na poziomie programisty stronicowanie jest funkcją przezroczystą i nie wymaga interwencji.
  • Ramki nie muszą przylegać do siebie.
  • Łatwy w użyciu algorytm zarządzania pamięcią
  • Przełączanie między stronami o jednakowych rozmiarach i ramkami stron jest łatwe.

Zaleta segmentacji

Oto zalety / zalety segmentacji:

  • Proste przenoszenie segmentów niż cała przestrzeń adresowa.
  • Brak fragmentacji wewnętrznej, ponieważ fragmentacja zewnętrzna musi zostać wyeliminowana.
  • Tabela segmentów ma mniejszy rozmiar w porównaniu z tabelą stron w stronicowaniu.
  • Średni rozmiar segmentu jest większy niż rzeczywisty rozmiar strony
  • Zapewnij ochronę w tym segmencie
  • Nie oferuje wewnętrznej fragmentacji
  • Tabele segmentów zajmują mniej pamięci niż stronicowanie
  • Ponieważ oferuje małą tabelę segmentów, odniesienie do pamięci jest proste, co nadaje się do udostępniania danych między procesami.

Wady stronicowania

Oto wady / wady stronicowania:

  • Paging powoduje wewnętrzną fragmentację w starszych systemach.
  • Dłuższe czasy wyszukiwania pamięci w porównaniu do segmentacji
  • Może to spowodować wewnętrzną fragmentację
  • Złożony algorytm zarządzania pamięcią
  • Tabele stron zajmują dodatkową pamięć.
  • Stronicowanie wielopoziomowe może prowadzić do narzutu pamięci.

Wady segmentacji

Oto wady / wady segmentacji:

  • Nierównomierny rozmiar segmentów nie jest dobry w przypadku zamiany.
  • Przenoszenie Linuksa na różne architektury jest trudne do przetworzenia, ponieważ oferuje bardzo ograniczone wsparcie dla segmentacji.
  • Wymaga interwencji programisty.
  • Trudno jest przydzielić zaraźliwą pamięć do partycji, ponieważ ma ona zmienny rozmiar.
  • To kosztowny algorytm zarządzania pamięcią.