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

Как программист и менеджер встраиваемых программных продуктов по жизни, я думаю, что программировани операционных систем - настолько увлекательное занятие, что однажды его точно запретят. Я уже публиковал две статьи на <a href=http://www.osnews.com>OSNews</a>, "<a href=http://osnews.com/story.php?news_id=1482>So, you want to write an operating system</a>" и "<a href=http://osnews.com/story.php?news_id=1532>Climbing the kernel mountain</a>", в которых пытался обобщить свой опыт проектирования операционных систем и указать на технические ловушки, которых можно легко избежать.
<br /><br />
Перевод: Роман <br />
<a href=http://www.osnews.com/story.php?news_id=8830>Оригинал </a> доступен на OSNews.com.

Вы не знаете, что тратите свое время впустую

Я подумывал написать продолжения статей на эту тему, но вместо этого приказом суда был сослан в Школу Заголовков Статей на два года. За это время и мир, и восприятие мною различных вещей, не только заголовков статей, развились. Хотя я и надеюсь, что кто-нибудь где-нибудь счел мои советы достаточно полезными для того, чтобы начать писать ядро, я осознал, в то же время, что радость делать это с нуля, для любых целей и применений, уже фактически запрещена.

Я надеюсь, что успел поймать вас до того, как вы успели сжечь все доказательства того, что вы когда-либо загружали Intel System Programming Manual и теперь нервно смотрите в окно, ожидая появления Полиции Кода, которая пошлет вас в центр реабилитации кодеров. Расслабьтесь, написание своего ядра не запрещено на самом деле и вам не надо переходить на написание систем бух. учета на C#. Многие люди с чувством долга, серьезными программистским навыками и свободным временем работают над такими проектами прямо сейчас, в то время как вы читаете эту статью, хотя на самом деле этому уже нет цели. Некоторые проекты, вроде Syllable и SkyOS продвинулись достаточно далеко к пригодному к использованию стабильному окружению и не устают поражать читателей OSNews своими возможностями. Ирония такого мнения на OSNews не ограничена только мной. Я полагаю, что любителям ядер стоит пропустить эту статью точно также, как это сделал бы я двумя годами ранее. Нелегко прощаться с редкими умениями, которым вы учились долгое время. Как выздоравливающий ядроголик, я бы очень хотел, чтобы мне показали, что я неправ, сильной демонстрацией в один-два удара, и вовлекли бы в участие в проекте любительской ОС.

Честно говоря, я не сдерживаю себя. Ваши усилия напрасны, если, конечно, единственной вашей целью не является замещение Роберта Зелени (Robert Szeleney), как самого уважаемого разработчика неудавшихся ОС. Мне необходимо пояснить, как я медленно пришел к такому выводу и почему это хорошее достижение. В игру вступают один кусочек информации и две пересекающиеся истории.

Как вы можете научиться через постоянные щелчки по носу

Сначала кусочек информации. Я стал менеджером не по Гарвардской MBA, а из опыта, так что я полагаю, что все, кто прошел через какое-либо обучение бизнесу прочитают оставшуюся часть статьи и скажут "да, и что?". Что ж, пффф! вам - это звук высовывающегося языка. Меня не учили позиционировани продуктов в школе, или тому, как фокусироваться на том, что ты действительно делаешь хорошо. Я учился приходя от покупателей с окровавленным носом.

Переходим к первой истории. В прошлом году я серьезно раздумывал о присоединении к проекту Syllable. Насколько я знаю, это единственный проект настольной ОС, который одновременно и удобен в использовании, и имеет открытые исходники и где я бы действительно мог внести значительный вклад, в отличие от Linux, где индивидуальный вклад - всего лишь капля в море. У ядра Syllable есть серьезные недостатки. Вы можете ощутить на себе при использовании ее круговой (round-robin) диспетчер и неработающую виртуальную память. Нехватка стабильных примитивов или четкой документации процессов имеет неприятные последствия, например, сервер приложений не закрывает окон приложения, когда оно обрушивается. Я думал, что я смогу помочь решить эту проблему вместо того, чтобы критиковать из кресла. Я проделал серьезную работу по замещению базового ядра чем-то, что сможет поддерживать оставшуюся часть Syllable поверх себя, но было бы конкурентноспосбно с Linux по производительноти.

Теперь вторая история. Я создал компанию, которая разрабатывает, продает и продвигает компонентную программную архитектуру для потребительскихэлектронных продуктов. Компания существует с 1998 года и продукт начался с того ПО, которое мне нравится писать - с операционной системы. По существу, в нем были реализованы две противоположныевозможности. Первая - компонентная операционная система для потребительскихэлектронных продуктов, первая в своем роде, которая позволяет вам изменять любые правила системы, такие как диспетчер, управление памятью или питанием самостоятельно. Вторая - компонентная модель, которая просто переносит хорошо известные преимущества Corba, DCOM или .NET, такие как упрощенное повторное использование кода и легкая изоляция, в мир потребительскойэлектроники. На данный момент повторное использование является огромной проблемой для индустрии, поскольку производители, по сути, перестали быть компаниями, производящими аппаратуру вроде видео-камер или аналоговых телевизоров, у которых было немного специализированого ПО, а стали компаниям, производящими программные решения, производящими DVD-RW и цифровые телевизоры, которым необходимы серьезные объемы специализированого ПО. Мы действительно старались, очень здорово старались продвинуть свою операционную систему покупателям.

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


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