Au fait, mon explication est valable pour les applications, pas pour le noyau. Le noyau peut effectivement travailler avec de la memoire physique, lui.
Et pour la memoire physique c'est effectivement plus complique...
Exemple :
- de la memoire est allouee et desalloue par le kernel, en plusieurs fois, de maniere 'aleatoire' ; tout va bien, il y a assez, mais la memoire est pleine de petits trous...
- un driver est charge (par exemple, par chargement de module) et a besoin d'une grosse quantite de memoire contigue (ex. pour mapper avec du materiel). Meme s'il y a assez, mais en plein de tout petits bouts, alors l'allocation va echouer. Il est en effet impossible de remapper les petits bouts, car d'autres parties du kernel ont des pointeurs dessus, et il faut surtout pas les contrarier, ces petites betes la!
[^] # Re: Juste une question
Posté par ymorin . En réponse à la dépêche Nouvelle version 2.6.33 du noyau Linux. Évalué à 3.
Et pour la memoire physique c'est effectivement plus complique...
Exemple :
- de la memoire est allouee et desalloue par le kernel, en plusieurs fois, de maniere 'aleatoire' ; tout va bien, il y a assez, mais la memoire est pleine de petits trous...
- un driver est charge (par exemple, par chargement de module) et a besoin d'une grosse quantite de memoire contigue (ex. pour mapper avec du materiel). Meme s'il y a assez, mais en plein de tout petits bouts, alors l'allocation va echouer. Il est en effet impossible de remapper les petits bouts, car d'autres parties du kernel ont des pointeurs dessus, et il faut surtout pas les contrarier, ces petites betes la!
Re-hop, re-voila! ;-)