RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Следующий шаг. Немного конкретики.


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

> Если стеки невелики (несколько страниц), но их много, то отсутствие защитной страницы позволит сэкономить и адресное пространство и таблицу страниц :)

Брр... А данные мы между нитками не шарим что-ли? Или таки речь идет о своем сегменте стека для каждой нитки? Только это таки не small, а large модель (SS != DS).

> > Конкретно хотелось бы услышать о плюсах применения small модели для случая 32-битного кода.
> Поскольку мы :) уже отказались от (в случае x86) от "один большой" сегмент на все задачи, то отдельный сегмент сегмент позволит выделить каждой задаче столько адресного пространства, сколько необходимо, а не "не те четыре гига на всякий случай".

А кто отказался от одного большого сегмента? в этом и фича flat модели. Физически сегменты есть (на x86 их не отключишь), но они все алиасят одну область памяти. На x86-64 кстати сегментов еще меньше стало - только SS остался, да и то только ради того чтобы не менять сильно логику работы проца.

А насчет столько адресного пространства, сколько надо - дык его все равно ровно 4гига. Как не режь на сегменты - больше не станет. И меньше тоже.

> Все остальные "художества" вполне обеспечат страницы.
> Это, конечно, можно и плоской модели делать, но, как мне кажется, у малой есть дополнительные преимущества :)

Не вижу. А геморрой вижу.
1) необходимость в компиляторе, умеющем генерить код для случая SS != DS (да и DS != CS тоже не сахар).
2) появление длинных/коротких указателей и соответствующие приключения, связанные с модификацией исходников при портировании
3) необходимость в менеджере селекторов как отдельной сущности со своей (местами нетривиальной) логикой




Thu 14 Jun 2007 11:47 Mozilla/5.0 (OS/2; U; Warp 4.5; en-US; rv:1.3) Gecko/2003031




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.