Pagination

La pagination est le transfert de pages (blocs de mémoire, souvent 4ko) entre un mémoire externe, comme le disque, et la mémoire centrale, dans le but de accéder à la page.

Le système d'exploitation utilise la pagination pour pouvoir mieux utiliser la mémoire centrale. Lorsque une application ou une partie d'une application n'est pas utilisée depuis un moment, les pages de celle-ci sont expulsées sur disque si une application actuellement en exécution à besoin de la mémoire centrale correspondante. Plus tard, lorsque l'application à besoin des pages expulsées, le mécanisme de pagination les charge à nouveau en mémoire centrale, et les pages d'une autre application (ou les pages moins fréquemment utilisées de la même application) sont expulsées.

Le système d'exploitation utilise un algorithme de type LRU (least recently used, moins récemment utilisée) pour déterminer quelles pages expulser. Pour une application qui touche à beaucoup de page de manière aléatoire, il est probable qu'un page dont elle a besoin doit être transférée du disque, ce qui ralentie considérablement l'application (car le disque est environ 1 million de fois plus lent que la mémoire centrale). Une application qui accède à des adresses dans la mémoire qui sont proche de manière à la fois spatiale et temporelle (on parle de localité) sera donc plus rapide, car les pages dont elle a besoin sont plus probablement déjà en mémoire.