Je suis un étudiant intéressé à travailler sur la gestion de la mémoire, en particulier le composant de remplacement de page du noyau Linux.
Quels sont les différents guides qui peuvent m'aider à commencer à comprendre la source du noyau?
J'ai essayé de lire le livre Comprendre le gestionnaire de mémoire virtuelle Linux par Mel Gorman et Comprendre le noyau Linux par Cesati et Bovet, mais ils n'expliquent pas le flux de contrôle à travers le code. Ils finissent par expliquer les différentes structures de données utilisées et le travail effectué par les différentes fonctions. Cela rend le code plus confus.
Mon projet consiste à peaufiner l'algorithme de remplacement de page dans un noyau traditionnel et à analyser ses performances pour un ensemble de charges de travail. Y a-t-il une saveur du noyau linux qui serait plus facile à comprendre (sinon le noyau linux-2.6.xx)?
la source
Réponses:
Focus sur les structures de données . Comprendre les structures de données est généralement plus important que le code.
Si vous ne voyez que des structures de données mais pas de code, vous obtenez toujours une vue d'ensemble du système.
Inversement, si on ne montre que du code mais pas des structures de données, il est très difficile de comprendre le système.
la source
Kernel Newbies est assez bon, je suppose
Il y a beaucoup de gens intéressés à savoir comment fonctionne le noyau, je pense que vous pourriez y apprendre une chose ou deux
la source
L'option de débogage pourrait être utile.
D'autres choses qui peuvent être faites après la construction du noyau avec l'option débogueur consistent à écrire des exemples d'applications de test appelant divers appels système qui invoqueront le noyau et vous pouvez parcourir un morceau de code du noyau à la fois et comprendre son implémentation.
la source
Dans la section Systèmes d'exploitation de l'article, Ce que tout major en informatique devrait savoir , Matt pourrait recommander le développement du noyau Linux par Love . Bien qu'il s'agisse d'un sujet avancé, le livre est très bien écrit.
la source
Une façon d'apprendre une base de code complexe est de l' exécuter dans un débogueur et de voir où les choses vous mènent. Pour Linux, il existe le débogueur de noyau Linux .
la source