Я студент, заинтересованный в работе над управлением памятью, в частности компонентом замены страниц в ядре Linux.
Каковы различные руководства, которые могут помочь мне начать понимать источник ядра?
Я пытался прочитать книгу « Понимание менеджера виртуальной памяти Linux » Мела Гормана и « Понимание ядра Linux » Чезати и Бове, но они не объясняют поток управления через код. В конце они только объясняют различные используемые структуры данных и работу, которую выполняют различные функции. Это делает код более запутанным.
Мой проект посвящен настройке алгоритма замены страниц в основном ядре и анализу его производительности для ряда рабочих нагрузок. Есть ли какая-нибудь разновидность ядра linux, которую было бы легче понять (если бы не ядро linux-2.6.xx)?
источник
Ответы:
Фокус на структурах данных . Понимание структур данных обычно важнее кода.
Если вам показаны только структуры данных, но нет кода, вы все равно получите общее представление о системе.
И наоборот, если показан только код, но не структуры данных, очень сложно понять систему.
источник
Ядро Ядра довольно хорошее, я думаю
Есть много людей, заинтересованных в изучении того, как работает ядро, я думаю, что вы могли бы узнать кое-что там или два
источник
Опция отладчика может быть полезна.
Еще несколько вещей, которые можно сделать после сборки ядра с помощью опции отладчика, - это написать несколько примеров тестовых приложений, вызывающих различные системные вызовы, которые будут вызывать ядро, и вы сможете просматривать один фрагмент кода за раз и понимать его реализацию.
источник
В разделе «Операционные системы» статьи « Что должен знать каждый специалист в области компьютерных наук» Мэтт Майт порекомендовал разработку ядра Linux от Love . Хотя это сложная тема, книга очень хорошо написана.
источник
Один из способов изучить сложную кодовую базу - запустить ее в отладчике и посмотреть, куда вас ведут . Для Linux есть Linux Kernel Debugger .
источник