Неписи
Виват, Be!
Александр Звозин
"...новый поворот. Что он нам несет?"
Известная и любимая рок-группа
Заставка: "В октябре 1995 года на конференции "Agenda-96" калифорнийская компания Be Inc. представила новую аппаратную платформу Be и разработанную специально для нее операционную систему BeOS..."
Комментарий за кадром: "...в финале презентации зал аплодировал стоя".
Жан-Луи Гассе (Jean-Louis Gassee), президент Be Inc., был просто счастлив: ведь Be и BeOS стали результатом пяти лет упорнейшего труда без малейшей уверенности в успехе, практически на голом энтузиазме. Закон мира персональных машин и рабочих станций давно всем известен: "Компьютеры приходят и уходят, a PC остается незыблем". Сколько перспективных направлений, не выдержавших конкуренции, было закрыто со времен появления IBM PC – не счесть. Только вспомните NeXT – аж слезы на глаза от обиды наворачиваются. Создать в этих условиях еще одну платформу? Да это же чистое сумасшествие!
И тем не менее Be Inc. во главе с Жаном-Луи Гассе сделала это, и сделала достойно. Компания Apple Computer, видимо, так и останется в веках основным центром по подготовке менеджеров-диверсантов для заброски в мир PC. Сначала сами Джобе и Возняк создали сильнейшего на сегодня конкурента платформе IBM PC, затем покинувший Apple Джобс предпринял еще одну красивую, но, к сожалению, неудачную попытку, а сейчас бывший "эппловец" Гассе начинает очередную атаку в войне с монополией PC.

Гассе пришел в Apple 1980 году, став в 1982 году основателем и первым исполнительным директором Apple France, а затем за пять лет, с 1985 по 1990 годы, прошел по всей лестнице менеджмента разработок: от вице-президента по разработке software до старшего вице-президента, руководителя отделения PR&DM (Product, R&D, Manufacturing). И в 1990 году он по неизвестным причинам (вполне возможно, что и идеологическим) покинул Apple, основав собственную компанию Be Inc.
За прошедшие пять лет, в течение которых о нем ничего не было слышно, Жан-Луи был практически списан со счетов на стратегическом рынке персональных вычислений, но "Agenda-96" очень хорошо показала, что увольнять Гассе в запас явно поторопились. Второй раз за всю историю проведения этой конференции зал аплодировал стоя: расчет на ошеломляющее воздействие дерзкого решения однозначно оправдался.
В то же время своему первому успеху ВеВох обязана не только дерзости Гассе, но и высочайшему техническому совершенству решений, заложенных в эту платформу. Девизом Be Inc. стали слова: "Преодолевая ограничения сегодняшних компьютерных технологий" – и под этим лозунгом была создана платформа, впитавшая в себя самые прогрессивные идеи в области архитектуры вычислительных систем класса рабочих станций. (При этом цена хорошо "экипированных" рабочих станций Be предполагается в районе 2500 долларов.)
Менеджер со стажем, Гассе прекрасно осознавал степень риска, на который он шел, ввязываясь в конкуренцию с "голой" аппаратной платформой на руках, тем более что для разработки приложений для этой платформы требовался (и все еще требуется) PowerMac. Однако, согласно его собственным словам, он очень внимательно изучил ошибки своих предшественников – в частности Стива Джобса, которому не хватило сил поднять со дна РС-болота слишком прогрессивный NeXT – и сделал все возможное, чтобы избежать их повторения
Фирма Be проводит активнейшую политику поддержки разработчиков приложений, приглашая к сотрудничеству все компании и всех специалистов, которые создали хотя бы одно коммерческое приложение. Аппаратные и программные спецификации Be также полностью открыты для лицензирования (с учетом печального урока Apple), и всякий желающий может купить какую-то часть новой технологии А так как успех нового продукта сильно зависит от того, как его будут продавать, Be разработала очень необычный способ продаж, исключающий участие каких-либо посредников: компания собирает телефоны и адреса в Internet абсолютно всех своих клиентов и готова предоставить эту информацию по первому требованию бизнес-партнера; таким образом число звеньев цепи "производитель-покупатель" уменьшается до нуля, что существенно снижает конечную стоимость продукта. И, конечно же, основным ключом к возможному успеху Be является архитектура ВеВох и BeOS Давайте коротко ознакомимся с решениями, заложенными в Be.
"Хардварь"
Первый ВеВох построен на двух процессорах PowerPC 603 66 МГц. В дальнейшем Be Inc. планирует создание 4- и 8-процессорных систем, а также повышение мощности процессоров путем перехода на PowerPC 604 и даже PowerPC 620. В ответ на вопрос, почему в первом ВеВох компания решила применить относительно маломощный процессор на 66 МГц, Жан Луи Гассе ответил, что применение мультипоточной обработки гораздо в большей степени, нежели наращивание мощности процессоров, увеличивает производительность системы.
Материнская плата Be двушинна – PCI 33 МГц и ISA 16 МГц связаны на ней через микросхему i82378 PCI в этом случае является основной шиной расширения, предназначенной для подключения карт с высокой плотностью потока данных, a ISA внесена в конструкцию для поддержки огромного зоопарка медленных плат, созданных под эту шину и не требующих мощностей PCI (модемы, звуковые карты и т.д.). Применена 72-пинная SIMM-память со временем доступа 60 не, организованная в банки по 2 SIMM, и Flash BIOS емкостью 128 Кбайт На шине PCI находятся два интерфейса SCSI, внутренний и внешний Fast-SCSI-2, а также три слота расширения; контроллером SCSI является микросхема NCR 53С810. На шине ISA находятся DART 16550, играющий роль интерфейса к двум последовательным портам и двум парам портов MIDI IN/OUT, внутренний IDE-интерфейс, схема 82091АА, на которой "висят" параллельный порт, флоппи-дисковод и еще два последовательных порта, а также 4 свободных ISA-разъема. В качестве котроллера клавиатуры и мыши использован 8242.
Первый ВеВох оснащен богатым набором портов и внешних интерфейсов. Помимо уже упоминавшихся четырех последовательных и одного параллельного портов, а также двух MIDI-пopтов, имеются два порта для джойстиков, три инфракрасных порта и так называемый Geek Port. Инфракрасные порты могут быть запрограммированы на дистанционное управление состоянием операционной системы, но возможность передачи данных через них пока не рассматривалась и не документирована. Geek имеет 37 выводных контактов, которые делятся следующим образом: две пары по 8 контактов представляют собой два двунаправленных порта передачи данных; четыре "аналого-цифровых" контакта ведут к 12-битному АЦП; четыре "цифро-аналоговых" контакта соединены с 8-битным ЦАПом; еще четыре контакта питают Geek по схеме +12, -12, +5 и -5; остальные девять контактов служат землей.

ВеВох снабжен полноценной звуковой системой, интегрированной на материнской плате 16-битный CODEC, поддерживающий частоты сэмплирования вплоть по 48 кГц, имеет линейный выход и вход, а также вход с микрофона и выход на наушники, не считая входа CD Audio.
Отметим, что описываемый вариант Be является "пристрелочным", и его конструкция будет изменена (возможно, даже весьма существенно) согласно запросам разработчиков. После обработки пожеланий партнеров будет выработан более устойчивый вариант архитектуры Be, и, скорее всего, появится портативный ВеВох.
"Софтварь"
Операционная система BeOS также создавалась "с нуля". Она полностью опирается на мультипоточность (preemptive multithreading), причем предоставляет приложениям полную свободу в использовании этого механизма и оставляет на их усмотрение разрешение коллизий, связанных с разделением ресурсов.
BeOS построена на микроядре Масh и является полностью объектно-ориентированной. Более того, ее многочисленные API написаны на C++, что предоставляет программисту все удобства объектно-ориентированной технологии. ОС сама разделяет потоки выполнения между процессорами, соблюдая временные приоритеты: приложение, которому более необходимо процессорное время, получит его раньше; кроме того, один из процессоров может быть на время полностью отдан некоторой задаче вроде видеоперехвата и оцифровки.
Принципиальная схема устройства BeOS состоит из трех уровней. Снизу лежит микроядро, над которым находятся software kits, а между ними располагаются серверы (servers). Software Kits служат интерфейсом приложений к системе, а серверы предназначены для выполнения многих низкоуровневых операций, от которых можно и нужно избавить приложения. Как уже говорилось, software kits написаны на C++ (за исключением KernelAPI и NetworkAPI, которые написаны на ANSI С) и интенсивно используют механизмы наследования. Создавая объекты этих классов напрямую или наследуя их, программист может получить доступ к любому сервису BeOS.

Файловая система Be имеет два "лица": ею можно пользоваться как обычной иерархической файловой системой и как реляционной базой данных. Разница между этими представлениями скрыта внутри сервера файловой системы, так что заметить ее невозможно: изменения, сделанные обоими путями, отражаются на результате совершенно одинаково. Когда вы используете метафору СУБД, запросы к файловой системе будут "живыми" и изменения, вносимые по ходу дела другими приложениями, отразятся в запросе автоматически, без вашего участия. Это необходимо, поскольку ОС многопоточна, и никто не может гарантировать, что другое приложение не запишет еще что-нибудь в нужный вам файл, пока вы будете его искать.
Графический интерфейс BeOS представляет собой оконный интерфейс, оригинальный и необычный по дизайну. Каждое его окно работает в своем потоке и совершенно не зависит от остальных. Browser, программа-интерфейс между компьютером и пользователем(аналог MacFmder), не является частью системы и может быть заменена другой. С ее помощью пользователь работает с файловой системой, запускает приложения и т.п. – одним словом, делает все, что ему необходимо при работе с компьютером. Я намеренно не углубляюсь в подробности внутреннего устройства системы – вроде динамических драйверов или механизма межпроцессного взаимодействия, -так как все они чрезвычайно интересны, но "равноправны", а описать каждую из них, увы, не позволяют рамки данной статьи.
Вместо эпилога
Итак, какие перспективы ждут Be? Уверенно предсказать это пока не берется никто. Вполне вероятно, что Be, как и многих его косвенных прародителей, ждет забвение (очень не хотелось бы). С другой стороны, вполне возможно, что Be встанет-таки в полный рост и окажется превосходящим противником в борьбе с выводком динозавров типа Мае и PC – хотя и они тоже никогда не стоят на месте. В любом случае, пока на стороне Be лишь энтузиазм разработчиков да явное техническое преимущество.
Правда, здесь есть еще несколько любопытных деталей. Во-первых, Be построен на базе процессоров PowerPC и шины PCI и легко может быть приведен в соответствие спецификации CHRP (или как там это теперь называется), то есть может стать прямым конкурентом компьютеров Mac, Motorola и IBM. Во-вторых, и это уже гораздо интереснее, BeOS является CHRP-совместимой и должна работать на мультипроцессорных станциях Мае, а это грозит Apple не одной парочкой неприятных ощущений.
Скоро должен закончиться перенос на ВеВох вездесущего Linux. На платформе PowerMac уже работает бета-версия LinuxPPC, но она пока не поддерживает SMP. Разработка приложений для Be сейчас требует наличия PowerMacintosh, так как пакет CodeWarrior, на котором, собственно, и должно происходить создание приложений, пока еще портирован на Be.
Касаемо исполнения программ DOS/Windows на Be разработчики заметили, что эмулятор DOS они сами создавать не собираются, но оказывают всемерную поддержку нескольким проектам по его созданию; в свою очередь, эмулятор Windows "SoftWindows" является технологией фирмы Insignia Solutions, и его перенос на Be зависит только от решения самой компании о поддержке этой платформы.
Таким образом, будущее Be покрыто мраком, хотя очень хочется надеяться, что хотя бы это дитя романтизма и профессионализма выживет в условиях тотальный "писизации" всего и вся.