Издательство: | Вильямс/Диалектика |
Серия: | Несерийные |
Дата выхода: | ноябрь 2018 |
ISBN: | 978-5-907114-29-6 |
Объём: | 496 страниц |
Масса: | 786 г |
Размеры(В x Ш x Т), см: | 24 x 17 |
Обложка: | твёрдая |
Бумага: | офсетная |
Переводное издание: | Linux Kernel Development, 3rd Edition |
Язык оригинала: | английский |
Исчерпывающее руководство по проектированию и реализации ядра Linux.
В этой книге описаны основные принципы проектирования и детали реализации ядра Linux. Материал представлен в форме, удобной как для тех, кто занимается разработкой кода ядра, так и для программистов, которые хотят лучше понять особенности работы операционных систем и соответственно разрабатывать более эффективные прикладные программы.
В книге детально рассмотрены основные подсистемы и функции ядра Linux, особенности их построения, реализации и соответствующие программные интерфейсы. При этом ядро рассматривается под разными углами: теоретическим и прикладным, что может привлечь читателей с различными интересами и запросами. Автор книги является разработчиком основных подсистем ядра Linux. Он делится своим бесценным опытом и знаниями по ядрам Linux серии 2.6.
Рассмотренные вопросы включают управление процессами, системный планировщик, отсчет времени и таймеры ядра, интерфейс вызовов системных функций, особенности адресации и управления памятью, страничный кеш, подсистема VFS, механизмы синхронизации, проблемы переносимости и особенности отладки. В книге также рассмотрены интересные новшества, которые появились в ядрах серии 2.6, такие как планировщик CFS, мультипрограммный режим работы ядра, уровень блочного ввода-вывода и планировщики ввода-вывода.
В третье издание этой книги включен ряд новых материалов, а старые главы подверглись существенному обновлению. Особенности третьего издания Полностью новая глава, посвященная структурам данных и алгоритмам, используемым в ядре. Подробное описание механизмов обработки прерываний и реализация нижних половин обработчиков прерываний. Углубленное описание механизмов синхронизации и блокировки, используемых в ядре.
Расширенное описание системы виртуальной памяти и особенностей выделения памяти в режиме ядра. Дополнительные сведения по отладке кода ядра. Полезные детали по работе с заплатами и вопросы взаимодействия с сообществом разработчиков.
Книга может быть рекомендована как начинающим, так и опытным разработчикам программного обеспечения, а также в качестве дополнительных учебных материалов.