Предисловие

Предисловие

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

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

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

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

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

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

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

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

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

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

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

Эндрю Мортон (Andrew Morton)

Open Source Development Labs

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Предисловие

Из книги iOS. Приемы программирования автора Нахавандипур Вандад

1.3. Настройка программы Чем отличается начинающий пользователь от профессионала? Кроме того что профессионал знает немного больше, он владеет набором инструментов, позволяющих выполнить работу быстрее и качественнее. Настройка пользовательского интерфейса и загрузка дополнительных внешних модулей позволят вам подняться на ступеньку выше в скорости и качестве выполнения работ.


Предисловие

Из книги Моделирование бизнес-процессов с BPwin 4.0 автора Маклаков Сергей Владимирович

Глава 1 Разработка модели дома или квартиры в системе ArCon Большой выбор программных средств дает возможность подобрать подходящий по функционалу и цене продукт.


Предисловие

Из книги Приемы создания интерьеров различных стилей автора Тимофеев С. М.

Пример 8-1. Наибольший общий делитель #!/bin/bash # gcd.sh: поиск наибольшего общего делителя # по алгоритму Эвклида # Под "наибольшим общим делителем" (нод) двух целых чисел #+ понимается наибольшее целое число, которое делит оба делимых без остатка. # Алгоритм Эвклида выполняет последовательное деление. # В каждом цикле, #+ делимое <--- делитель


Предисловие

Из книги Microsoft Office автора Леонтьев Виталий Петрович

Пример 12-43. Генератор имен файлов #!/bin/bash # tempfile-name.sh: Генератор имен временных файлов BASE_STR=`mcookie` # 32-символьный (128 бит) magic cookie. POS=11 # Произвольная позиция в строке magic cookie. LEN=5 # $LEN последовательных символов. prefix=temp # В конце концов это временный ("temp") файл. suffix=${BASE_STR:POS:LEN} # Извлечь строку, длиной в 5 символов, начиная с позиции 11. temp_filename=$prefix.$suffix


Предисловие

Из книги 300 лучших программ на все случаи жизни автора Леонтьев Виталий Петрович

5.5.8 Объекты Переменного Размера


Предисловие

Из книги BPwin и Erwin. CASE-средства для разработки информационных систем автора Маклаков Сергей Владимирович

19.7. Создание файла функций А теперь создадим файл функций, включающий одну функцию. Эта функция будет загружена интерпретатором команд, протестирована, изменена, а затем повторно загружена. Создаваемый файл функций functions.main будет содержать следующий код: $ pg functions.main #!/bin/sh # functions.main # findit: интерфейс для базовой команды find


Предисловие

Из книги Музыкальный центр на компьютере автора Леонтьев Виталий Петрович

Глава 3. Подготовка программы к работе Перед тем как приступить к эксплуатации программы, рекомендуется просмотреть и, при необходимости – отредактировать параметры ее настройки. Кроме этого, следует ввести необходимый минимум сведений в справочники и каталоги программы. Об этом, а также о многом другом и пойдет речь в данной главе книги.


Предисловие

Из книги Как накормить слона, или первые шаги к самоорганизации с Evernote автора Султанов Гани

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


Предисловие

Из книги Технология XSLT автора Валиков Алексей Николаевич

А.2 Характеристики продукта А.2.1 функциональные возможности (functionality): Набор атрибутов, относящихся к сути набора функций и их конкретным свойствам. Функциями являются те, которые реализуют установленные или предполагаемые потребности (ГОСТ Р ИСО/МЭК 9126 [14], без примечаний).


Предисловие

Из книги Программист-фанатик автора Фаулер Чед

6.1.1 Подготовка процесса Данная работа состоит из следующих задач: 6.1.1.1 Должен быть разработан, документально оформлен и реализован план обозначения документов, выпускаемых в процессах жизненного цикла программного продукта. Для каждого обозначаемого документа должны быть определены: a. заголовок или наименование; b. назначение; c. пользователи документа;


Предисловие

Из книги 19 смертных грехов, угрожающих безопасности программ автора Ховард Майкл

Глава 15 Думать быстрее! Конечно, нельзя было надеяться вот так раз и навсегда избавиться от министра Бэллока. Письмо Кенороса дало мистеру Томпкинсу несколько недель передышки, но в середине августа его снова призвали пред светлы очи. В час дня ему надлежало быть на официальной аудиенции в Корзаке.


Предисловие

Из книги C++ автора Хилл Мюррей

Перемещение окна с помощью клавиатуры Данная программа осуществляет перемещение графического окна с помощью клавиатуры: uses GraphABC; procedure KeyDown(Key: integer); begin case Key of VK_Left: Window.Left := Window.Left - 2; VK_Right: Window.Left := Window.Left + 2; VK_Up: Window.Top := Window.Top - 2;


Предисловие

Из книги Введение в криптографию автора Циммерманн Филипп

Трояны с претензией на авторское право: как не надо делать скрытые биткойн-майнеры Андрей Васильков Опубликовано 20 декабря 2013


Предисловие

Из книги Человеческий фактор в программировании автора Константин Ларри Л

Облачная судьба домашней бухгалтерии: юбилейные размышления над тупиком Сергей Голубицкий Опубликовано 24 февраля 2014


Предисловие

Из книги Процессы жизненного цикла программных средств автора Автор неизвестен

Пятиуровневый мозг фирмы


Предисловие

Из книги ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ. РУКОВОДСТВО ПО УПРАВЛЕНИЮ ДОКУМЕНТИРОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ автора Автор неизвестен

РЕПОРТАЖ: Подглядывая за будущим Автор: Илья Щуров Voyager Конференция разработчиков свободного программного обеспечения «На Протве» проходит уже в третий раз. Два года назад я про нее не знал, год назад не смог приехать, а этим летом звезды наконец «выстроились в ряд», и я все-таки выбрался на три дня в Обнинск, дабы вдоволь пообщаться с представителями российского open source-сообщества.