На 10 тыщ рванул, как на 500?
Эдуард Пройдаков
Появление Inferno, новой операционной системы, разработанной в Исследовательском центре компьютерных наук (The Computer Science Research Center[1]) знаменитой Bell Labs (http://www.bell-labs.com), да еще поддержанной таким телекоммуникационным гигантом как Lucent Technologies (в девичестве AT&T), не может не вызвать повышенного интереса. Поэтому я провел некоторое исследование на тему "Что это такое и чего можно ожидать". Итак, что это такое?
Lucent решила разработать собственную платформу для встраивания в сетевое оборудование и интеллектуальные устройства. По замыслу, это компактная, безопасная (в смысле защиты данных) и эффективная сетевая ОС реального времени, имеющая собственную среду разработки ПО. Утверждается, что Inferno снизит затраты на администрирование клиентской части систем и будет служить базой для построения распределенных, интерактивных, многоязыковых сетевых приложений для бизнеса.
Интересно высказывание вице-президента Группы сетевых ОС корпорации Lucent Майкла Скажински: "15 млн. человек пользуются Интернет (31 млн. на 1 июня – прим. автора), но в мире проложено более 700 млн. коммутируемых телефонных линий. В США в 55 млн. домов есть кабельное телевидение и более 25 млн. человек подписано на службы сотовой связи. Наша глобальная цель – построить инфраструктуру, которая будет поддерживать информационное обслуживание через все эти сети и все виды устройств". Он же считает, что Inferno и Java – дополняющие друг друга продукты.
Где же здесь интрига? А она в том, что на этот же рынок устремилась со своей Windows CE вездесущая корпорация Microsoft. Весьма долгосрочные планы прослеживаются в этом направлении у Silicon Graphics и Motorola. Возможны и другие участники этой игры.
Рассмотрим Inferno подробнее.
Система состоит из четырех частей:
- операционной системы реального времени Inferno;
- языка программирования Limbo;
- виртуальной машины Dis для языка Limbo (под ней, собственно, и выполняются приложения);
- коммуникационного протокола Styx.
Система написана на стандартном Си. Важно то, что с самого начала Inferno проектировалась как система для распределенных вычислений, поэтому декларируется, что она не зависит от локальных ресурсов (они используются динамически, если имеются) и максимально задействует все сетевые ресурсы. Эта ОС работает на машинах с процессорами microSPARC-II, Hitachi SH3, SH4, DEC StrongARM, Intel 386EX, 486, Pentium, AMD 29000, ARM RISC, MIPS R4000 и выше, SPARC, 68000, PowerPC и некоторыми другими.
Inferno может устанавливаться как единственная ОС на минимальной конфигурации оборудования (она занимает около 1 Мб ОЗУ вместе с приложениями), а также работать поверх других ОС (например, Windows 95, Windows NT 3.51, Solaris 2.5 и др.) в режиме эмуляции.
Inferno-приложения в отличие от модели вычислений, принятой в архитектуре клиент-сервер, не загружаются в клиентскую машину с сервера, а выполняются там, где это наиболее эффективно с точки зрения планировщика ресурсов. Кроме того, они могут использовать любой ресурс в сети. Приложения видят все ресурсы как файлы в иерархической файловой системе, поддерживающей распределенное пространство имен. Inferno предоставляет сетевой интерфейс, идентичный для всех сетевых платформ. Это делает соединение устройства-клиента и установление соединения с сетью таким же простым, как подсоединение телефона к телефонной розетке. Одинаковый интерфейс значительно упрощает управление конфигурацией и маршрутизацией для приложений.
Название Inferno (ад), да и имена других частей системы, вообще-то мрачноваты. Разработчики из Bell Labs почему-то часто цитируют Данте. Пожалуй, всю эту игру с названиями можно отнести к иногда слегка дебильному с нашей точки зрения американскому юмору.
Inferno для истинной переносимости использует многочисленные уровни абстракции. Она включает в себя не только виртуальную машину, обеспечивающую переносимость с одной платформы на другую, но и виртуальную ОС, а также виртуальный сетевой интерфейс. Это обеспечивает безопасные сетевые вычисления практически через любую коммуникационную сеть (телефонную сеть, кабельное и спутниковое телевидение, Интернет).
Средства разработки
Для разработки приложений предназначен язык Limbo. Вот что пишет об этом языке Б. Керниган: "Limbo – это новый язык программирования, разработанный Шоном Дорвардом (Sean Dorward), Филом Винтерботтомом (Phil Winterbottom) и Робом Пайком (Rob Pike). Язык Limbo родился, как и многие другие вещи, из Си (синтаксис выражений и операторы управление), Паскаля (декларации), из Alef (абстрактные типы данных и каналы), из языков CSP и Newsqueak (процессы). Limbo – язык со строгой типизацией данных, обеспечивает автоматическую сборку "мусора", поддерживает только очень ограниченные действия над указателями и компилируется в машинно-независимый байт-код для выполнения на виртуальной машине". Написанное Керниганом введение в Limbo можно почитать по адресу: http://www.lucent.com/inferno/.
ОС обеспечивает сетевое администрирование и распространение программ, а также динамическое конфигурирование. За безопасность и контроль за разделением ресурсов отвечают протоколы, встроенные в ядро ОС.
Принципиально новым в Inferno является пространство имен – это иерархия имен файлов, доступных программе. Файлами в этой системе оказались не только файлы с данными, но и устройства, сетевые соединения, интерфейсы к системным вызовам, периферийным устройствам и программам. В таком обобщенном подходе пространство имен представляет все пространство ресурсов. Соответственно расширен набор операций для управления пространством имен. Оно может быть, в частности, персонифицировано установлением прав доступа. Единообразное представление ресурсов позволяет уменьшить для разработчиков уровень сложности.
Inferno 1.0 предоставляет разработчикам общий интерфейс к любым базам данных, поддерживающим доступ через SQL (язык структурированных запросов). Для этого в нее включены API для баз данных (встроен в Dis) и программа дистанционного обслуживания БД. Компактность позволяет создавать работающие с большими БД "тонкие" клиенты на таких устройствах, как сетевые компьютеры, телевизионные приставки и смарт-телефоны.
PDA/PIM
Бум на рынке электронных записных книжек (PDA) и систем управления персональной информацией (PIM) привел к тому, что в этот сектор рынка ринулись десятки компаний, в том числе и разработчики ПО. Однако похоже, что здесь Lucent несколько припоздала: Microsoft успела представить свою Windows CE. Как утверждает Lucent, в последнее время эти устройства становятся все более сетевыми. Здесь особенно успешно применяются беспроводные технологии. Если прежде в PDA хранились в основном номера телефонов, расписание встреч и деловые записи, то теперь мобильные пользователи могут отправлять с их помощью факсы, работать с электронной почтой, выходить в Интернет и обмениваться данными с интрасетями. Здесь-то и видны достоинства Inferno:
- обеспечение безопасности пересылки данных. Любое системное соединение верифицируется с помощью шифрования с открытым ключом (40-битовый RC4 – вне США, неограниченной длины RC4 – на территории США). Для приложений могут быть использованы шифрование, цифровая подпись и механизм аутентификации;
- унифицированный сетевой интерфейс. Поддерживает сети TCP/IP, PPP, POTS, ISDN и ATM.
Inferno в ее нынешней версии готова к лицензированию производителям PDA/PIM, однако пока о выданных лицензиях объявлено не было.
Рынок игровых приставок
При цене около $200 игровые приставки достаточно популярны (в США их около 5 млн. шт.). Если превратить их в дешевые сетевые консоли, то они потенциально могут стать главным информационным устройством в доме. Так как этот рынок уже поделен между тремя производителями, то надеяться на продвижение Inferno в этот сектор не приходится.
Рынок смарт-телефонов
Участники компьютерной индустрии, заманивая обещаниями дешевых устройств сетевого доступа, часто упускают из виду самое дешевое из них – телефон. Приблизительно в 500 млн. домов на земном шаре есть этот аппарат. Добавление новых возможностей, таких, как электронная почта, электронная коммерция, локальные доски объявлений, просмотр WWW, расширенные возможности телефонных вызовов, превращают обычные телефоны, в "разумные" (или смарт-телефоны по аналогии со смарт-картами).
Важно то, что эти новые службы требуют минимальных изменений в привычном интерфейсе телефонного аппарата. Для доступа к новым интерактивным службам достаточно простого добавления ЖК-экрана, модема, компактной операционной системы и клавиатуры или сенсорного экрана. Провайдеры предлагают новые службы по существующим сетям, требующим для усиления традиционных телефонов минимальных инвестиций. Благодаря низкой цене смарт-телефоны получили признание заказчиков.
Телевизионные приставки
Другой быстро растущий в США рынок – это телевизионные приставки, дающие зрителям возможность превратить пульт дистанционного управления в нечто среднее между мышью и клавиатурой, а пассивный просмотр прерывать доступом в Интернет, дистанционными покупками, видео по запросу и т. д. Как утверждается в материалах Lucent, в 1996 г. в 160 тыс. домов имелись телевизионные приставки. До 2000 г. в этом секторе ожидается 144%-ный рост числа пользователей. Lucent предлагает свою ОС и производителям приставок.
Развитие системы
Развитием системы занимается подразделение Inferno Business Unit фирмы Lucent Technologies. Inferno Release 1.0 была анонсирована 10 марта. В июле 1997 г. появится версия 2.0. В состав базового ПО входят редактор, отладчик, компилятор. Как положено, выпущен инструментарий для разработчиков Inferno 1.0 Development Kit (его можно списать, зарегистрировавшись по адресу http://inferno.lucent.com/inferno/ registration.html). Система будет также демонстрироваться 17 – 21 ноября на осенней выставке CODEX в Лас-Вегасе (шт. Невада). Для партнеров развивается программа Inferno Partners Program (IPP). Некоторые фирмы, например CyberExpress, Acer, Digital и десяток других, уже присоединились к ней.
2 апреля Lucent Technologies и Sun Microsystems (http://www.sun.com) подписали три соглашения. Согласно им Sun присоединилась к IPP, чтобы предоставить законченные сетевые Java-решения пользователям Inferno. Со своей стороны Lucent Technologies лицензировала технологии Java у фирмы Sun, устанавливая ОС Inferno в качестве платформы для выполнения Java-приложений через многие сети, а также согласилась помочь Sun с продвижением новых инициатив, связанных с распространением интерфейсов PersonalJava и EmbeddedJava API. (Эти интерфейсы предназначены для переноса ПО на массовые потребительские изделия, т. е. для производителей встраиваемых контроллеров, мобильных телефонов, факсимильных аппаратов, пейджеров, принтеров, коммутаторов и маршрутизаторов.).
Чего ожидать?
Скорее всего, чуда не будет. Продвижение новой ОС требует концентрированных маркетинговых усилий, а хорошим маркетингом Lucent, к сожалению, не отличается (об этом говорит, в частности, то, что в московском представительстве корпорации об Inferno даже не слышали, кроме того, нет активного привлечения независимых разработчиков. При жесткой борьбе за рынок это было бы естественным). Думаю, что, как всегда, Microsoft заберет львиную долю рынка в КПК и СК, а вот на рынке смарт-телефонов, где Lucent сильна, у новой ОС шансы есть.
Дополнительную информацию и демонстрационные копии можно получить по адресу: http://www.lucent.com/inferno.
Статья опубликована в PC Week/RE № 25 от 01.07.1997 г., стр. 30.
Примечания
1. Центр, где были разработаны UNIX, языки программирования Си и C++.