RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Ответить на сообщение
Имя:
e-mail:
FIDO:
Home page:
сохранить данные о вас
Тема:
> > > Пока насчет 16-битгного кода не все ясно, но, как уже подсказали, микроядро L4/Fiasco позволяет отдавать usermode-программам некоторые селекторы в GDT. > > > > И? У нас ведь проблема: для отдельных частей уже выделенного микроядром большого 32-разрядного сегмента наплодить 16-разрядных алиасов. Это совсем не то же самое, что править дескриптор того большого сегмента. > > > > Пришли еще два письма от разработчиков Fiasco и Pistachio. > > Насчет Fiasco. Существует возможность загрузить GDT дескриптор из usermode, и после проверок на правильность микроядром, дескриптор добавляется в GDT. Причем, утверждается, что 16-битные дескрипторы также должны работать. Но пока никто не пробовал экспериментировать с 16-битными дескрипторами. Интерфейс к этому описан в одном из хедеров микроядра. Аналогично GDT, существует возможность манипулирования дескрипторами из LDT из userland. > > Аналогично Fiasco, разработчики Pistachio также предусмотрели возможность манипулирования дескрипторами из userland. Правда, как говорит Espen Skoglund -- один из разработчиков Pistachio, он делал поддержку сегментации, но не закончил это дело (другие, более важные дела отодвинули это на потом). Сейчас возможна работа с отдельной LDT для каждого адресного пространства. Манипулирование GDT, в отличие от Fiasco, не поддерживается. Также, в случае Pistachio, возможно добавление только сегментов данных (а не кода и стека). При помощи переведения треда в особый режим возможно сделать так, чтобы ядро не трогало регистры ES, FS, GS и оставляло их на усмотрение usermode-задачи. По причинам, касающимся производительности, ядро сохраняет за собой свободу модификации регистров DS и SS. > > Так что, я думаю, наделать 16-битных алиасов кусков 32-битного сегмента наверное, можно :) Надо будет только поближе с этип поэкспериментировать... > > WBR, > Валерий >
__, _,_ __, _,_ _,
|_) | | | \ | / /_\
| \ | | |_/ |/ | |
~ ~ `~' ~ ~ ~ ~
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.