LINUX.ORG.RU

История изменений

Исправление DRVTiny, (текущая версия) :

В ассемблере есть такое вполне традиционное понятие - сегмент данных. Собственно, хотя откровенно уродливый с т.з. семантики код на Си и «прячет» этот самый сегмент данных, но фактически он есть, и в нём размещаются статичные строки, массивы и проч символы, объявленные в компайл-тайме. Предположим, дескриптор сегмента данных загружается в регистр ds. Тогда почему бы дескриптор сегмента расшаренных данных не загрузить в gs, поместив сами данные на границу страницы памяти? Занимают они 100 байт - выделяется 1 страница, занимают они 5200 байт - выделяется 2 страницы. В чём принципиальная техническая трудность-то?

Исходная версия DRVTiny, :

В ассемблере есть такое вполне традиционное понятие - сегмент данных. Собственно, хотя откровенно уродливый код с т.з. семантики код на Си и «прячет» этот самый сегмент данных, но фактически он есть, и в нём размещаются статичные строки, массивы и проч символы, объявленные в компайл-тайме. Предположим, дескриптор сегмента данных загружается в регистр ds. Тогда почему бы дескриптор сегмента расшаренных данных не загрузить в gs, поместив сами данные на границу страницы памяти? Занимают они 100 байт - выделяется 1 страница, занимают они 5200 байт - выделяется 2 страницы. В чём принципиальная техническая трудность-то?