[mdk-re] Процессы
cornet
=?iso-8859-1?q?cornet_=CE=C1_zmail=2Eru?=
Пн Янв 29 12:22:00 MSK 2001
denf на novosoft.ru wrote:
> Все просто: постоянное увеличение на 1 - это самый быстрый способ
> выделения свободных pid (если не поддерживать список свободных: конечно),
> когда дойдет до самого большого, начнет с начала, причем, большинство из
> начальных процессов уже умерли и выделение опять будет быстрым.
Hello!!
Я правильно понял, что когда зашкалило число процессов, то работает
алгоритм типа:
last_enabled_pid=1; # вызывается только при зашкаливании
for (n=last_enabled_pid+1; n<=max_pid; n++)
{
if (n != занято_активным_процессом) exit; # если большинство древних
процессов уже ушли то скорее всего сразу же будет exit.
}
new_pid = n;
last_enabled_pid=n; # используется при следующих вызовах for
В сильно упрощенном варианте верно?
> 1╘щ╜╘╝К,┴╘Фj)b· b╡с²зз▒ЙН╡х ·X╖╩^jh╘∙╕Л╝Хm╤÷Ъ√)Нфв *ei╩+╩Ы ┼Y ÷Ыb╡ь╖~▐ФjwkjG╚╨к"an==
--
******** FIRE & STEEL ********
Подробная информация о списке рассылки community