Шрифт:
Но Transmeta выпускает не просто железо. И это очень хорошо, потому что, честно говоря, я в упор не отличаю транзистор от диода. Transmeta делает простоежелезо, которое опирается на хитрое ПО, так что элементарный ЦП прикидывается гораздо более сложным – например, стандартным Intel-совместимым х8б. А чем меньше и проще становится железо, тем меньше транзисторов содержит ЦП, а следовательно, он потребляет меньше энергии – что, как всем понятно, становится все важнее в нашем мобильном мире. Из-за своего хитрого ПО Transmeta нужна большая команда программистов, и я в том числе.
Меня все это очень устраивает. Transmeta, во-первых, не специализируется на Linux, а во-вторых, занимается интересными техническими штучками (и это еще слабо сказано: я до сих пор не слышал о другой компании, которая бы всерьез попыталась сделать что-то похожее). Причем в области, которую я знаю досконально: низкоуровневое программирование совершенно специфического семейства процессоров 80x86. Как вы наверняка помните, я затеял разработку Linux в первую очередь для того, чтобы разобраться в процессоре своего первого PC.
То, что Transmeta не была Linux-компанией, тоже было для меня очень важно. Поймите меня правильно: мне нравилось решать проблемы Transmeta с Linux и участвовать во внутренних проектах на базе Linux. (Сейчас, пожалуй, невозможно найти серьезную технологическую компанию, в которой не было бы таких проектов.) Но Linux для Transmeta была на втором плане – именно к этому я и стремился. Я мог продолжать работать над Linux, но при этом мне не приходилось идти на технические компромиссы в интересах компании и в ущерб самой Linux. Я мог по-прежнему рассматривать Linux как хобби, руководствуясь в своих решениях только стремлением к техническому совершенству.
Итак, днем я работал в Transmeta. Я писал и обслуживал интерпретатор х86, который мы и сегодня используем (хотя обслуживают его теперь другие). Интерпретатор по существу является составной частью программного обеспечения Transmeta: его задача брать команды Intel одну за другой и выполнять их (т.е. покомандно интерпретировать язык архитектуры 80x86). Позже я занялся другими вещами, но тогда я впервые столкнулся со странным и восхитительным миром эмуляции аппаратных средств.
По ночам я спал.
Мое соглашение с Transmeta было недвусмысленным: я имел право заниматься Linux даже в рабочие часы. И поверьте: я полностью этим правом пользовался.
Многие люди готовы подолгу работать в две, три или даже четыре смены. Ко мне это не относится. Ни Transmeta, ни Linux никогда не могли помешать мне хорошенько выспаться ночью. По правде сказать, я вообще большой фанат сна. Некоторые думают, что это просто лень, но я готов забросать их подушками. У меня есть совершенно неотразимый аргумент, и тут меня не собьешь: если спать, например, по десять часов в сутки, то можно потерять на этом несколько рабочих часов, но зато во время бодрствованиявы будете в форме и ваш мозг будет работать на полную катушку. А то и на две.
IV.
Добро пожаловать в Кремниевую Долину. В этой странной галактике мне сразу пришлось столкнуться со звездами.
Я получил мейл от секретаря Стива Джобса о том, что тот будет рад со мной встретиться, если я смогу уделить ему час-другой. Я ответил: конечно, хотя и не понимал, к чему бы это.
Встреча состоялась в штаб-квартире Apple в аллее Бесконечного цикла. Меня встретили Джобе и его главный технарь Эви Теванян. В то время Apple как раз начала работать над OS X, операционной системой на базе Unix, которую им удалось закончить только к сентябрю 2000-го. Встреча проходила неформально. Сначала Джобе пытался меня уверить, будто в области настольных компьютеров есть всего два игрока: Microsoft и Apple, и что для Linux, будет лучше всего, если я подамся в Apple и привлеку сообщество, работающее с открытыми исходниками, к созданию Mac OS X.
Я продолжал разговор, потому что мне хотелось побольше узнать об их новой операционной системе. В ее основе лежит микроядро Mach, разработанное в Университете Карнеги– Меллона. В середине 90-х ожидалось, что Mach станет венцом операционных систем, и многие им интересовались. На самом деле IBM и Apple использовали Mach как основу своей злополучной совместной операционной системы Taligent.
Джобе особо упирал на то, что низкоуровневое ядро Mach является открытым. Тут он несколько блефовал: какой толк от того, что базовая операционная система – слой нижнего уровня – открыта, если над ней лежит Mac-уровень и он закрыт?
Понятно, Джобе не знал, что сам я невысокого мнения о микроядре Mach. Если честно, я считаю его полной мурой. Оно содержит все конструктивные ошибки, какие только можно придумать, и еще некоторые сверх того. Одним из аргументов против микроядер всегда была их низкая производительность. Поэтому существовало множество исследований для определения того, как заставить микроядро по-настоящему хорошо работать. Все полученные рекомендации были воплощены в Mach. В результате получилась очень сложная система со своими собственными законами. Но она все равнобыла не слишком эффективной.