Как начать изучение программирования ядра Linux, кодирования или чтения?

У меня есть две книги для этой цели: Linux Kernel Development Роберт Лав и О'Рейли Понимание ядра Linux. Я начал читать эти книги, и я загрузил последний исходный код для Linux.

Теперь, отсюда, я должен продолжать читать эти книги до конца или я должен начать смотреть на код... И если я должен начать кодирование, то с чего начать? Есть так много каталогов и файлов, что я смущен, что является лучшим местом для начала понимания кода. Я мог бы также добавить, что у меня был курс в операционных системах, и мне очень нравятся концепции... Пожалуйста, дайте любые предложения, которые помогут мне продолжить работу. Также расскажите, как вы научились запускать программирование ядра? Спасибо заранее...

Ответ 1

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

Лично я узнал, что я был колен в коде ядра после того, как получил работу в колледже, написав драйверы устройств Linux для встроенных устройств (много карт для сбора аналоговых и цифровых данных). У меня не было предыдущего опыта, и две упомянутые вами книги очень помогли мне начать работу в правильном направлении.

Мой вопрос к вам: почему вы хотите изучать программирование ядра Linux? Это может помочь нам предложить, возможно, проект с открытым исходным кодом для вас.

Кроме того, здесь вы можете найти хороший источник для проектов ядра, которым нужны разработчики: http://kernelnewbies.org/KernelProjects

Ответ 3

Это очень трудный вопрос для ответа.

Что вам нужно хотеть для кодирования (в будущем). Возможно, мы можем идти оттуда.

Мое начало и только опыт заключался в написании простого USB-драйвера для гаджета с некоторыми светодиодами и кнопками, которые я получил на ярмарке некоторое время назад.

Я прочитал хорошую статью о драйверах кодирования для таких устройств в Linux Magazine или что-то подобное.

http://www.kernel.org/doc/htmldocs/gadget.html имеет некоторую приятную (устаревшую?) информацию!

К сожалению, я давно потерял оба кода (ноутбук был включен) и гадкий гаджет.

Ответ 4

Я бы посоветовал вам пойти в ваш любимый (онлайн) книжный магазин и найти книгу о разработке ядра Linux. Для начала не важно иметь книгу, описывающую новейшие технологии. Вместо этого книга должна соответствовать вашим навыкам программирования.

Как второй взгляд на журнал Linux (онлайн), где технические статьи описывают новые технологии.