> man operating_systems
Почему вам больше не стоит писать собственное ядро
на Понедельник, 27 Декабрь 2004, 20:40
добавил: Эммануэль Марти (Emmanuel Marty) список авторов печатать элемент контента создать pdf-файл  элемент контента
категория Статьи
комментарии: 0
просмотров: 2030


Если они хотели пользоваться компонентной моделью и преимуществами повторного использования, им также нужна была ОС - берите или уходите. Что же, они уходили, постоянно, на японском, корейском, немецком, французском, английском и других языках. Упс. Мы сваливали вину на множество причин, но потом все равно пришли к очевидным фактам. Во-первых, интерфейс ядра настольной, серверной или встраиваемой ОС был отполирован за время, чтобы стать более удобной для программировани машиной, нежели набор инструкций. Концептуально это стандартный интерфейс. Точно также, как у вас есть наборы инструкций Intel или ARM, которые поддерживают сходные операции, у вас есть API POSIX, Windows и µITRON для управления памятью и семафорами, но они сходны концептуально. Если вы предлагаете радикально отличающиеся примитивы, прикладному программисту они бесполезны по причине портируемости другого кода или их знаний.

Во-вторых, для успеха платформе нужны приложения и сообщество разработчиков. Когда вы начинаете писать ядро с нуля, у вас нет ни того, ни другого. Вы можете скопировать существующий подход и API для того, чтобы получить приложения и разработчиков, но это уже сделано. Linux и BSD свободны и подходят для практически любых целей.

В-третьих, новая ОС и повторное использование кода противоречат друг другу. По какой-то причине мы не можем доказать нашим покупателям, что они смогут повторно использовать гораздо большее количество кода, чем сегодня, и смогут лучше делать свое ПО, выбросив весь свой код и переписав его под нашу ОС. У наших клиентов достаточно наглости, чтобы отказаться от инвестирования миллионов долларов в переписывание того ПО, что у них уже есть.

В-четвертых, вы можете быть лучшими в мире или даже очень-очень хороши только в одном. Все понимают, что это правда для небольшой или средней команды, и я верю в то, что этот принцип применим к любой организации, даже с размерами Microsoft или деньгами Google. Microsoft производит множество продуктов, все они - трата баснословных денег на разработку и поддержку, кроме операционной системы и тесно связанных с ней основных приложений. Менеджеры Google не будут трогать ничего, что четко не связано с поиском. У ветеранов менеджмента для этого даже есть термин: концепция ежа. Ежи на самом деле довольно тупые животные, но они, в отличие от многих, чувствуют, что они знают только одну вещь и сворачиваются в клубок колючек, когда их атакуют.

В-пятых, когда вы что-либо проектируете у вас нет норм работы. А вашим пользователям, в не зависимости от того, будут ли они платить за коммерческий продукт или будут использовать свободный/открытый код, наплевать на то, что вы потратили тысячи часов на действительно тяжкий труд, чтобы сделать то, что вы им предлагаете. Syllable и SkyOS действительно несут в себе изящные технические решения, но они менее функциональны, чем Linux и не привлекательны для обычных массовых пользователей. Linux'у до сих пор еще надо выяснить как быть лучше, чем Windows на домашних машинах, чтобы завоевать пользователей.

Вооружившись такой проверкой реальности, моя компания репозиционироваа свой продукт от операционной системы четко на компонентную модель и повторное использование кода. По сути это означало портирование нашей ОС поверх популярных платформ в японской потребительскойэлектронике, на тот момент это Linux и TRON, и дальнейшее удаление того, что уже не нужно. И так уж случилось, что покупатели начали нам звонить, чтобы заказать наш продукт. Сфокусировавшис на нашей компонентной модели мы затем смогли улучшить ее возможности и сегодня, я думаю, что это действительно стоящий продукт. Оглядываясь назад, я бы сказал, что попытка переманить клиентов на новую ОС была бы только затягиванием петли.

Нравится ли мне работать над тем, что мы продаем сейчас? Вместе с дюжиной программистов, что были связаны с разработкой ядра, я считал, что рынок выбрал для нас самую неинтересную работу. Я не мог использовать свой опыт программировани ядер. Но потом, я осознал, что в сравнении с написанием кода для ядра, все остальное проще. Это как тренироваться для теннисного матча с грузом, а потом убирать его перед большой игрой.

Навыки, полученные вами при разработке ядра, точность, строгость, тестирование, тщательная отладка могут использоваться с девятикратной эффективностью при работе над чем-либо выше ядра. Вам только надо найти, что действительно вас интересует и поставить цель своей работы.

Похоже, что моя компания не единственная из тех, у кого было такое прозрение. Tao Group продавала, угадайте что - операционную систему для потребительскойэлектроники. Возможно вы слышали о них как о части саги об Amiga. В их арсенале была архитектура виртуального процессора, которая позволяла писать портируемый, но написанный вручную ассемблерный код. Каким-то образом им удалось заставить это работать. Когда деньги закончились, их ОС как продукт была отстрелена и теперь они очень успешно продают одну свою хорошую идею. Их архитектура VP (Virtual Processor) позволяет очень эффективно разрабатывать графические приложения, портируемые между всеми CE (Consumer Electronics) устройствами. JVM, реализованная ими поверх собственной архитектуры VP, мощна. Они нашли одну свою хорошую идею и спрятали все остальное под ковер.

OK, вторая история была немного длиннее, чем первая. Если от меня ничего не будет слышно в следующие два года, присылайте мне гуманитарную помощь в Школу Написания Статей. А теперь обе истории как скоростные поезда идут настречу друг другу и сталкиваются.

индекс статьи
страница 1 : страница без заголовка
страница 2 - текущая : страница без заголовка
страница 3 : страница без заголовка


© OSRC.info, 2004-2010.
Авторские права на любые материалы, авторы которых явно указаны, принадлежат их авторам. По вопросам публикации таких материалов обращайтесь к авторам.
Авторские права на любые другие материалы принадлежат OSRC.info.
Сайт является помещением библиотеки. Копирование, сохранение на жестком диске или иной способ сохранения произведений осуществляются пользователями на свой риск.
При использовании материалов сайта ссылка на OSRC.info обязательна.