>1. МИКРОЯДРО ИЛИ МОНОЛИТ
Да, linux – монолитная система, и я согласен, что микроядро лучше. Если бы у вашего сообщения не был такой спорный заголовок, я бы, вероятно, согласился с большинством ваших высказываний. С теоретической (и эстетической) точки зрения linux проигрывает. Если бы ядро GNU было готово прошлой весной, я бы и не взялся за свою разработку: беда в том, что оно не было готово тогда и не готово до сих пор. Linux выигрывает прежде всего потому, что она уже готова.
>MINIX – система с микроядром [пропущено, но без >потери смысла]. LINUX – монолитная система.
Если бы это было единственным критерием качества ядра, вы были бы правы. Однако вы не пишете о том, что микроядро в minix сделано плохо и возникают проблемы с многозадачностью (в ядре). Если бы я сделал ОС, у файловой системы которой были бы проблемы с многозадачностью, я бы не стал так поспешно осуждать других: наоборот, я бы из кожи вон лез, чтобы все забыли о моем провале. Да, я знаю, что для minix есть масса заплаток, обеспечивающих многопоточную работу, но это лишь заплатки, и Брюс Эванс говорит, что все равно остается множество проблем синхронизации.
>2. ПЕРЕНОСИМОСТЬ
«Переносимость нужна людям, которые не умеют писать новые программы» – это я только что придумал. В шутку.
На самом деле linux легче переносится, чем minix. Что? – слышу я ваш возглас. Это верно, но не в том смысле, какой имеет в виду ast: я сделал linux в максимальном соответствии со стандартами (хотя у меня перед глазами не было стандарта POSIX). Перенос программ в linux обычно гораздо проще, чем перенос их в minix. Я согласен, что переносимость – хорошее дело, но только если она имеет реальный смысл. Нет причин делать операционную систему полностью переносимой: достаточно, чтобы она была согласована с переносимым API. Основная идея операционной системы заключается в том, чтобы воспользоваться аппаратными возможностями, спрятав их под слоем обращений высокого уровня. Именно это и делает linux: она просто использует больше возможностей 386, чем другие ядра. В результате само ядро, конечно, становится не переносимым, но зато существенно упрощается архитектура. Вполне приемлемый компромисс, который и сделал возможным появление linux. Я согласен, что в linux машинная зависимость доведена до предела: я купил себе 386-й в январе прошлого года и занялся linux отчасти для того, чтобы его изучить. Многие вещи нужно было бы сделать более машинно-независимыми, если бы это был настоящий проект. Но я не особенно оправдываюсь: это было конструктивное решение, и когда в апреле прошлого года я начинал писать linux, то не думал, что программой захочет воспользоваться кто-то другой. К счастью, я ошибся, а поскольку мои исходники всем доступны, каждый может попробовать перенести ее, хотя это будет и непросто.
Линус
PS> Прошу прощения за слишком резкие высказывания: minix – неплохая система, если нет ничего другого. Amoeba, может быть, неплоха, если у вас валяется 5–10 лишних 386-х, но у меня их нет. Обычно я не вступаю в перепалки, но linux – мое больное место:)
В этой переписке (одной из немногих виртуальных ссор, в которых я участвовал) было еще несколько обменов репликами. Однако основную идею вы уже уловили: у системы с самого начала были противники. (А может быть, основная идея в другом: будьте осторожны, выступая на электронном форуме. Все ваши опечатки и ошибки останутся с вами навсегда.)
* * *Оставив родных и друзей на стоянке, мы с Линусом отправляемся в поход вдоль ручья. Наш лагерь расположился в парке «Гровер-Хот-Спрингс» в восточной части Сьерра-Невады. Дело происходит в выходные по случаю Дня независимости (4 июля). Место настолько живописное, что кажется картинкой из географического журнала «National Geographic». «Это момент для „Кодака“», – провозглашает Линус, окидывая взглядом заросший полевыми цветами луг и суровые скалы на заднем плане. Мы усаживаемся возле ручья, и я прошу его рассказать о том времени, когда чары Linux стали распространяться далеко за пределы исходного сообщества участников телеконференции, с некоторыми из которых Линус даже встречался.
«Вот было классно, наверное, – говорю я. – Столько лет ты сидел без всякой связи с внешним миром, с головой погрузившись в процессор. И вдруг люди из разных уголков планеты признают, что ты занимаешься важным делом. Ты становишься центром растущего сообщества, которое смотрит на тебя, как на…»
«Не помню, чтоб это для меня много значило, – отвечает Линус. – Вряд ли. Я все время об этом думал, но в основном потому, что постоянно возникали проблемы, требовавшие разрешения. Думал-то я много, но без особых эмоций. Мне нравилось, что множество людей подталкивают меня к продолжению работы. Я думал, что конец уже виден – момент, когда практически все будет готово. Но этот момент все не наступал, потому что мне подкидывали все новые стимулы и новые проблемы.
Поэтому работать было интересно. Иначе я бы, наверное, занялся чем-то другим, потому что мне нравилось работать именно так. А эмоций у меня больше вызывал мой нос или еще что-нибудь в этом роде».
Через несколько недель мы бродим по Стенфордскому торговому центру, где Линус выбирает себе кроссовки, поражаясь их разнообразию. «Сколько миль в неделю вы обычно пробегаете?» – спрашивает его продавец. Линус улыбается – за последние десять лет он не пробежал и мили. Физкультура не входила в сферу его приоритетов. Но в минуты слабости Линус признается, что хотел бы избавиться от лишнего веса.
«Это, наверное, Туве попросила тебя помочь мне сбавить вес», – шутит он, поглаживая свой животик.
«Передай ей, что на этой неделе я еще не получил от нее чека», – откликаюсь я.
Вскоре мы начинаем кружить по Стенфордскому городку в поисках места для стоянки. Примерно через полчаса нам удается втиснуть свой автомобиль. После небольшой разминки мы принимаемся бежать по грязным тропинкам вдоль высохшего озера в глубь леса к нашей цели – огромной спутниковой тарелке на холме. Нам так и не удается ее достичь. Я беру слишком высокий темп и с удивлением отмечаю, что километра полтора Линус умудряется бежать прямо за мной. После этого он теряет дыхание. Через несколько минут мы растягиваемся на траве возле озера.
«А как реагировала твоя семья на происходящее с Linux? – спрашиваю я. – Они, наверное, пришли в восторг».
«Вряд ли они что-то заметили, – отвечает он. – Я не хочу сказать, что никому не было дела. Просто я почти всю свою жизнь программировал, для них-то ничего не изменилось».
«Разве ты им ничего не сказал? Например, отец тебя куда-то везет, а ты ему и говоришь, как бы между прочим: помнишь, я все возился с этой компьютерной штукой? Так ей теперь пользуются сотни людей…»
«Нет, – отвечает он. – У меня просто не было потребности обсуждать это с родными и друзьями. Мне никогда не приходило в голову навязываться с этим. Помню, примерно в то время, когда я писал Linux, Ларс Вирцениус собрался купить XENIX – версию Unix, разработанную SCO. Он тогда пытался извиняться: „Пойми меня правильно“, но меня это не трогало. Он потом перешел на Linux, но для меня это не имело особого значения. Мне нравилось, что люди ей пользуются и присылают мне свои отзывы, но в то же время это было не так уж важно. Я не стремился пропагандировать ее. Я гордился, что люди используют мою программу, но не помню, чтобы мне хотелось об этом рассказывать. Мне не казалось, что это самое важное дело на свете. То, что программой пользовались сотни людей, не придавало ей особого веса в моих глазах. Я просто развлекался. У меня и сейчас такой же настрой».
«И тебе не хотелось рассказать об этом родным и друзьям? Тебя не волновало то, что происходит?» – спросил я, не скрывая недоверия.
Прежде чем ответить, он несколько секунд молчит.
«Не помню, чтоб я вообще тогда что-то чувствовал».
Линус покупает новую машину – двухместный «BMW-Z3» с откидывающимся верхом, который, по его словам, просто олицетворяет «развлечение». Он выбрал голубой металлик – идеальный цвет для игрушечных машин – потому что эта модель не бывает его любимого – ярко-желтого – цвета. Желтые «BMW», объясняет он, имеют цвет мочи. Годами он парковал свой «Понтиак» как можно ближе ко входу в штаб-квартиру Transmeta в деловом центре Санта-Клары. Но «BMW» стоит под окном его кабинета якобы для того, чтобы он был в тени. Теперь, сидя за компьютером, Линус может любоваться своим новым автомобилем.