Программирование ядра Linux для начинающих

Я работаю над LINUX в ​​течение последних шести лет и являюсь основным Linux с тех пор как я начал свою карьеру в Linux. Работая больше на Redhat/ Администрирование системы распределения на базе Centos/Fedora, с некоторыми базовый bash знание сценариев.

Теперь я хочу глубоко погрузиться в программирование, чтобы внести свой вклад или внедрять новинку в операционную систему Linux или пространство ядра. (Что еще более важно на фронте виртуализации kvm, так как я эксперт по виртуализация). Поэтому мне нужно ваше руководство, чтобы начать новую карьеру Linux-программирование спереди. На данный момент я планирую начать с ниже последовательности:

  • С
  • С++
  • Программирование ядра Linux
  • Python
  • Java

Просьба предоставить мне несколько полезных веб-ссылок или начинающих для продвинутых документов для указанных выше языков.

Ответы

Ответ 1

Если вы не знаете программирования, ядро ​​на данный момент очень далеки от вас. Изучите C. Попробуйте Язык программирования C сначала, возможно, за ним следует отличный Advanced Программирование в среде UNIX.

И тогда вы готовы начать смотреть на исходный код ядра и посмотреть на книги, специфичные для ядра. В зависимости от того, что вы хотите сделать, вероятно, неплохо собрать и сборку.

С++ и Java довольно бесполезны для разработки ядра Linux (это не суждение ни на одном из языков, просто Linux написан на C и сборке).

Ответ 3

Я где-то читал, что книга Роберта Люка по программированию ядра довольно хороша для того, что вы пытаетесь выполнить. Здесь есть ссылка на AMAZON.

Ответ 4

Вы можете начать с Eudyptula Challenge.

На сайте eudyptula-challenge говорится: "Eudyptula Challenge" представляет собой серию упражнений по программированию для ядра Linux, которые начинаются с самого базового модуля ядра "Hello world", с большим успехом продвигаясь к получению патчей, принятых в основной Linux исходное дерево ядра.

Вы также можете перейти Руководство по программированию модулей ядра Linux. Это также хорошее руководство для новичков.

Ответ 5

Хотя я не разработчик ядра, я думаю, это может вам помочь. Он содержит список связанных с ядром документов.