Разменени ли са .text страниците?

Разменени ли са .текстовите страници в паметта на процеса или само страниците, съдържащи данни (купчина), са изместени?

Тук под "разменен" имам предвид "да бъдеш разменен в зоната за размяна", а не "просто изваждане от първичната памет". Съмнението ми е дали .text страниците просто се изваждат и след това се четат от твърдия диск, тъй като никога не трябва да се променят (за разлика от страниците с данни), или се разменят в зоната за размяна.

Също така, страница, принадлежаща към стека, изместена ли е?

Може ли някой да даде повече яснота кои страници във виртуалната памет на даден процес се считат за размяна и кои никога?


person user31986    schedule 19.08.2013    source източник


Отговори (1)


Всички накрая страници се считат за разменени. В Linux започва с размяна на освобождаващи кеш страници, последвани от изчистване на нескоро използвани страници (което просто изисква декартиране, а не запис в суап устройството). След това той ще се опита да изчисти страниците с мръсни архивирани файлове в паметта към съответното им устройство за архивиране, преди най-накрая да достигне точката, в която трябва да започне да разменя анонимно архивирани страници на процеси (включва стек, данни, които могат да се редактират, купчина и т.н....) . Всяка страница, различна от ядрото, винаги е кандидат за размяна, зависи само от натиска на паметта в системата.

Страниците, които вече имат резервно хранилище, просто не се картографират или ако са замърсени, се изхвърлят в тяхното резервно хранилище. Те не са написани за размяна по очевидни причини.

person Jesus Ramos    schedule 19.08.2013
comment
Благодаря. Не съм наясно кои страници са разменени в swap-area и кои са просто изгонени. Второ, как простото декартиране на страница гарантира, че тя ще бъде извлечена, когато е необходимо? - person user31986; 19.08.2013
comment
@user31986 Защото ще получите грешка на страницата при последващ достъп до тази страница, която след това ще направи I/O, за да извлече страницата. Страници, които са изгонени (не са изпратени за размяна) са страници, които вече имат резервно хранилище, само анонимни картографирани страници се изпращат за размяна (защото няма къде другаде да отидат). - person Jesus Ramos; 19.08.2013
comment
Благодаря. само анонимни картографирани страници се изпращат за размяна прави всичко ясно! - person user31986; 27.08.2013