Postado originalmente por
fredy10
Eu sei que você está confuso quanto a isso... Mas pense só em uma coisa:
Quando a memória é utilizada, são gravados dados nela. Após a utilização, mesmo que o kernel marque essa área como livre, os dados permanecerão lá, pois para limpar a memória, ele teria que zerar todos os bits da memória (isso falando a nível de hardware mesmo) e isso traria uma demora. Certo?
Então... o cache, é justamente essa área que está livre para gravação. Caso o kernel necessite alocar algo naquela área, ele irá regravar os dados que estavam lá antes.
Se ele tivesse que limpar a memória primeiro (zerar os bits) e depois gravar novamente os novos dados, isso demoraria o dobro do tempo. Por esse motivo o *nix fazem esse cache. A micro$$oft aprendeu a fazer isso e está utilizando o mesmo sistema no rwindows vista...