OSDev
http://osdev.su/

Управление физической памятью
http://osdev.su/viewtopic.php?f=5&t=1048
Страница 4 из 10

Автор:  Actium [ 16 фев 2015, 19:38 ]
Заголовок сообщения:  Re: Управление физической памятью

Himik писал(а):
phantom-84 писал(а):
А вот я привык физические страницы отображать в ВАП, трол-ло-ло!
Действительно, процессор линейные адреса транслирует в физические, но не наоборот.
Забей! :) Возможно, кому-то проще воспринимать фразы типа "люди головой ходят по небу". В общем, вопрос интерпретации.

Автор:  Actium [ 16 фев 2015, 19:50 ]
Заголовок сообщения:  Re: Управление физической памятью

Himik писал(а):
Доступ к страницам может понадобиться при выделении/удалении участков ВАП, а так же для изменения атрибутов доступа.
Хм... Можно расшифровать, что такое удаление куска ВАП?

Автор:  Himik [ 16 фев 2015, 19:59 ]
Заголовок сообщения:  Re: Управление физической памятью

При удалении куска из ВАП, адреса в таблице страниц обнуляются, а старые значения возвращаются в пул свободных физических фреймов.

Автор:  Actium [ 17 фев 2015, 18:29 ]
Заголовок сообщения:  Re: Управление физической памятью

Добрался, наконец, до реализации и столкнулся с интересной задачкой. Для хранения управляющей информации требуется память, выделение которой требует модификации управляющей информации :)

P.S. Да, интерфейс сократился до двух операций.

Автор:  Himik [ 17 фев 2015, 18:42 ]
Заголовок сообщения:  Re: Управление физической памятью

Поэтому в ВАП отображают и таблицы самого ВАП, чтобы легче и быстрей.

Автор:  Actium [ 17 фев 2015, 19:22 ]
Заголовок сообщения:  Re: Управление физической памятью

Если посмотреть название топика, думаю, станет понятно, о чем речь ;) И очевидно же, что перед обращением к виртуальной памяти ее желательно отобразить.

Кстати, если уж зашел разговор про виртуальную память, сколько ее лучше выделять под каталог и таблицы?

Автор:  Himik [ 17 фев 2015, 19:36 ]
Заголовок сообщения:  Re: Управление физической памятью

Я отображаю таблицы всего каталога, на все 4ГБ. Размер таблиц получается всего 4МБ для 32-битного режима, 8МБ для 64-битного или PAE. В качестве страничной таблицы для этого региона можно использовать каталог самих таблиц, но тогда имеется проблема защиты от доступа пользовательской задачи. Лучше использовать копию каталога, с обнулёнными битами уровня привилегий.

Автор:  Bargest [ 17 фев 2015, 19:38 ]
Заголовок сообщения:  Re: Управление физической памятью

Цитата:
Кстати, если уж зашел разговор про виртуальную память, сколько ее лучше выделять под каталог и таблицы?

Под x32 удобней всего выделить столько, сколько планируется отдавать памяти приложению (т.е. если планируется 4 ГБ, то зарезервировать максимальные 4МБ под таблицы).
Под x64 это может быть неоправдано много, если использовать больше 4ГБ.

Автор:  Actium [ 17 фев 2015, 19:44 ]
Заголовок сообщения:  Re: Управление физической памятью

Хорошо, конкретизирую: имеется x32, 32 GB оперативки; планируется paging, PAE. По моим прикидкам в худшем случае нужно откусывать примерно полгига виртуальной памяти, если располагать в ней все таблицы для отображения. Либо я неправильно считаю, либо?

Автор:  pavia [ 17 фев 2015, 19:46 ]
Заголовок сообщения:  Re: Управление физической памятью

В ВАП для менеджера памяти отвожу 32 МБайта. Большинство свободно.
Физическая память по делена на страницы. Для всех структур в том числе таблицы страниц выделяются только столько нужно.
Если каталог пустой, то под него физическая память не расходуется.

Страница 4 из 10 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/