Paging kontra szegmentálás
A lapozás az operációs rendszerek által használt memóriakezelési módszer. A lapozás lehetővé teszi a fő memória számára, hogy egy másodlagos tárolóeszközön lévő adatokat használjon. Ezek az adatok a másodlagos tárolóeszközön azonos méretű blokkokként, úgynevezett oldalakként tárolódnak. A lapozás lehetővé teszi az operációs rendszer számára, hogy olyan adatokat használjon, amelyek nem férnek el a fő memóriában. A memóriaszegmentálás egy memóriavédelmet biztosító módszer. Minden memóriaszegmenshez egy adott hosszúság és egy engedélykészlet tartozik. Amikor egy folyamat megpróbál hozzáférni a memóriához, először ellenőrzi, hogy rendelkezik-e a szükséges engedéllyel az adott memóriaszegmens eléréséhez.
Mi az a lapozás?
A lapozás az operációs rendszerek által használt memóriakezelési módszer. A lapozás lehetővé teszi a fő memória számára, hogy egy másodlagos tárolóeszközön lévő adatokat használjon. Ezek az adatok a másodlagos tárolóeszközön azonos méretű blokkokként, úgynevezett oldalakként tárolódnak. A lapozás lehetővé teszi az operációs rendszer számára, hogy olyan adatokat használjon, amelyek nem férnek el a fő memóriában. Amikor egy program megpróbál hozzáférni egy oldalhoz, először az old altáblázatot ellenőrzi, hogy az oldal a fő memóriában van-e. Az old altáblázat az oldalak tárolási helyének részleteit tartalmazza. Ha nincs a fő memóriában, akkor laphibának nevezzük. Az operációs rendszer felelős az oldalhibák kezeléséért anélkül, hogy azt a programnak megmutatná. Az operációs rendszer először megkeresi, hogy az adott oldal hol van a másodlagos tárolóban, majd beviszi a fő memória üres oldalkeretébe. Ezután frissíti az old altáblázatot, jelezve, hogy az új adatok a fő memóriában vannak, és visszaadja a vezérlőt annak a programnak, amelyik eredetileg kérte az old alt.
Mi az a szegmentálás?
A memóriaszegmentálás egy memóriavédelmet biztosító módszer. Minden memóriaszegmenshez egy adott hosszúság és egy engedélykészlet tartozik. Amikor egy folyamat megpróbál hozzáférni a memóriához, először ellenőrzi, hogy rendelkezik-e a szükséges engedéllyel az adott memóriaszegmens eléréséhez, és hogy az az adott memóriaszegmens által meghatározott hosszon belül van-e. Ha a fenti feltételek bármelyike nem teljesül, a rendszer hardver kivételt jelent. Ezenkívül egy szegmensnek jelzője is lehet, amely jelzi, hogy a szegmens a fő memóriában van-e vagy sem. Ha a szegmens nem a fő memóriában található, a rendszer kivételt jelent, és az operációs rendszer átviszi a szegmenst a másodlagos memóriából a fő memóriába.
Mi a különbség a lapozás és a szegmentálás között?
A lapozás során a memória egyenlő méretű, oldalaknak nevezett szegmensekre van felosztva, míg a memóriaszegmensek mérete eltérő lehet (ez az oka annak, hogy minden szegmenshez egy hossz attribútum tartozik). A szegmensek méretét a folyamat által igényelt címtér határozza meg, míg egy folyamat címterét lapozáskor egyenlő méretű oldalakra osztják fel. A szegmentálás biztonságot nyújt a szegmensekhez, míg a lapozás nem nyújt ilyen mechanizmust.