RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Ответить на сообщение
Имя:
e-mail:
FIDO:
Home page:
сохранить данные о вас
Тема:
> > > Все вышеперечисленное никак не дает обоснования необходимости помещения стека в отдельный сегмент. Ну получил GP вместо PF - чем оно лучше? > > Тем, что можно обработать в нитке с "неиспорченным" стеком :) > > Exception обрабатывается в той же самой нитке, в которой и произошел. По крайней мере я не слышал, чтобы где-то было сделано по-другому. А сторожевая страница в стеке как раз и нужна обработчику exception. Т.к. guard page на самом деле коммичена, но сделана недоступной из процесса. Происходит исключение, кернельный exception handler либо коммитит дополнительную страницу в стек (если есть куда), либо снимает с guard page защиту и вызывает exception handler самого приложения. Хендлер таким макаром имеет 4 кб стека, что более чем достаточно. > Такой вариант портабелен на другие архитектуры (в отличие от сегментов), не требует извратных компиляторов, far-указателей и тридцати трех реализаций одной функции.
_, _, _, _, _ _ _,_
(_ | / \ |\ | | |_/
, ) | , \ / | \| | | \
~ ~~~ ~ ~ ~ ~ ~ ~
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.