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


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

> > Я знаю, как работает защитная страницы, вопрос был "почему стек просто не коммитят?".
> Чтобы память зря не тратить. Незакоммиченая страница отнимает кусочек адресного пространства _процесса_. Закоммиченая - отнимает физическую память (ну или кусок свопфайла) у _системы_.
Вот есть lazy commit - процесс запросил память и ему выделили кусок адресного пространства. Далее по страничным отказам в этой области никто не падает, а получает страницы, которые "на общих основания" свопятся :) между памятью и файлом подкачки.
Нитка заказала стек. Это _уже_ lazy commit, но, почему-то, вместо обычной схемы использется более сложный вариант с page guard и stack probe.
Хочется понять: если "это" не защита от переполнения стека, то что?

Sun 17 Jun 2007 07:59 Mozilla/5.0 (OS/2; U; Warp 4.5; ru-RU; rv:1.8.1.2) Gecko/200




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.