Пейджинг срещу сегментиране
Страницата е метод за управление на паметта, използван от операционните системи. Страницата позволява на основната памет да използва данни, които се намират на вторично устройство за съхранение. Тези данни се съхраняват във вторичното устройство за съхранение като блокове със същия размер, наречени страници. Страницата позволява на операционната система да използва данни, които няма да се впишат в основната памет. Сегментирането на паметта е метод, който осигурява защита на паметта. Всеки сегмент от паметта е свързан с определена дължина и набор от разрешения. Когато даден процес се опита да получи достъп до паметта, първо се проверява дали има необходимото разрешение за достъп до определен сегмент от паметта.
Какво е Пейджинг?
Страницата е метод за управление на паметта, използван от операционните системи. Страницата позволява на основната памет да използва данни, които се намират на вторично устройство за съхранение. Тези данни се съхраняват във вторичното устройство за съхранение като блокове със същия размер, наречени страници. Страницата позволява на операционната система да използва данни, които няма да се впишат в основната памет. Когато програма се опита да получи достъп до страница, първо се проверява таблицата със страницата, за да се види дали тази страница е в основната памет. Таблицата на страниците съдържа подробности за това къде се съхраняват страниците. Ако не е в основната памет, тя се нарича грешка в страницата. Операционната система е отговорна за обработката на неизправностите на страницата, без да я показва на програмата. Операционната система първо открива къде се съхранява тази конкретна страница във вторичното хранилище и след това я въвежда в празна рамка на страницата в основната памет. След това актуализира таблицата на страницата, за да посочи, че новите данни са в основната памет и връща контрола обратно на програмата, която първоначално е поискала страницата.
Какво е сегментиране?
Сегментирането на паметта е метод, който осигурява защита на паметта. Всеки сегмент от паметта е свързан с определена дължина и набор от разрешения. Когато даден процес се опита да получи достъп до паметта, първо се проверява дали има необходимото разрешение за достъп до определен сегмент от паметта и дали е в рамките на дължината, определена от този конкретен сегмент от паметта. Ако едно от тези условия не е изпълнено, се повдига хардуерно изключение. В допълнение, сегмент може също да има флаг, указващ дали сегментът е в основната памет или не. Ако сегментът не се намира в основната памет, ще бъде изведено изключение и операционната система ще пренесе сегмента от вторичната памет в основната памет.
Каква е разликата между Paging и Segmentation?
В страниците паметта се разделя на сегменти с еднакъв размер, наречени страници, докато сегментите на паметта могат да варират по размер (това е причината всеки сегмент да е свързан с атрибут на дължина). Размерите на сегментите се определят в зависимост от адресното пространство, изисквано от процеса, докато адресното пространство на процеса е разделено на страници с еднакъв размер в страницата. Сегментирането осигурява сигурност, свързана със сегментите, докато пейджингът не предоставя такъв механизъм.