управление памятью в Linux - PullRequest
1 голос
/ 13 марта 2011

Я изучаю сегментацию и разбиение на страницы в linux. Я хочу знать, правильно ли это? сегментация: пользовательский процесс на несколько сегментов и назначает разные режимы защиты для каждого из их.

Пейджинг: в виртуальной памяти используется по запросу

Правильно ли я понимаю?

1 Ответ

3 голосов
/ 13 марта 2011

Английский в вашем вопросе очень плохой, и я не уверен, что полностью его понял. Но вот ответ на вопрос, который, я думаю, вы задавали.

Сегменты не являются особенностью ядра Linux. Они являются особенностью формата объектного файла. И да, у вас их цель во многом правильная. Они существуют для пометки различных типов данных в исполняемом изображении. Загрузчик после загрузки двоичного файла в память затем назначит данные страницам и изменит режим защиты на некоторых страницах в зависимости от типа сегмента.

И да, подкачка - это концепция виртуальной памяти, и в гораздо большей степени это часть ядра Linux. Страница - это область памяти, которой можно назначить режим защиты, перенести ее на диск или иным образом манипулировать.

Теперь, когда исполняемый файл ELF отображается в памяти, он обрабатывается по запросу. Это означает, что все страницы, составляющие исполняемый файл, помечены как подлежащие обмену. Это означает, что ОС не нужно извлекать все страницы с диска в память, когда программе могут понадобиться только некоторые из них.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...