Джеймс Боттомли
От массспектрометров к контейнерам Игорь Штомпель позадавал вопросы Джеймсу Боттомли и выяснил, почему он в каждую презентацию вставляет слайд о том, кого игнорировать в списках рассылок, и почему считает работу мейнтейнера ядра работой админа. Джеймс Бот т омл и [James Bottomley] — технический ди Интервью рект ор прод укт ов серв ер ной вирт уализации Parallels, член совета Linux Foundation [Technical Advisory Board Member of Linux Foundation]. Linux Format: Когда и как вы впервые узнали про Linux? Джеймс Боттомли: Я заинт ер ес ов алс я UNIX довольно давно, точнее — в 1984 год у, когда мне было 18 лет. Тогда я был стажером в лаборато рии масс-спек т рометрии в Университете Нового Южного Уэльса в Австралии, и у нас не было воз можнос ти выводить на печать наши результ ат ы. У компьютера, который мы использова ли — PDP11 — не было порт а Centronix, а был только то чечно-матричный принтер. Так что мне пришлось разработать и сделать плат у Centronix для шины PDP, а затем написать драйвер и для RT-11, и для UNIX. UNIX меня тогда совершенно очаровал, по тому что с ним мог работать любой, а RT-11 позво лял использовать себя только пользователю, ко торый работал с ним с консоли. Позже, когда я защищал кандидатскую в Кем бридже, мы работ али с Sun SparcStations под X (на самом де ле исполь зов а ли старый Sun 3/50s как X-терминал). Когда впервые выш ла Windows 3.1, для меня это было как шаг назад к RT-11. Вперв ые серье зн о я заи нт ер ес ов алс я Linux в 1992‑м, почт и сразу же, как он появилс я, так как, чтобы допис ать кандид атскую по математи ке, мне нужн а был а только что выш едш ая сис тем а TeX. И над о было либ о дратьс я с друг ими студентами за ограниченное количество X-терми налов, либо найти свой собс твенный. Поскольк у TeX был бесплатным, он стал первой программой, 40 | LXF180 Февраль 2014
портированной в Linux, так что я установил 486 PC с Linux, чтобы запустить TeX. Воо бщ е я всегда исп оль з ов ал Linux на мо ем ПК (с 1993‑го), кроме пары недель в Bell Labs (где бы л а санк ц ион ир ов ан а тольк о Windows). Но там я так часто ломал свой Windows-десктоп, что сис админы соглас ились разр ешить мне ис пользовать Linux, если я перес тану им все время названивать.
LXF: Когда начали заниматься разработкой ядра Linux? Почему остановили свой профессиональ ный выбор на этой технологии? ДБ: Пос ле тог о, как я защ и т ил дисс ерт ац ию в 1993‑м, я на пару лет ост алс я в университете, присматривая друг ую вре’менную ставк у (это нуж но нау чному сотрудник у для получения пос тоян ной ставк и или дли т ельн ог о кон т рак т а). В этот период появился процессор Pentium, и мы обна руж или, что ПК на Pentium PC под Linux работ а ет с гораздо большей производительнос тью, чем SPARC, Alpha, MIPS и множес тво друг их систем, которые мы пок упа ли для вычислений, и при этом его цена сос тавляет примерно 1/10 от их стоимо сти. И он был цветным, что тогда не было так ши роко распространено на рынке UNIX. Я подсчитал, что если мы купим 10 систем Linux по цене одно го SPARC, то одну я смог у оставить себе. Так что я помог создать первую программу для их инстал ляции в рабочие места отделений по математике и физике. Одна из самых первых проб лем, с которыми мы столкн улись — это то, что домашняя дирек тория каж дого сотрудника была на большом NFSсервере, и при работе с NFS в Linux возникал баг, который зас тавлял процесс временами зависать. Я этот баг отследил и внес патч (прислал его Алану Коксу для ядра 1.0.2).
Где-то в это же время появились инс трумен ты для прои зводс т в а двоичных фай л ов в фор мат е ELF (вмес то прежн ег о объе ктн ог о форм а та UNIX — a.out) для Linux, и я закончил загрузчик мод уля ELF для ядра. Так я смог cкомпилировать и запустить первую систему, которая полнос тью была на ELF.
LXF: Помните ли свой первый патч для ядра? ДБ: О своем первом патче с NFS для 1.0.2 я уже рассказал выше. Это было в славные дни 0.99.15. А вот моя первая серье зная попытк а занять ся разработкой для ядра была уже в 1998‑м, ко гда я портировал Linux в систему Voyager SMP, пе репис ав слой аппаратного дост упа к x86, чтобы он мог работать без APIC.
LXF: Какие возникли сложности на вашем на чальном этапе работы с ядром Linux? Как проис ходило общение с другими разработчиками и Ли нусом Торвальдсом? ДБ: Списки рассылок — Mailing lists... те же са мые, что мы исп оль з уе м сейч ас, только тогда их объем был значительно меньше. Кажется, я от правил свой первый патч прямиком Алан у Кок су, но очень скоро узнал, что надо использовать списки. Я вот сейчас думаю, что это значит: либо инструмент списков рассылки невероятно гибкий и легко приспособилс я к том у, что происходило за 20 лет, либо мы самую чуточк у невосприимчи вы к новым технологиям. Вообще, сила и одновременно слабость совме стного процесс а разработк и в том, что учас тво вать в нем может каж д ый. Даже тот, у кого нет большого опыта (или да же просто здравого смыс ла). Чтобы люд и тебе поверили, ты прос то обя зан звучать весомо. Я иногда удивлялся количе ству некорректной информации, которая при этом