ДМИТРИЙ МОРОЗ
Сломленная, но не сдавшаяся: история операционной системы BeOS
«Взрыв сверхновой звезды» – именно так можно было охарактеризовать появление на рынке в 1996 году компьютера BeBox и операционной системы BeOS. Прошло время, и звезда постепенно угасла. Но, похоже, в скором времени настанет черёд повторного взрыва.
Прелюдия
Если покопаться в анналах мировой истории развития вычислительной техники и выудить из них компанию Apple, BeOS берёт своё начало именно с производителя «яблочных» компьютеров. Жана-Луи Гассе знает, наверное, практически каждый обладатель Macintosh (рис. 1). Человек, в одно время руководивший представительством Apple во Франции, благодаря своим успехам со временем занял должность начальника всех исследовательских и производственных подразделений компании. На его счету выпуск моделей Mac Plus, Macintosh II и Macintosh SE, снискавших большую популярность у покупателей.
|
Рисунок 1. Жан-Луи Гассе собственной
персоной
|
Но мало кто знает о секретных проектах, которыми руководил Гассе. Ими являлись Aquarius – процессор на базе RISC-архитектуры, и Jaguar – профессиональная рабочая станция. Именно второй проект нас и интересует.
Целью «Ягуара» являлось создание высокопроизводительной рабочей станции на основе RISC-процессора Motorola 88110. Стратегия «правого верхнего угла», согласно которой в недрах компании разрабатывались компьютеры с высокой производительностью и расширяемостью, обладавшие при этом такой же высокой ценой, была навязана Apple именно Жаном-Луи. Поэтому, когда один из инженеров компании, Хью Мартин, предложил предприимчивому французу создать сверхбыстрый компьютер на базе новой тогда RISC-архитектуры, тот сразу же согласился. Руководство Apple также не возражало, правда, поставило лишь одно условие – новый компьютер не должен стоить больше 8000 долларов.
Работа закипела. Благодаря невысокой цене чипа Motorola 88100 инженеры смогли установить в первые прототипы сразу четыре штуки. Платформа на новом процессоре требовала и новой операционной системы, поэтому группой из 80 программистов за пару месяцев была разработана новая ОС под кодовым названием Bojole, основанная на микроядре Mach. Созданное в недрах университета Карнеги-Меллона, оно было основано на исходных кодах операционной системы UNIX, и одно из немногих в то время обладало вытесняющей многозадачностью и поддерживало защищённый режим памяти.
Четыре процессора и быстрая операционная система позволили новому компьютеру ещё на стадии разработки свободно обрабатывать аудио- и видеоданные, а также трёхмерную графику, а встроенные стереодинамики и камера для проведения видео-конференций подняли возможности «Ягуара» на уровень графических рабочих станций, стоивших десятки тысяч долларов. По словам Хью Мартина: «Мы сделали полноценный мультимедийный компьютер, на годы опередивший своё время».
К сожалению, несовместимость новой операционной системы с программами для MacOS, а также возросшее до предела противоборство между командами разработчиков проекта «Ягуар» и оригинального Macintosh вынудили управляющего Apple Джона Скалли в июне 1990 г. закрыть сделанный на 50% проект.
Впоследствии Жан-Луи Гассе, дискредитировавший себя выпуском первого ноутбука компании Macintosh Portable, а также вступивший в личную борьбу со Скалли, был вынужден подать в отставку. Случилось это в середине 1990 года.
Гассе отправляется в свободное плавание
Уйдя из Apple, Гассе тем не менее не расстался с мыслью разрабатывать новые компьютеры. Однажды он встретился с Ирвином Гаулдом, управляющим Commodore Business Machines. По словам самого Гассе: «Он хотел, чтобы я возглавил отдел исследований и разработок компании Commodore Amiga (разрабатывавшей одноимённые компьютеры), но я сказал: «Нет, я уже проходил через это. Я хочу управлять компанией». Гаулд ответил, что у него уже имеется прекрасная кандидатура, что означало отказ. Тем не менее Жан-Луи извлёк из встречи некоторые идеи относительно компьютеров Amiga: «Я немного обиделся на мистера Гаулда и решил, что, возможно, я мог бы создать что-нибудь наподобие Amiga, только построенное на современной аппаратной базе. Кроме того, в отличие от высокомерной Commodore я бы лучше заботился о разработчиках программных продуктов». Таким образом, Гассе принял решение, за которое ему впоследствии будут благодарны миллионы людей, – он решил создать компьютер нового поколения самостоятельно.
По замыслу Гассе, его новинка должна была стать тем «мультимедийным монстром», на пост которого претендовал так и не состоявшийся проект «Ягуар». На воплощение новой идеи у француза имелись 1,7 млн. долларов, с которыми он ушёл из Apple. Чуть позже Гассе благодаря своим связям получил дополнительное 7-миллионное финансирование. Помощником Жана-Луи в организации собственной компании стал Кори Ван Арсдейл, на которого были возложены обязанности адвоката и главного менеджера.
Первым инженером, которого Гассе пригласил в свою, ещё в то время не названную, Be Inc., стал Стив Сакоман, один из бывших сотрудников Apple, «отец» проекта Newton, позже ставшего первым карманным персональным компьютером в мире.
Вначале Сакоман работал у себя дома. Буквально через несколько дней после начала воплощения идеи Гассе в жизнь, он разработал первый прототип компьютера, состоявший из текстолитовой платы, 20 МГц процессора Hobbit производства компании AT&T, оперативной памяти и последовательного порта. Позже Сакоман добавил второй процессор, флоппи-дисковод, жёсткий диск, дополнительные параллельные и последовательные порты, а также видеоадаптер, разработанный им самим.
Через некоторое время Гассе пригласил на работу троих программистов, двое из которых – Боб Герольд и Эрик Рингвальд – раньше работали в Apple (Боб работал над проектом «Newton», а Эрик – над «Ягуаром»). Третий программист, Бенуа Шиллингс, был приглашён Гассе и Сакоманом после впечатляющей демонстрации своих программ, которые он разрабатывал для MacOS.
В обязанности Боба Герольда входила отладка создаваемых Сакоманом прототипов, а также написание драйверов. Что же касается Эрика и Бенуа, они создавали для нового компьютера новую ОС.
Вообще-то вначале разработчики предложили Гассе купить либо лицензировать какую-нибудь из уже существующих «встраиваемых» операционных систем. К сожалению, ChorusOS, на которую пал взор из-за её заманчивых возможностей, оказалась слишком дорогой. Впоследствии Chorus Microsystems была куплена Sun Microsystems и стала основой JavaOS. Гассе и компания приняли окончательное решение – делать операционную систему своими силами.
На рубеже 1991-92 гг. Гассе наконец-то принял решение дать своей крошечной компании имя. Изначально он планировал назвать её United Technoids, но, по словам Стива Сакомана: «От этого названия веяло чем-то мрачновато-извращённым, и я предложил Жану-Луи на выходных поискать какое-нибудь более подходящее название». В понедельник, когда Гассе спросил Сакомана, что тот нашёл, Стив ответил, что пока дошёл лишь до буквы «В». «Что же, пусть будет «Be», – решил Гассе. Так компания и обзавелась своим «пчелиным» именем.
Кроме того, вместе со становлением Be Inc. в качестве полноценной компании было принято решение об аренде небольшого офиса, который располагался в Менло Парке, штат Калифорния, – недалеко от зданий Apple Computer.
Шёл 1992 год. Работа над BeBox продолжалась. Стив Сакоман последовательно добавил в прототипы компьютера звуковую плату, встроенный модем, а также три цифровых сигнальный процессора (DSP) производства AT&T, которые должны были отвечать за обработку звуковых и видеоданных.
Не отставала от BeBox и его операционная система. В конце 1991 года Гассе нанял на работу Сирила Меуриллона, начавшего работу над ядром для BeOS. В это же время на сцене Be Inc. появился Доминик Джиамполо, автор знаменитой файловой системы BeOS. Бенуа Шиллингс, работая совместно с ним, написал первую версию графической подсистемы BeOS, которая затем превратилась в главную часть ОС – сервер App Server. 1993 год ознаменовался выходом первой тестовой версии ОС (также известной как DR1) (рис. 2).
Рисунок 2. Одна из ранних версий BeOS для BeBox на базе процессоров Hobbit
Уже в 1994 году появилась версия DR2, в которой было исправлено множество ошибок, а также добавлены поддержка SCSI-дисков и GeekPort – специального порта BeBox, предназначенного для энтузиастов-программистов. Кроме того, система обзавелась первыми средствами разработки приложений.
BeOS под микроскопом
Теперь сделаем небольшую остановку и рассмотрим подробнее особенности BeOS, а также её достоинства по сравнению с конкурентами:
- BeOS построена на микроядерной архитектуре. ОС состоит из микроядра, а также различных серверов, каждый из которых отвечает за выполнение определённых функций.
- Интерфейс программирования приложений (API) у BeOS основан на объектно-ориентированном дизайне вместо процедурно-ориентированного. Благодаря такому подходу программисты могут свободно использовать части кода в различных программах, что позволяет значительно ускорить процесс их создания.
- Вытесняющая многозадачность. В большинстве операционных систем каждый процесс управляется менеджером процессов. Чем больше процессов находится под командой менеджера, тем менее быстрой и стабильной становится система. В многопоточных системах каждый процесс создаёт свои собственные процессы, выполняющие строго определённые функции, тем самым значительно разгружая менеджер. Например, в BeOS каждое открытое окно создаёт два новых процесса: клиентский и серверный. Первый процесс получает и обрабатывает пользовательские события, такие как: нажатия клавиш, движение мыши и т. д., тогда как второй – занимается обработкой задач, связанных непосредственно с самим окном.
- Симметричная многопроцессорная обработка (SMP). Потоки могут использовать несколько чипов, установленных в компьютере (поддерживается до 8 процессоров), «перепрыгивая» с процессора на процессор в зависимости от их загруженности. Для примера: во время загрузки ОС один процессор отвечает за поиск приводов в компьютере, второй отображает на экране логотип операционной системы. Благодаря такому подходу прирост производительности BeOS, работающей на многопроцессорной системе, по сравнению с однопроцессорной стремится к 80-100%.
- Ориентация на обработку мультимедийных и коммуникационных задач. Многопоточный дизайн BeOS, а также низкая латентность системы позволяют ей легко справляться с аудио- и видеоданными, а также трёхмерной графикой. BeOS автоматически задаёт различные приоритеты выполняющимся в «реальном режиме» процессам, таким как запись видео или его воспроизведение.
- 64-разрядная файловая система BFS поддерживает жёсткие диски объёмом до нескольких терабайт и благодаря журналированию транзикаций предотвращает потерю данных.
Выход на финишную прямую
В 1994 году для BeBox пришлось искать новую платформу, поскольку процессоры Hobbit прекратили своё существование. Apple использовала Hobbit в первых прототипах проекта Newton. Когда же инженеры компании совместно с Acorn создали новую архитектуру ARM-процессоров, Hobbit стал не нужен. В результате летом 1994 года AT&T, не получив дальнейшего финансирования от Apple, отказалась продолжать разработку чипов Hobbit и окончательно ушла с рынка процессоростроения.
В поиске нового чипа для BeBox выбор инженеров Be Inc. пал на процессор PowerPC: новый, но уже достаточно разрекламированный компаниями Apple, IBM и Motorola продукт. Имея меньшую стоимость, чем у процессора Hobbit, PowerPC обладал лучшей архитектурой (комбинация серверного чипа IBM POWER и шины Motorola 88110) и производительностью. А предложил Be Inc. использовать PowerPC инженер Apple Джо Палмер, впоследствии ставший «отцом» нового BeBox.
Палмер в то время заканчивал разрабатывать Macintosh Quadra 660AV в Apple. Он хотел, чтобы независимые компании начали использовать стандарт PReP (PowerPC Reference Platform – связанная с PowerPC платформа), разработанный IBM, Apple и Motorola, поэтому решил встретиться по этому поводу с Жаном-Луи Гассе. Как раз в то время AT&T приостановила разработку процессоров Hobbit, поэтому Палмер предложил Be Inc. использовать новый PowerPC. «На внезапное предложение Жана-Луи помочь им в разработке компьютера на базе нового чипа я с радостью согласился», – вспоминает он.
Таким образом, BeBox обзавёлся новым «сердцем», вернее, двумя. Первые версии BeBox содержали пять процессоров – два Hobbit-чипа и три DSP. Для того чтобы компьютер можно было без проблем перенести на новую архитектуру, инженер Глен Адлер добавил в старые прототипы плату с ещё двумя процессорами PowerPC, доведя, таким образом, общее количество чипов в системе до семи штук. Позднее, когда программисты Be Inc. перенесли основной код BeOS на новую архитектуру, старые процессоры и DSP окончательно канули в Лету (рис. 3).
Рисунок 3. Внешний вид BeBox
Позже новый инженер Be Inc., Джосеф Палмер, в одиночку занялся доводкой BeBox до финального состояния. Им была разработана материнская плата, основанная на спецификации PReP. В то же самое время, изза недостатка средств, Палмеру пришлось использовать стандартную подсистему ввода/вывода, аналогичную той, что была на обычных персональных компьютерах из мира Windows.
С «лёгкого языка» Джо Палмера BeBox обзавелась своим названием. Вот что он сказал по этому поводу в одном из интервью: «Первые прототипы компьютера на базе процессоров Hobbit и DSP-чипов назывались просто Be-1. Когда пришёл черёд PowerPC, машины именовались Be-2, или BeBox. Со временем второе название прочно прилипло к нашим прототипам, вследствие чего стало основным и единственным».
Триумф BeBox
Конец 1994 года мог стать концом компании Be Inc: 9 миллионов долларов компании иссякли, а разработка компьютера только подходила к своему завершению. Ещё минимум год ушёл бы на то, чтобы довести «до ума» операционную систему. Жан-Луи Гассе принял решение найти для компании нового владельца. Его взор обратился к бывшему работодателю – Apple. В недрах «яблочной» компании в то время разрабатывалась операционная система под кодовым названием Copland, призванная заменить стремительно устаревающую MacOS 7.x.
«Финансовых средств у нас не осталось, и мне пришлось пригласить на встречу руководителя Apple Майкла Шпиндлера, чтобы поговорить с ним о возможности покупки Be Inc.», – вспоминает Гассе. К сожалению, встреча закончилась, не принеся никакого результата. Но Гассе никогда не забудет слов, произнесённых Шпиндлером на прощание: «Тебе, наверное, спится лучше, чем мне». «Я помню этот момент, поскольку Шпиндлер всегда очень хорошо предчувствовал опасность», – говорит Гассе. Apple была на краю пропасти: проект Copland разросся до невероятных размеров и превратился в «неповоротливый Титаник», готовый в любую минуту пойти ко дну от внезапного столкновения с айсбергом.
Неудача попытки продажи Be Inc. заставила Гассе готовиться к единственному выходу – публичной демонстрации BeBox потенциальным инвесторам в надежде привлечь хоть какие-нибудь денежные средства для продолжения проекта. Данное событие должно было состояться на выставке Agenta’95.
Специально для будущей выставки Стив Сакоман подготовил презентацию, демонстрировавшую обработку на BeBox восьми AVI-видеофайлов и трёхмерной графики (Жан-Луи Гассе хотел лицензировать у Apple технологию QuickTime, но цена в 5 млн. долларов оказалась для Be Inc., ещё не выбравшейся из «долговой ямы», просто непомерной). Всё это работало одновременно и без какого-либо торможения.
Один из журналистов, присутствовавших в тот памятный день на выставке Agenta’95, позже назвал BeBox «суперкомпьютером в компактном корпусе ПК» (вспомните, какая компания в 1999 году придаст своему компьютеру приставку «супер»). Два процессора PowerPC 603e, несмотря на свои 66 Мгц, помогали BeBox демонстрировать производительность на уровне рабочих станций IBM RS/6000, стоивших десятки тысяч долларов. Возможность установки до 256 Мбайт ОЗУ в обычный ПК в 1995 году была также чем-то нереальным. А уж 26 различных портов ввода/вывода, располагавшихся на задней стенке компьютера, делали из компьютера Be Inc. поистине «чудо». Чего уж говорить об операционной системе, о возможностях которой было написано выше. Зрители были в шоке от демонстрации BeBox. А довольно низкая цена в 1995 у.е., как для системы, демонстрирующей подобный уровень производительности и возможности, стала «последним гвоздём». Многотысячная аудитория, присутствовавшая в зале, устроила Жану-Луи Гассе овацию. Это был его день, день всей команды Be Inc., и, конечно же, триумф BeBox и BeOS.
Удержаться на волне успеха
Выставка Agenta’95 принесла Be Inc. дополнительные инвестиции на сумму 6 млн. долл. (одним из инвесторов стал известный разработчик суперкомпьютеров Сеймур Крей), которые позволили компании доработать BeBox до состояния полной готовности и 3 октября начать отгружать компьютеры первым заказчикам. В то же время работа над совершенствованием BeOS продолжалась.
До апреля 1996 года компанией было выпущено семь тестовых версий системы (так называемые Development Release), каждая из которых добавляла в ОС новые возможности, а также улучшала уже существующие. Та же BeOS DR7 могла «похвастаться»: поддержкой 32-битного цвета, новой файловой системой BFS, виртуальными Рабочими столами, а также улучшенными сетевыми возможностями.
По словам Жана-Луи Гассе, вначале BeOS необходимо было набрать минимальную «критическую массу» программ, для чего компьютеры BeBox попадали, в основном, в руки программистов, поражённых демонстрацией возможностей компьютера и ОС и желающих начать разрабатывать для неё новое ПО. Кроме того, Be Inc. воплотила в жизнь новую концепцию продаж программного обеспечения: вместо того, чтобы раскошеливаться на рекламу, компании, а также программисты-одиночки предлагали потенциальным покупателям демо-версии своих программ, размещённых на специально созданном Be Inc. сайте BeDepot.com. Если пользователю понравилась демо-версия, он мог при помощи обычного телефона заказать себе полную версию. Кстати, многие компании-разработчики ПО для BeOS (например, та же BeatWare) «вышли в свет» именно благодаря такой системе продаж.
В начале 1996 года производство BeBox, вследствие иссякших в очередной раз денежных средств, было приостановлено. Компания была на грани банкротства. Тем не менее на волне бума, поднятого демонстрацией компьютера на Agenta’95, быстро нашлись новые инвесторы и, после 14миллионного «вливания» в активы компании, процесс производства был возобновлён.
Следующей целью Жана-Луи Гассе стала выставка MacWorld Expo, проходившая летом 1996 года. Официально Be Inc., кстати, запрещалось присутствовать на выставке, поскольку её продукция никаким образом не была связана с Apple. Тем не менее 6 августа 1996 года тысячи людей столпились возле стенда компании: на нём демонстрировалась BeOS, работавшая на компьютере Power Macintosh. Зрители были в шоке: то, чего все уже который год ждали от Copland (главным образом, вытесняющую многозадачность и защищённый режим памяти), уже было воплощено в BeOS и работало на их компьютерах! Кроме того, ОС также работала на клонах Macintosh, производившихся компанией Power Computing. Mac-версия операционной системы от Be Inc. произвела очередной фурор.
Но мало кто знает, что предназначалась эта версия ОС для другой цели – демонстрации Apple возможности работы BeOS на компьютерах Power Macintosh. Да-да, теперь Apple первой предложила Гассе купить его компанию. Правда, запрошенная им цена в 300 млн. долл. показалась «яблочной» компании слишком большой (она предлагала Be Inc. «лишь» 100 млн. долл.), поэтому переговоры, длившиеся на протяжении полугода, ни к чему не привели.
Тем не менее, убедившись в полном крахе проекта Copland, в 1997 году, после покупки за 430 млн. долл. Стива Джобса и его компании NeXT Inc., Apple объявит о начале разработки новой операционной системы под кодовым названием Rhapsody на базе ОС NEXTSTEP.
5 августа 1996 года из недр Be Inc. вышли сразу два новых продукта. Первым из них был новый BeBox, в основу которого были положены те же PowerPC 603e, работавшие, правда, на частоте 133 МГц. Также был немного изменён цвет корпуса. В остальном новый компьютер полностью копировал своего старшего собрата, правда, стоил уже 2995 у.е.
Вместе с новым BeBox свет увидела и новая версия BeOS, DR8 (рис. 4). Из улучшений стоит отметить появившуюся библиотеку 3D Kit, позволявшую разработчикам наделить свои приложения интерактивной трёхмерной графикой; библиотеку Game Kit, обеспечивавшую прямой доступ к графическому адаптеру компьютера; встроенную в файловую систему возможность работы с электронной почтой; новый веб-браузер NetPositive; новые элементы графического интерфейса, а также расширенную поддержку аппаратного обеспечения: более ёмкие винчестеры, устройства для порта GeekPort, а также джойстики.
Дабы довести число анонсов за день до заветной цифры «3», Be Inc. 5 августа выпустила пресс-релиз, в котором объявила о лицензировании у Silicon Graphics Inc. графического API OpenGL, а также планах по его интеграции в BeOS.
Рисунок 4. BeOS DR 8 для BeBox на базе процессоров PowerPC
Параллельно с развитием BeBox Гассе налаживал отношения с производителями Mac-клонов, дабы те поставляли BeOS со своими компьютерами. 26 ноября 1996 года Power Computing стала первой компанией, лицензировавшей BeOS. В скором времени за ней последовали DayStar, Motorola и UMAX.
Наполеоновским планам Жана-Луи Гассе продать в 1996 году 10 тысяч, а в 1997-м – 100 тысяч BeBox не суждено было сбыться. К тому же лицензирование BeOS производителям клонов Macintosh имело значительно больший интерес для компании, вследствие чего продвижением собственных компьютеров Be Inc. практически не занималась.
В Интернете можно найти фотографии прототипа четырёхпроцессорного BeBox, создававшегося в 1996 году, но так и не доведённого до конца. По словам Джо Палмера, причин, послуживших приостановлению разработки, всего две. Первая: альянс AIM (Apple, IBM, Motorola) забросил дальнейшее развитие PowerPC 604 в пользу нового PowerPC 750 (известного также как G3), не предназначенного для использования в многопроцессорных конфигурациях. Вторая: у Be Inc. возникли трудности с получением различной информации относительно архитектуры чипов из недр AIM, за что стоит сказать отдельное «спасибо» Apple.
В результате разработка четырёхпроцессорного BeBox затянулась. Поскольку в то время наибольшее внимание публики было уделено работе BeOS на компьютерах Power Macintosh и его клонах, Be Inc. 30 января 1997 года объявила о прекращении выпуска собственных компьютеров и концентрации исключительно на дальнейшем совершенствовании операционной системы.
Специально для Mac-клонов Be Inc. выпустила BeOS Preview Release 1 и 2, ставшие первыми «публичными» версиями операционной системы.
Так, PR1 принёс в BeOS обновлённую файловую систему BFS, ставшую 64-разрядной, программный режим ускорения OpenGL, новую интерфейсную оболочку под названием Tracker. На долю PR2 можно записать: обновлённый Tracker, улучшенный стек TCP/IP, а также расширенный листинг поддерживаемого аппаратного обеспечения.
На конференции BeDevCon, проходившей в начале мая 1997 года и ознаменовавшейся выходом BeOS PR1, Эрик Рингвальд также объявил о планах компании интегрировать виртуальную машину Java в первую полноценную версию BeOS (v 3.0), выход которой был намечен на весну 1998 года. В то же время компания Metrowerks пообещала дальнейшее улучшение Java в своём пакете для разработки CodeWarrior.
Дела у Be Inc. шли довольно неплохо: более 500.000 распространённых копий BeOS, налаженные партнёрские отношения с производителями клонов Macintosh, увеличивающееся с каждым днём количество разработчиков ПО для операционной системы (на момент выпуска BeOS PR2 – 4400), а также появление первых «серьёзных» программ, таких как: VirtualMac (эмулятор MacOS 7.x), BeatBox (музыкальный редактор), LRDraw (графический векторный редактор), Be Basics (текстовый процессор и редактор электронных страниц)…
Не жди беды, она сама к тебе придёт. Через некоторое время после того, как Apple приобрела NeXT Inc., Джил Амелио, сместивший Майкла Шпиндлера с поста управляющего компанией в начале 1996 года, был отправлен в отставку, а его место занял Стив Джобс, назначенный «временным» управляющим.
Буквально сразу же после этого Джобс приостановил производство КПК Newton, а также за пару месяцев «сдал в утиль» практически весь рынок производителей клонов Macintosh, аннулировав либо принудительно выкупив их лицензии. Be Inc., оставшись без партнёрской поддержки, а также их компьютеров, очутилась в облике «наездника без коня». Жану-Луи Гассе пришлось искать выход из сложившейся ситуации. Результат не заставил себя ждать.