Ядро Linux: описание процесса разработки
Библиотека разработчика В этой книге описаны основные принципы проектирования и детали реализации ядра Linux. Материал представлен в форме, удобной как для тех, кто занимается разработкой кода ядра, так и для программистов, которые хотят лучше понять особенности работы операционных систем и соответственно разрабатывать более эффективные прикладные программы.В книге детально рассмотрены основные подсистемы и функции ядра Linux, особенности их построения, реализации и соответствующие программные интерфейсы. При этом ядро рассматривается под разными углами: теоретическим и прикладным, что может привлечь читателей с различными интересами и запросами.Автор книги является разработчиком основных подсистем ядра Linux. Он делится своим бесценным опытом и знаниями по ядрам Linux серии 2.6. Рассмотренные вопросы включают управление процессами, системный планировщик, отсчет времени и таймеры ядра, интерфейс вызовов системных функций, особенности адресации и управления памятью, страничный кэш, подсистему VFS, механизмы синхронизации, проблемы переносимости и особенности отладки. В книге также рассмотрены интересные новшества, которые появились в ядрах серии 2.6, такие как планировщик CFS, мультипрограммный режим работы ядра, уровень блочного ввода-вывода и планировщики ввода-вывода.В третье издание включен ряд новых материалов, а старые главы подверглись существенному обновлению.Особенности третьего издания:- Полностью новая глава, посвященная структурам данных и алгоритмам, используемым в ядре.- Подробное описание механизмов обработки прерываний и реализация нижних половин обработчиков прерываний.- Углубленное описание механизмов синхронизации и блокировки, используемых в ядре.- Расширенное описание системы виртуальной памяти и особенностей выделения памяти в режиме ядра.- Дополнительные сведения по отладке кода ядра.- Полезные детали по работе с заплатами и вопросы взаимодействия с сообществом разработчиков.