RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Ответить на сообщение
Имя:
e-mail:
FIDO:
Home page:
сохранить данные о вас
Тема:
> > Если стеки невелики (несколько страниц), но их много, то отсутствие защитной страницы позволит сэкономить и адресное пространство и таблицу страниц :) > > Брр... А данные мы между нитками не шарим что-ли? Или таки речь идет о своем сегменте стека для каждой нитки? Только это таки не small, а large модель (SS != DS). > > > > Конкретно хотелось бы услышать о плюсах применения small модели для случая 32-битного кода. > > Поскольку мы :) уже отказались от (в случае x86) от "один большой" сегмент на все задачи, то отдельный сегмент сегмент позволит выделить каждой задаче столько адресного пространства, сколько необходимо, а не "не те четыре гига на всякий случай". > > А кто отказался от одного большого сегмента? в этом и фича flat модели. Физически сегменты есть (на x86 их не отключишь), но они все алиасят одну область памяти. На x86-64 кстати сегментов еще меньше стало - только SS остался, да и то только ради того чтобы не менять сильно логику работы проца. > > А насчет столько адресного пространства, сколько надо - дык его все равно ровно 4гига. Как не режь на сегменты - больше не станет. И меньше тоже. > > > Все остальные "художества" вполне обеспечат страницы. > > Это, конечно, можно и плоской модели делать, но, как мне кажется, у малой есть дополнительные преимущества :) > > Не вижу. А геморрой вижу. > 1) необходимость в компиляторе, умеющем генерить код для случая SS != DS (да и DS != CS тоже не сахар). > 2) появление длинных/коротких указателей и соответствующие приключения, связанные с модификацией исходников при портировании > 3) необходимость в менеджере селекторов как отдельной сущности со своей (местами нетривиальной) логикой > > >
_, _, _,
/ \ (_ / ~ )
\ / , ) / /
~ ~ ~~~
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.