Лав Роберт: Ядро Linux: описание процесса разработки
(fb2, 496 страниц, 2 523 Kb)
Жанр: Unix, Linux, FreeBSD...
Издательство: Диалектика / Вильямс, 2015
В этой книге описаны основные принципы проектирования и детали реализации ядра Linux. Материал представлен в форме, удобной как для тех, кто занимается разработкой кода ядра, так и для программистов, которые хотят лучше понять особенности работы операционных систем и соответственно разрабатывать более эффективные прикладные программы. В книге детально рассмотрены основные подсистемы и функции ядра Linux, особенности их построения, реализации и соответствующие программные интерфейсы. При этом ядро рассматривается под разными углами: теоретическим и прикладным, что может привлечь читателей с различными интересами и запросами. Автор книги является разработчиком основных подсистем ядра Linux. Он делится своим бесценным опытом и знаниями по ядрам Linux серии 2.6. Рассмотренные вопросы включают управление процессами, системный планировщик, отсчет времени и таймеры ядра, интерфейс вызовов системных функций, особенности адресации и управления памятью, страничный кэш, подсистему VFS, механизмы синхронизации, проблемы переносимости и особенности отладки. В книге также рассмотрены интересные новшества, которые появились в ядрах серии 2.6, такие как планировщик CFS, мультипрограммный режим работы ядра, уровень блочного ввода-вывода и планировщики ввода-вывода. В третье издание включен ряд новых материалов, а старые главы подверглись существенному обновлению. Особенности третьего издания: — Полностью новая глава, посвященная структурам данных и алгоритмам, используемым в ядре. — Подробное описание механизмов обработки прерываний и реализация нижних половин обработчиков прерываний. — Углубленное описание механизмов синхронизации и блокировки, используемых в ядре. — Расширенное описание системы виртуальной памяти и особенностей выделения памяти в режиме ядра. — Дополнительные сведения по отладке кода ядра. — Полезные детали по работе с заплатами и вопросы взаимодействия с сообществом разработчиков.