Expliquer la pagination de la mémoire cache du processeur dans FreeBSD, Msg spécifiquement les files d'attente
-
12-09-2019 - |
Question
FreeBSD implémente coloriage avec les files d'attente d'appel. Les files d'attente sont disposées en fonction de la taille de la les caches L1 et L2 du processeur; et quand une nouvelle page doit être alloué, FreeBSD essaie d'obtenir un qui est alignées de manière optimale pour le cache.
Quelqu'un peut-il expliquer les lignes s'il vous plaît ci-dessus, ce qui est le concept de files d'attente d'appel?
Merci!
La solution
Les systèmes d'exploitation doivent gérer la taille des caches CPU afin de réduire cache (misses explique également la coloration de la page). Plus simplement, les données stockées dans les caches (en unités pages appelées) doivent être soigneusement choisis en fonction de la fréquence à laquelle il est utilisé, que ce soit susceptible d'être utilisé à nouveau bientôt, et comment « cher », il serait de nouveau récupérer la les données de la mémoire principale / HD / SomeOtherDevice. Ces choix sont importants dans les applications où la bande passante mémoire est un goulot d'étranglement.
Ce genre de chose est souvent fait avec une file d'attente prioritaire qui met en œuvre la stratégie de remplacement d'appel choisi par les développeurs OS. Ces files d'attente déterminent quelles pages sont remplacées lorsque de nouvelles données sont déplacées vers le cache, et où les données seront situés dans le cache. Vous devriez consulter la documentation de FreeBSD si vous voulez savoir quelle stratégie est utilisée.
Pour l'alignement, les données dans le cache (ou dans la mémoire principale) doit être placé commencé à des limites spécifiques afin d'accéder efficacement (par exemple à déplacer dans un registre CPU). Si les données ne sont pas alignées, le calcul supplémentaire est nécessaire pour l'aligner.