Купить книгу Программирование ядра Linux: исчерпывающее руководство по внутренним механизмам ядра, написанию модулей ядра и синхронизации ядра на русском [PDF, EPUB, FB2, MOBI]
Linux Kernel Programming: A comprehensive guide to kernel internals, writing kernel modules, and kernel synchronization (B07RW915K4)
Купить и скачать электронную книгу в форматах PDF, EPUB, FB2, MOBI
Kaiwan N Billimoria | #197: Администрирование Linux и UNIX
Узнайте, как писать высококачественный код для модулей ядра, решать распространенные проблемы программирования ядра Linux и понимать основы внутренней работы ядра Linux.
Основные характеристики
- Узнайте, как писать код ядра, используя фреймворк загружаемых модулей ядра (Loadable Kernel Module).
- Изучите передовые методы эффективного распределения памяти и синхронизации данных в ядре ядра.
- Разберитесь в основных внутренних аспектах таких тем, как архитектура ядра, управление памятью, планирование работы ЦП и синхронизация ядра.
Описание книги
«Программирование ядра Linux» — это всестороннее введение для тех, кто только начинает знакомиться с разработкой ядра и модулей Linux. Это простое и понятное руководство позволит вам быстро освоить написание кода ядра. В книге используется новейшее ядро Linux 5.4 с долгосрочной поддержкой (LTS), которое будет поддерживаться с ноября 2019 года по декабрь 2025 года. Работая с ядром 5.4 LTS на протяжении всей книги, вы можете быть уверены, что ваши знания останутся актуальными на долгие годы.
Вы начнёте с изучения сборки ядра из исходного кода. Затем вы напишете свой первый модуль ядра, используя мощную платформу Loadable Kernel Module (LKM). В последующих главах будут рассмотрены ключевые внутренние аспекты ядра, включая архитектуру ядра Linux, управление памятью и планирование работы ЦП.
В ходе изучения этой книги вы углубитесь в довольно сложную тему параллельного выполнения в ядре, поймете проблемы, которые оно может вызывать, и узнаете, как их можно решить с помощью различных технологий блокировки (мьютексы, спин-блокировки, атомарные операторы и операторы подсчета ссылок). Вы также получите пользу от более продвинутого материала о влиянии кэша, вводного курса по методам работы без блокировок в ядре, предотвращения взаимоблокировок (с помощью lockdep) и методов отладки блокировок в ядре.
К концу изучения этой книги по ядру Linux вы получите подробное понимание основ написания кода модулей ядра Linux для реальных проектов и продуктов.
Что вы узнаете
- Разрабатывать высококачественный модульный код ядра (фреймворк LKM) для ядер версий 5.x.
- Настройте и соберите ядро из исходного кода.
- Изучите архитектуру ядра Linux.
- Разберитесь с ключевыми внутренними механизмами управления памятью в ядре.
- Понимать и работать с различными динамическими API ядра для выделения/освобождения памяти.
- Изучите ключевые внутренние аспекты планирования работы ЦП в ядре ядра.
- Получите представление о проблемах параллельного выполнения в ядре ядра.
- Узнайте, как работать с ключевыми примитивами синхронизации ядра.
Для кого предназначена эта книга?
Эта книга предназначена для начинающих программистов, работающих с Linux и осваивающих разработку ядра Linux. Если вы разработчик ядра и драйверов Linux и хотите преодолеть распространенные проблемы разработки ядра или понять интервалы обновления ядра, вы найдете в ней много полезной информации.
Прежде чем приступить к работе, вам потребуется прочная база знаний Linux CLI и программирования на языке C.
Оглавление
- Настройка рабочей области ядра
- Сборка ядра Linux 5.0 из исходного кода, часть 1.
- Сборка ядра Linux 5.0 из исходного кода, часть 2.
- Написание первого модуля ядра, часть 1.
- Написание первого модуля ядра — Часть 2
- Основы внутреннего устройства ядра — процессы и потоки.
- Внутреннее устройство управления памятью — основы
- Выделение памяти ядром для авторов модулей, часть 1.
- Выделение памяти ядром для авторов модулей — Часть 2
- Планировщик ЦП — Часть 1
- Планировщик ЦП — Часть 2
- Синхронизация ядра — Часть 1
- Синхронизация ядра — Часть 2