Разработка ядра Linux

Разработка ядра Linux

Роберт Лав

Описание

Данная книга, написанная Робертом Лавом, детально рассматривает основные подсистемы и функции ядра Linux 2.6. Она охватывает такие аспекты, как планирование процессов, управление временем, системные вызовы, память, VFS, синхронизацию, переносимость и отладку. Книга подходит как для начинающих, так и для опытных разработчиков, предоставляя глубокое понимание работы ядра с теоретической и практической точки зрения. Автор, являясь разработчиком основных подсистем ядра Linux, делится своим опытом и знаниями, помогая читателям освоить сложные концепции и принципы разработки системного программного обеспечения.

<p>Разработка ядра Linux</p><p>Второе издание</p><p>Роберт Лав</p>

Посвящается Дорис (Doris) и Хелен (Helen)

<p>Предисловие</p>

В связи с тем, что ядро и приложения операционной системы Linux используются все более широко, возрастает число разработчиков системного программного обеспечения, желающих заняться разработкой и поддержкой операционной системы Linux. Некоторые из этих инженеров руководствуются исключительно собственным интересом, некоторые работают в компаниях, которые занимаются операционной системой Linux, некоторые работают на производителей компьютерных аппаратных средств, некоторые заняты в проектах по разработке программного обеспечения на дому.

Однако все они сталкиваются с общей проблемой: кривая затрат на изучение ядра становится все длиннее и круче. Система становится все более сложной и, кроме того, очень большой по объему. Годы проходят, и нынешние члены команды разработчиков ядра приобретают все более широкие и глубокие знания, что увеличивает разрыв между ними и разработчиками-новичками.

Я уверен, что понимание основного кода ядра Linux уже сейчас является проблемой, приводящей к ухудшению качества ядра, и в будущем эта проблема станет еще более серьезной. Все, кому нравится операционная система Linux, несомненно, заинтересованы в увеличении числа разработчиков, которые смогут внести свой вклад в развитие ядра этой операционной системы.

Один из возможных подходов к решению данной проблемы — ясность исходного кода: удобные интерфейсы, четкая структура, следование принципу "Делать мало, но делать хорошо" и т.д. Такое решение предложено Линусом Торвальдсом (Linus Torvalds).

Подход, который предлагаю я, состоит в использовании большего числа комментариев внутри исходного кода, что поможет читателю понять, чего хотел достичь программист. (Процесс выявления расхождений между целью и реализацией известен как отладка. Этот процесс значительно затрудняется, если не известно, чего хотели достичь.)

Однако комментарии все же не дают представления о том, для чего предназначено большинство подсистем и как разработчики приступали к их реализации.

Именно печатное слово лучше всего подходит для стартовой точки такого понимания.

Вклад Роберта Лава (Robert Love) состоит в предоставлении возможности, благодаря которой опытные разработчики смогут получить полную информацию о том, какие задачи должны выполнять различные подсистемы ядра и каким образом предполагается выполнение этих задач. Этой информации должно быть достаточно для многих людей: для любопытных, для разработчиков прикладного программного обеспечения, для тех, кто хочет ознакомиться с устройством ядра, и т.д.

Кроме того, данная книга является ступенькой, которая может перенести начинающих разработчиков на новый уровень, где изменения в ядро вносятся для того, чтобы достичь определенной цели. Я хотел бы посоветовать начинающим разработчикам, чтобы они не боялись испачкать свои руки: наилучший способ понять какую- либо часть ядра — это внести в нее изменения. Внесение изменений повышает понимание разработчика до уровня, которого нельзя достичь простым чтением кода ядра.

Серьезный разработчик ядра присоединится к спискам рассылки разработчиков и будет контактировать с другими коллегами. Это основной способ, позволяющий разработчикам учиться и быть на высоком уровне. Роберт очень хорошо осветил механизмы и культуру этой важной части жизни сообщества разработчиков ядра.

Пользуйтесь книгой Роберта и учитесь по ней! Может быть, и вы решите сделать следующий шаг и вступить в сообщество разработчиков ядра, куда мы вас и приглашаем. Людей ценят по важности их дел, поэтому, помогая развитию операционной системы Linux, знайте, что ваша работа — небольшая, но непосредственная помощь десяткам или даже сотням миллионов людей.

Эндрю Мортон (Andrew Morton)Open Source Development Labs<p>Введение</p>

Когда я сделал первую попытку превратить свой опыт работы с ядром Linux в текст книги, понял, что не знаю, как двигаться дальше. Не хотелось просто писать еще одну книгу о ядре операционной системы. Конечно, на эту тему не так уж и много книг, но все же я хотел сделать что-то такое, благодаря чему моя книга была бы особенной. Как достичь этой цели? Я не могу успокоиться, пока не сделаю что- нибудь особенное, лучшее в своем роде.

Похожие книги

1С: Бухгалтерия 8 с нуля

Алексей Анатольевич Гладкий

Овладейте программой 1С:Бухгалтерия 8 с помощью этого исчерпывающего руководства. Книга детально описывает все аспекты работы с программой, от ввода данных до формирования отчетов. Вы научитесь автоматизировать основные участки бухгалтерии: учет наличных и безналичных средств, основных средств, товарно-материальных ценностей, зарплаты и производства. Подробные уроки с примерами помогут вам быстро освоить все функции программы. Эта книга – ваш надежный помощник в освоении 1С:Бухгалтерия 8.

1С: Управление торговлей 8.2

Алексей Анатольевич Гладкий

Современные торговые предприятия сталкиваются с огромным количеством задач: управление широким ассортиментом товаров, различными условиями продаж (предоплата, скидки), категориями клиентов (VIP, постоянные), складскими операциями, сертификацией и инвентаризацией. Эта книга посвящена автоматизации торговой деятельности с помощью популярного программного продукта "1С: Управление Торговлей 8.2". Вы узнаете, как эффективно использовать возможности программы для управления запасами, закупками, продажами, финансами и маркетингом. Подробно рассматриваются функциональные возможности, особенности работы с информационными базами и пользовательским интерфейсом. Идеальное руководство для начинающих пользователей, стремящихся освоить работу с программой "1С: Управление Торговлей 8.2" и повысить эффективность своего бизнеса.

200 лучших программ для Интернета. Популярный самоучитель

Илья Краинский

Эта книга – ваш путеводитель в мир программ для Интернета. Вы узнаете о широком спектре утилит, от почтовых клиентов до браузеров, менеджеров загрузок и антивирусных программ. Познакомьтесь с альтернативами стандартным приложениям Windows, которые помогут вам эффективно использовать Интернет для общения, поиска информации, скачивания файлов и многого другого. Узнайте, как оптимизировать свою работу в Сети, защитить свой компьютер от угроз и использовать дополнительные сервисы Интернета. Книга содержит подробные описания программ, их функциональные возможности и практические советы.

300 лучших программ на все случаи жизни

Виталий Петрович Леонтьев, Виталий Леонтьев

Эта книга – ваш надежный гид в мире программного обеспечения. Она содержит обзор 300 лучших программ, охватывающих широкий спектр задач: от офисных приложений до системных утилит, графики, музыки, видео, обработки звука, браузеров, почты и антивирусов. В книге вы найдете подробные описания, сравнения и рекомендации по выбору программ, что поможет вам найти оптимальное решение для любой задачи. Книга предназначена для пользователей с разным уровнем опыта, от новичков до профессионалов. Она поможет вам эффективно работать на компьютере, используя самые актуальные и полезные программы.