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