RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : чем отличаются Warp 3.0 и 4.0?


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : Andrew Belov, 2:5020/181.2
To : shiz0rat
Subj : чем отличаются Warp 3.0 и 4.0?


> > Для этого достаточно взять CMD.EXE из XR_W040 и поставить на Аврору. :) Отклик на "ver" прошит внутри CMD.EXE.
>
> Хмм... А я думал, всё как-то интереснее организовано, через сислевел...

Тут все децентрализовано. Есть ядро (отдающее версию как "20.30", "20.40" или "20.45"), есть "ver /r" в CMD.EXE - репортит тебе содержимое файлов DOSVER.H и VERSION.H, с которыми был скомпилирован CMD.EXE, и никогда не консультируется у ядра. Манипуляции с SYSLEVEL'ами и BLDLEVEL'ами - удел инсталляторов фикспаков и K°.

> > > То есть как это гигабайт РАМы? а как же ограничение на 512Мб адресуемой памяти?
> >
> > 512M - лимит на распределение виртуальной юзерской памяти в рамках такой-то арены и blah-blah-blah... Физическую никто ограничивать не думал.
>
> А можно поподробнее? Каков максимальный объём реальной памяти?

~3G. Работают и системы с 4G, но сколько реально используется - не в курсе.

> виртуальной?

Смотря на какой арене и в каком ядре. VIRTUALADDRESSLIMIT в 4.5x расширяет пространство, доступное юзерским процессам, за счет сужения системного, которым будет питаться, например, RAMFS при записи на RAM-диск (=> хочешь гигабайтный RAM-диск - снижай VIRTUALADDRESSLIMIT до 1280).

> по какому алгоритму работает своп?

Про это (включая сокращение-расширение с гистерезисом) можно диссертации писать... Дизайн 80-х был продуманным. :)

> И как со всем этим стыкуется hibernation?

А вот это вполне тривиально. VMM участвует только как помощник.

"Туда" - глушится многозадачность, IFS'ам и железкам дается отбой (SAVERESTORE), выделяется-освобождается пара мегабайт для стабилизации своппинга, опрашивается список страниц, список с оглавлением кладется в обход *.IFS в заранее подготовленный \SWAPPER2.DAT, затем система ... продолжает работать - состояние сохранено, дальше по выбору.

"Обратно" - щупается \SWAPPER2.DAT, ему портится сигнатура (на случай зависания), страницы по оглавлению вычитываются в RAM (для адресации применяется хак "long real mode"), дается SAVERESTORE на реинициализацию драйверов, включается многозадачность (DosSysCtl#14), \SWAPPER2.DAT прибивается или НЕ прибивается - есть спецрежим, когда система всегда при пропадании питания будет стартовать с сохраненного \SWAPPER2.DAT.

>Есть где-нибудь подробная инфа по менеджменту памяти в ОС2? ФАК я читал.

Хм, наверное самая полная - только в исходниках и сопроводиловке (KGUIDE20.INF). Если найдешь. Либо "The Design of OS/2" (DESIGN.INF) в порядке введения + OS/2 Debugging Handbook, EDM/2 и документация из DDK в качестве технической закуски.


Wed 31 Dec 2003 15:20 Mozilla/5.0 (OS/2; U; Warp 3; en-US; rv:1.4) Gecko/20030811




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.