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


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

> > В OS/2 нет lazy commit. Закоммиченой области всегда поставлена в соответствие либо физическая память, либо место в своп-файле.
> С дубу рухнул? Всегда был. Отключается MEMMAN=COMMIT. Ну или отключением свопа. И это очень хорошо видно по аппетитам к памяти.

А хелп почитать насчет MEMMAN=COMMIT не судьба? ;)

Поясняю. MEMMAN=COMMIT требует от менеджера памяти, чтобы для коммиченых страниц выделялось место в своп-файле, _даже_ если эти страницы помещаются в физической памяти. То есть коммиченая страница _всегда_ будет иметь свое место в свопе. Если этот флаг не указан, то место в свопе будет выделяться _только_ если страница не находится в физ памяти.

Смысл параметра COMMIT в том, чтобы гарантировать что успешно закоммиченая страница _всегда_ поместится в своп. Что естественно раздувает своп.

>
> > Это именно такой ограниченный вариант lazy commit, распространяющийся только на стек.
> Причём на стек только первой нитки. Рудимент это какой-то для создания геморроя приложениям.

На стек всех ниток это распространяется. Флаги STACK_SPARSE/STACK_COMMITED у DosCreateThread для красоты по-твоему?


Tue 19 Jun 2007 14:48 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.