Wprowadzanie stron OperaSystem operacyjny (OS): Co to jest, zalety, przykład
⚡ Inteligentne podsumowanie
Stronicowanie to technika zarządzania pamięcią polegająca na przechowywaniu procesów na stronach o stałym rozmiarze i ładowaniu ich do fizycznych ramek pamięci o jednakowym rozmiarze. Dzięki temu system operacyjny może wykorzystywać nieciągłą pamięć, unikać fragmentacji zewnętrznej i uzyskiwać szybszy dostęp do danych.

Co to jest stronicowanie w systemie operacyjnym?
Stronicowanie to mechanizm pamięci masowej, który umożliwia systemowi operacyjnemu pobieranie procesów z pamięci pomocniczej do pamięci głównej w postaci stron. W metodzie stronicowania pamięć główna jest dzielona na małe bloki pamięci fizycznej o stałym rozmiarze, zwane ramkami. Rozmiar ramki jest taki sam jak rozmiar strony, aby zapewnić maksymalne wykorzystanie pamięci głównej i uniknąć fragmentacji zewnętrznej. Stronicowanie służy do szybszego dostępu do danych i jest koncepcją logiczną.
Przykład stronicowania w systemie operacyjnym
Aby zrozumieć, jak strony są mapowane na ramki, rozważmy prosty przykład. Jeśli rozmiar pamięci głównej wynosi 16 KB, a rozmiar ramki 1 KB, pamięć główna jest podzielona na zbiór 16 ramek po 1 KB każda.
W systemie znajdują się 4 oddzielne procesy: A1, A2, A3 i A4, każdy o rozmiarze 4 KB. Wszystkie procesy są podzielone na strony o rozmiarze 1 KB, dzięki czemu system operacyjny może przechowywać jedną stronę w jednej ramce.
Na początku procesu wszystkie ramki pozostają puste, dzięki czemu wszystkie strony procesów są przechowywane w sposób ciągły.
W tym przykładzie widać, że A2 i A4 po pewnym czasie przechodzą w stan oczekiwania. W rezultacie osiem ramek staje się pustych, a do tych pustych bloków można załadować kolejne strony. Proces A5, o rozmiarze 8 stron (8 KB), czeka w kolejce gotowych do użycia.
Teraz w pamięci dostępnych jest osiem nieciągłych ramek, a stronicowanie zapewnia elastyczność przechowywania procesu w różnych miejscach. Dzięki temu system operacyjny może załadować strony procesu A5 zamiast A2 i A4.
Co to jest ochrona stronicowania?
Proces stronicowania jest chroniony poprzez wstawienie dodatkowego bitu, zwanego bitem poprawnym/niepoprawnym. Ochrona pamięci w stronicowaniu jest realizowana poprzez skojarzenie bitów ochrony z każdą stroną. Bity te są powiązane z każdym wpisem w tablicy stron i określają poziom ochrony dozwolony na danej stronie.
Zalety stronicowania
Oto zalety stosowania metody stronicowania:
- Jest łatwy w użyciu zarządzanie pamięcią algorytm.
- Nie ma potrzeby stosowania fragmentacji zewnętrznej.
- Zamianaping jest łatwa pomiędzy stronami o jednakowym rozmiarze i ramkami stron.
Wady stronicowania
Oto wady i minusy stronicowania:
- Może to spowodować fragmentację wewnętrzną.
- Tabele stron zużywają dodatkową pamięć.
- Stronicowanie wielopoziomowe może prowadzić do narzutu odniesienia do pamięci.
Co to jest segmentacja?
Segmentacja działa niemal podobnie do stronicowania. Jedyną różnicą między nimi jest to, że segmenty mają zmienną długość, podczas gdy w metodzie stronicowania strony mają zawsze stały rozmiar.
Segment programu zawiera główną funkcję programu, struktury danych, funkcje narzędziowe itd. System operacyjny utrzymuje tabelę mapowania segmentów dla wszystkich procesów. Zawiera ona również listę wolnych bloków pamięci wraz z ich rozmiarem, numerami segmentów i lokalizacjami w pamięci głównej lub pamięć wirtualna.
Zalety segmentacji
Oto zalety i korzyści segmentacji:
- Zapewnia ochronę w obrębie segmentów.
- Współdzielenie można osiągnąć poprzez odwoływanie się segmentów do wielu procesów.
- Nie powoduje fragmentacji wewnętrznej.
- Tabele segmentowe wykorzystują mniej pamięci niż stronicowanie.
Wady segmentacji
Oto wady i niedogodności segmentacji:
- W metodzie segmentacji procesy są ładowane i usuwane z pamięci głównej. W rezultacie wolna przestrzeń pamięci jest dzielona na małe fragmenty, co może powodować problem fragmentacji zewnętrznej.
- Jest to kosztowny algorytm zarządzania pamięcią.


