AT> Hi,
AT>>> Большая разница между 386 и 286, но и там можно сделать COW с
AT>>> гранулярностью в один сегмент.
alr>> Не понял. Чем можно заменить полное отсутствие paging'а ?
AT> Сваппингом :). Делается r/o сегмент, при обращении - копируется.
Ну так-то, конечно, можно -- помнится Windows до 3.11 этим занималась, но все
равно что-то творить в сегментной архитектуре (мразматическое изобретение
Intel'а) весьма тяжко...
AT>>> В Linux у тебя есть неявный свап сегментов кода. Насколько я помню, код
AT>>> не свапится вообще, а дискардится т.е. даже без свапа виртуальная
AT>>> память больше на размер кода запущенных процессов.
alr>> Ну дык. Так это оно у всех сделано (включая $%&&*$# Windows :-). Ненужный
alr>> код даже и не загружается... Или есть операционки, где это не так ?
AT> В 4.4BSD сегменты кода кладутся в свап (пока там есть место). Оттуда быстрее
AT> читать т.к. они меньше размазаны по диску в таком случае.
Разница непринципиальная -- это скорее оптимизация (кстати не всегда полезная --
ведь на запись этих сегментов в swap тоже время нужно, да и лежат они там не
то, чтобы совсем подряд, особенно в случае использования shared library). Если
места в swap'е не хватит они ведь все равно из swap'а будут выпихнуты... Так
что с точки зрения расходования виртуалки это все равно. В Linux'е можно путем
установки бита "t" пойти дальше -- в этом случае код будет держаться в памяти
(опять же, если ему найдется там место :-) даже если программа уже закончила
работу: позволяет сильно ускорить работу gcc или perl'а (в случае mod_perl'а
это все, понятно, не нужно). Но это все так или иначе не более, чем оптимизация:
на расход памяти все это не влияет...
P.S. Кстати преимуществом Linux'а является еще и то, что под него уже [три дня
как] можно купить Informix, а Oracle ожидается к концу года :-))
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C)
1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.