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


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

>
> Но насколько эти проценты и разы оправдываются пересборкой OS2KRNL из дизассемблерных исходников - это еще большой вопрос.

Я игрался с L4Linux -- (паравиртуализированная версия Linux) -- впечатления очень многообразные. Потери производительности я на глаз вообще не заметил. Весь Linux (в том числе, ядро) работает в пространстве пользователя. В kernel mode -- только микроядро. Микроядро -- это примерно 10000 строк кода. Linux -- несколько десятков миллионов строк кода. Поэтому вероятность ошибки в случае микроядра в сотни тысяч раз меньше. Причем, ведутся работы даже по _формальному доказательству_правильности_алгоритмов_микроядра_! Причем есть обещания, что оно будет закончено в ближайшие 2 года. (!) То есть, плюс: возможность в ring0 исполнять только 100% доверяемый код (TCB -- trusted computing base). Ядро ОС -- может быть недоверяемым; если произшла ошибка -- просто перезапускаем всю VM. Никаких трапов! Можно также одновременно запускать несколько экземпляров VM ;)

Очень заманчиво было бы на месте линуха использовать ось. Причем, можно одновременно с линухом на той же машине... -- Ни ось, ни линух не запущнеы в пробирке, они равноправны!

Вообще, слово "пробирка" тут не применимо. Это _паравиртуализация_. То есть, паравиртуализованная ОС только 1) ограничивается в плане доступных ей ресурсов 2) имеет доступ не напрямую к железу, а к абстракциям, предоставляемым микроядром. Сказать, что L4Linux исполняется "в пробирке" -- это то же самое, что сказать, что HAL.DLL запускает ядро Windows NT в пробирке.

Пересборка из дизассемблерных исходников -- это конечно, очень сложно. Но выгоды,
имхо очевидны. Можно наверное, не дизасссемблировать ядро, а только драйверы. А для них сделать эмулятор интерфейсов ядра? (-- То есть, для нового ядра OS/2 на базе микроядра можно сделать таким образом подсистему для запуска существующих, в том числе, 16-разрядных, драйверов) Конечно, это тоже сложно, но возможно, проще, чем дизассемблировать все ядро...

> Потом, на ядре OS/2 монитор споткнется хотя бы по закону Мерфи, и начнется уже доработка монитора. ;)
>

Ну это, как и следовало ожидать, непременно случится :)


Mon 18 Jun 2007 01:19 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.