Операционная система не гарантирует обнуление памяти, только то, что вы им владеете. Это, вероятно, даст вам страницы памяти, которые использовались ранее (или никогда не использовались раньше, но не ноль). Если приложение хранит потенциально конфиденциальные данные, ожидается, что оно обнулит их перед free () 'ing.
Он не установлен на ноль, потому что это будет выполнять ненужную работу. Если вы выделяете 20 мегабайт для хранения текстуры или нескольких кадров видео, зачем ОС записывать нули во всю эту память, чтобы вы могли перезаписать их, как и в следующий раз, когда вы делаете.
Как правило, операционные системы не делают ничего, что им не нужно.
edit: чтобы немного расширить, когда вы «выделяете» блок памяти, все, что делает ОС, это переназначает страницы памяти (обычно блоки по 4096 байт) вашему процессу из пула выделенные страницы. Вы также можете иметь общую память, и в этом случае ОС «назначает» их нескольким процессам. Вот и все суммы распределения.