RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Статья об архитектуре ядра.


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : valerius
To : Юрий Пронякин
Subj : Статья об архитектуре ядра.

> > Да, средства надо выбирать исходя из задач; просто наш проект уже 2 года назад выбрал микроядро. Оно вполне отвечает всем задачам разработки. Оно абсолютно "абстрагировано" от стратегий и алгоритмов (policies) -- все это вынесено из ядра в userlevel и может быть реализовано произвольным образом. Микроядро лишь предоставляет механизмы для их реализаций (но не навязывает правил и стратегий).
>
> Со стороны (моей) это выглядит так: задачи (детально разработанного проекта операционной системы) у вас ещё нет, но средство решения задачи уже выбрано. Выбрано, просто исходя из того, что на его основе можно постоить любое своё решение любой задачи, создав соответствующие серверы. Только вот создавать эти серверы (придумывая заодно принципы их функционирования) придётся практически на чистом месте. А это и есть то, что я написал про вариант на L4.
>

Да, детального плана у нас пока нет. (просто за отсутствием хорошего архитектора). Мы пока просто экспериментируем с уже готовыми исходниками и пытаемся их приспособить и сделать простейшие зачатки API -- загрузку исполняемых файлов, простейшую консоль, ramdisk и stdin/stdout.

Но ядро выбрали не только из-за того, что на его базе можно реализовать любое решение, но и потому что

1) уже есть поддержка Linux и возможность использовать его драйверов

2) оно имеет высокую производительность

3)и из всех микроядер 2-го поколения наиболее широко используется. На него перенесены или в процессе переноса Minix, Linux, Hurd и существует куча менее известных операционок на его базе. Это дает надежду на возможность их параллельного запуска. Чем больше OS API's будет реализовано на одном микроядре, тем лучше -- приложения этих ОС можно применять "на одном десктопе" -- у них общая база и они могут работать одновременно. Все это лишь продолжение мечты об ОС типа IBM Workplace OS. Теперь негатив: К сожалению, сейчас существует несколько реализаций L4, они очень бурно развиваются, поэтому в разных реализациях есть определенные расхождения в API. Это конечно, плохо, но это просто механизм нащупывания различных путей развития. Мы основываемся на самой популярной реализации L4 -- это L4Ka::Pistachio. Оно поддерживает стандартизованную и общепринятую версию API -- Version X.2 (eXperimental.2), которая должна в будущем быть утверждена как Version.4, то есть как стандарт.

4)Pistachio не только популярная, но и преренесена на наибольшее количество платформ

5)На базе L4 можно строить системы как с упором на real-time (здесь, кажется, лучшим выбором будет L4/Fiasco, на базе которого разрабатывается DROPS -- исследовательская ОС реального времени, ориентированная не только на мультимедиа в реалтайме, но и на пользовательские интерфейсы с откликом в реальном времени -- так разработан ее GUI -- DoPE), так и с упором на безопасность (NIZZA), надежность и гибкость (HURD/L4).

6)Подходит как для десктопа (L4Linux), так и для встраиваемых решений. Сейчас L4 уже работает в ряде комерческих решений в firmware микроконтроллеров и в сотовых телефонах (например, недавно Open Kernel Labs (Австралия) (www.ok-labs.com) подписало соглашение с Toshiba на использование в Тошибовских handset'ах OKL4. OKL4 -- это коммерческая версия L4 от OK Labs вместе с сервисами на основе Iguana Embedded OS Personality и Wombat -- паравиртуализованного Linux'а, работающего поверх L4)

>
> Ну вот, и здесь у нас расхождений нет: какой готовый набор ни возьми, а разбираться и переписывать по-своему его придётся.


Wed 06 Jun 2007 17:22 Mozilla/5.0 (OS/2; U; Warp 4.5; en-US; rv:1.7.10) Gecko/2005




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.