RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : А вот вопрос, однако...


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : Юрий Пронякин
To : valerius
Subj : А вот вопрос, однако...

> Адресные пространства конструируются рекурсивно. Для этого служат операции map и grant. Обе эти операции оперируют виртуальными страницами (flexpages или fpages).

Всё, остальное не интересовало.
Теперь смотри, что получается: flexpage - это страница того, что в архитектуре x86 называется линейным адресным пространством (не путать с "адресным пространством" в терминологии L4). Каждой странице линейного адресного пространства может быть сопоставлена некая физическая страница. А может быть не сопоставлена. (Текущее состояние описывается в таблице трансляции адресов.) При обращении программы к ячейке памяти по адресу, для которого имеется физическая страница, всё проходит безболезненно. А вот при обращении по адресу, для которого физической страницы нет, происходит трап. Трап этот обрабатывается пейджером данного адресного простраства (L4). Но ему предлагаются только map и grant, которыми можно только отдать свою страницу кому-то другому. А как запросить недостающую? По-моему, здесь явно недостаёт чего-то вроде borrow.

Tue 26 Jun 2007 01:23 Mozilla/5.0 (OS/2; U; Warp 4.5; ru-RU; rv:1.7.12) Gecko/2005




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.