Чтение онлайн

на главную

Жанры

Журнал "Компьютерра" N734
Шрифт:

ОКНО ДИАЛОГА: Хранитель ядра

Автор: Илья Щуров Voyager

Все мы с вами знаем, как выглядит обычный программист. Он носит потертые джинсы, шерстяной свитер и длинные волосы, а его лицо украшают красные глаза и многодневная щетина. Эндрю Мортон (Andrew Morton), вне всяких сомнений, необычный программист - и дело не только в аккуратном пиджаке и галстуке. С недавних пор он работает в Google, но практически ничего не делает для этой компании. Зато он точно знает, что нового может появиться в ядре Linux

через несколько месяцев.

В ведении Мортона - ветвь (branch) ядра, имеющая суффикс -mm. Именно в него попадают практически все дополнения и модификации от множества разработчиков по всему миру. Мортон делает merge - интегрирует новый или модифицированный код в ядро, а затем тестирует то, что получилось. Если все хорошо - через несколько месяцев Линус Торвальдс заберет изменения, сделанные Мортоном, в свою ветвь, которая и увидит свет как очередной официальный релиз.

Путь к ядру

По образованию Эндрю Мортон - инженер-электронщик, и даже его первый компьютерный опыт - программирование на ассемблере для Apple II в университете Нового Южного Уэльса (Австралия) - был на стыке между "железным" и "софтверным" мирами.

–  Мне приходилось разрабатывать железо для встроенных решений, но я также занимался и софтом, - рассказывает Мортон.
– В 1986 году я спроектировал целый компьютер, основанный на процессоре Motorola 68000, и опубликовал спецификации в одном австралийском журнале. Читатели могли приобрести набор "сделай сам" и по моему дизайну собрать собственный компьютер.

В качестве ОС в нем использовалась версия Minix, лицензированная у разработчиков и портированная на архитектуру 68000 Колином Маккормаком (Colin McCormack), другом Мортона.

Окунуться в софтверный мир с головой пришлось в исследовательском центре корпорации Nortel, где Мортон в течение девяти лет был менеджером разработки ПО. Однако страсть к решению инженерных, а не управленческих задач давала о себе знать, и Linux оказался хорошим объектом для ее приложения.

 Я давно следил за разработкой ядра и в 1999 году стал в ней участвовать, сделав свой вклад в драйверы поддержки сети, - говорит Мортон.
– Потом я целый год только тем и занимался, что исправлял ошибки в версии 2.3, которых было очень много. Брал очередное сообщение о проблеме, общался с человеком, который о ней сообщил, пытался воспроизвести тот же эффект у себя, а потом исправлял - и переходил к следующей. Делая это, я создавал достаточно много шума, чтобы привлечь внимание разработчиков к исправлению ошибок вообще. К тому же эта деятельность была очень хорошим способом разобраться в том, как работает ядро.

Всем этим Мортон занимался в свободное от работы время на протяжении примерно двух лет.

–  Потом мой друг из Пало-Альто поговорил со своим боссом в компании Digeo, и меня пригласили работать над созданием цифрового медиацентра Moxi, в котором планировалось использовать Linux.

В 2001 году Мортон с женой и тремя детьми переехал из Австралии в США. С этого момента участие в разработке Linux из хобби превратилась в работу. Для Moxi требовалась поддержка файловой системы ext3, которая в тот момент была реализована в виде патча для ядра 2.2. По служебной необходимости Мортон портировал этот патч для совместимости с ядром 2.4, после чего занялся стабилизацией кода и улучшением производительности.

–  Файловые системы в Linux очень тесно интегрированы с системой управления памятью - фактически

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

Чуть позже, вновь в свободное время, он занялся переписыванием и оптимизацией кода управления памятью для разрабатывавшейся тогда версии 2.5. Так появилась ветвь с суффиксом -mm (от memory management), а через некоторое время Линус Торвальдс предложил Мортону стать майнтейнером стабильной версии 2.6.

–  Я сказал Линусу, что это работа на полную ставку, и вряд ли Digeo согласится ее оплачивать, - вспоминает Мортон.
– "Да, наша проблема в том, что вы работаете в маленькой компании, которая не может себе этого позволить, - согласился Торвальдс.
– Но, может быть, нам поможет OSDL1?"

В результате между OSDL и Digeo было подписано соглашение, по условиям которого OSDL оплачивал работу Мортона над ядром, хотя он оставался сотрудником небольшого стартапа. Но через четыре года Digeo закрыло проект Moxi, и Мортон перешел в Google. Его должностные обязанности при этом почти не изменились.

Вид снаружи

Проекты свободного ПО зачастую являются "нейтральными площадками", на которых различные компании (порой конкурирующие) совместно разрабатывают продукты, представляющие интерес для всех них. Ядро Linux - уникальная по масштабу и успешности площадка, на которой взаимодействуют независимые разработчики (внося свой существенный вклад), сотрудники небольших компаний и такие "тяжеловесы", как Intel, IBM, HP, Oracle и др.

Все взаимодействие между программистами осуществляется через почтовый список рассылки LKML (Linux Kernel Mailing List) и системы управления кодом - без сложной иерархической структуры и бюрократии, свойственной корпорациям. Как удается неформальному сообществу организовать столь масштабную совместную работу?

–  На самом деле, у нас есть некоторая структура, - рассказывает Мортон.
– В частности, есть аналог менеджеров, их около ста человек (майнтейнеров), каждый из которых отвечает за конкретную часть в ядре - драйверы сети, USB и т. д. Майнтейнер имеет определенную "власть", но эта власть "отрицательная" - он может принять или отвергнуть чью-либо работу, но не может сказать кому-то: "А сейчас ты пойдешь и к ближайшей пятнице исправишь этот баг". Между нами нет отношений "начальник-подчиненный". Никто не работает на меня. И мы не можем планировать наше развитие. Над чем работать, определяют фирмы и индивидуальные разработчики. Но внутри самих фирм вполне может быть четкое планирование, потому что есть управление, распространяющееся "сверху-вниз": скажем, в Intel знают, какие возможности они собираются реализовать в Linux во втором квартале 2008 года.

Впрочем, работая в Google, Мортон продолжает наслаждаться свободой индивидуального разработчика.

–  Я не программирую для Google, а занимаюсь тем же, чем и раньше, - поддерживаю свою ветвь. Иногда консультирую инженеров Google, просматриваю патчи к ядру, которые используются внутри компании, рассказываю, в каком направлении лучше двигаться - но не более того.

Тот факт, что коммерческиие структуры определяют вектор развития Linux, является естественным для мира свободного ПО, но в последнее время он порождает споры. Дело в том, что большинство корпораций, кровно заинтересованных в ОС Linux, ориентированы на ее применение в серверном сегменте, поэтому их влияние вроде бы может увести эту систему прочь от десктопного применения (где она и сейчас не столь популярна). Впрочем, по мнению Мортона, ситуация не такая мрачная, как кажется скептикам.

Поделиться:
Популярные книги

Паладин из прошлого тысячелетия

Еслер Андрей
1. Соприкосновение миров
Фантастика:
боевая фантастика
попаданцы
6.25
рейтинг книги
Паладин из прошлого тысячелетия

Дорога к счастью

Меллер Юлия Викторовна
Любовные романы:
любовно-фантастические романы
6.11
рейтинг книги
Дорога к счастью

Мастер 2

Чащин Валерий
2. Мастер
Фантастика:
фэнтези
городское фэнтези
попаданцы
технофэнтези
4.50
рейтинг книги
Мастер 2

Законы Рода. Том 3

Flow Ascold
3. Граф Берестьев
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 3

Столичный доктор. Том III

Вязовский Алексей
3. Столичный доктор
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Столичный доктор. Том III

Адепт. Том 1. Обучение

Бубела Олег Николаевич
6. Совсем не герой
Фантастика:
фэнтези
9.27
рейтинг книги
Адепт. Том 1. Обучение

Огни Аль-Тура. Желанная

Макушева Магда
3. Эйнар
Любовные романы:
любовно-фантастические романы
эро литература
5.25
рейтинг книги
Огни Аль-Тура. Желанная

Отмороженный 4.0

Гарцевич Евгений Александрович
4. Отмороженный
Фантастика:
боевая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Отмороженный 4.0

Держать удар

Иванов Дмитрий
11. Девяностые
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Держать удар

Соль этого лета

Рам Янка
1. Самбисты
Любовные романы:
современные любовные романы
6.00
рейтинг книги
Соль этого лета

Бестужев. Служба Государевой Безопасности

Измайлов Сергей
1. Граф Бестужев
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Бестужев. Служба Государевой Безопасности

Шипучка для Сухого

Зайцева Мария
Любовные романы:
современные любовные романы
8.29
рейтинг книги
Шипучка для Сухого

Идеальный мир для Лекаря 7

Сапфир Олег
7. Лекарь
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 7

Не грози Дубровскому! Том II

Панарин Антон
2. РОС: Не грози Дубровскому!
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Не грози Дубровскому! Том II