|
|
|
|
Чтение и запись расширенной памяти
В то время как спецификация расширенной памяти LIM 4.0 позволяет менеджеру расширенной памяти управлять до 32 Мбайтами данных, объем, доступный Вашей
программе в каждый данный момент времени ограничен числом физических страниц, присутствующих в кадре
страниц.
Перед чтением или записью данных из расширенной памяти должна быть сделана доступной для программы логическая страница, на
которой эти данные размещены, путем отображения логической страницы в физическую страницу в кадре страниц. Отображение страниц -
в действительности сердцевина управления памятью спецификации
расширенной памяти; для большинства приложений, которые пользуются расширенной памятью, это - наиболее часто используемая функция
менеджера расширенной памяти.
В спецификации расширенной памяти LIM 3.2 для данной цели
обеспечена функция 5, "Отобразить/перестать отображать страницы
обработчика". Путем поддержания обработчика, номера логической
страницы и номера физической страницы одна логическая страница
отображается в одну физическую. Указание -1 или 0FFFFH в качестве
номера логической страницы делает любую логическую страницу, которая отображается в указанную физическую, недоступной программе.
Конечно, содержимое страницы, которая перестала отображаться таким образом, не изменяется и может снова сделать доступным последующие отображением этой логической страницы в физическую.
Функция 17, "Отобразить/перестать отображать страницы многих
обработчиков", спецификации расширенной памяти LIM 4.0 добавила
более краткие и гибкие средства отображения страниц. В одном обращении данная функция может отобразить или перестать отображать
логические страницы в такое число страниц, которое поддерживает
менеджер расширенной памяти. Программы, которые часто отображают
много страниц за раз, могут достигать явно более высокой производительности из-за сокращения фиксированных накладных расходов,
связанных с каждым вызовом менеджера расширенной памяти.
Как и в случае функции 5, указание номера логической страницы, равного -1 (0FFFFH) заставляет любую логическую страницу,
отображенную в указанную физическую страницу, перестать отобра-
жаться.
|
|