Ядро обнуляет память?

Я использую Debian squeeze и заметил, что память всегда обнуляется. Это новинка в дистрибутивах Linux? Некоторое время назад я полагал, что мог бы использовать put (), и на выходе был бы мусор.

Я запускаю эту тестовую программу много раз, но прокомментированные результаты всегда одни и те же. (У меня randomize_va_space = 2 в sysctl.conf, поэтому я знаю, что память в разных местах используется при каждом запуске.)


char *a = malloc(50000000);
a[49999999] = '\0';
puts(a); // it outputs nothing since all are zeroes
printf("%p\n", a);
if(a[5000] == '\0') // this condition is always true
{
    puts("It is a nul char.");
}

Можно ли сделать систему не нулевой памятью? Какие параметры могли активировать в этой установке Debian squeeze, что всегда нулевая память?

11
задан Nuri Dure 14 May 2011 в 21:13
поделиться