RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Ответить на сообщение
Имя:
e-mail:
FIDO:
Home page:
сохранить данные о вас
Тема:
> > > > > > > > Под закрытый код можно попытаться получить финасирование - есть зацепки и выходы на властные структуры. Открытый код сейчас инвесторам не интересен. Все возможные в этом случае лицензионные и иные ограничения будут обсуждаться здесь. > > > > > > > > > Финансирование -- это, конечно, хорошо. Но с тем, что открытый код не интересен инвесторам, тоже можно поспорить. Наоборот, открытые исходники легко изучить и проверить на отсутствие ошибок и "жучков". Поэтому к ним должно быть выше доверие у потенциальных пользователей. > > И еще, не лучше ли все-таки, поддержать идею Opensource и оказать помощь проекту www.osFree.org? Ядро проект уже выбрал, оно готовое -- микроядро L4::Pistachio. То есть, ядро писать не надо, надо написать API в виде системы userlevel-серверов и библиотек. То есть, то что "в обиходе" называется ядром, на самом деле -- мультисерверная обвязка вокруг микроядра. На самом деле микроядро -- это не ОС, а минимальная база для построения ОСи. То есть, фактически, это не будет реализацией подсистемы ОС/2 поверх какой-то ОС, а построением новой, независимой ОС поверх микроядра. Будет неверны упреки в "миграции" куда-либо. > > Использование микроядра повышает надежность -- в ring0 исполняется все, кроме самогО микроядра, даже драйверы. То есть, ничто не может уронить систему в трап, разве что самО микроядро. Но оно очень маленькое, в нем легче найти ошибки, и поэтому очень отлажено. То есть, надежность будет очень высока. Потом, производительность микроядер 2-го поколения очень высока, она всего на несколько процентов ниже, чем у монолитных ядер, это практически неощутимо. Немножко медленнее, зато более надежно, и можно запускать одновременно несколько OS Personalities. Можно реализовать собственную подсистему драйверов, а можно "импортировать" драйвера из Linux. L4Linux давно уже готова и работает. Она бинарно совместима с обычным линуксом, то есть достаточно взять обычный дистрибутив Linux и заменить ядро на "депривилегированное". Можно получить и windows-подсистему, использовав код ReactOS. Проблема с драйверами тоже решаема -- есть целых два проекта по использованию линуксовых драйверов в другой personality. Также можно аналогично прикрутить виндовые драйвера (и аппсы). > > Далее, OS/2 ядро знаменито своим шедулером процессов. И необходимо в новом ядре сделать также очень качественный шедулер. У многих ядер шедулер намного хуже. Если же в качестве ядра взять L4, то там шедулеры сделаны в userlevel и вынесены из ядра. Причем каждый тред может иметь свой отдельный шедулер. Так что зависит только от нас, как мы реализуем шедулер в юзерлевеле. Он может быть с произвольным алгоритмом, L4 настолько абстрагированно от подобных вещей, и не накладывает практически никаких ограничений. > > Оно вообще все что возможно, выносит в userlevel. То есть, управление памятью тоже вынесено в юзерлевел, и можно его организовать произвольно. Также, семантика тредов может быть произвольной, и можно сделать свой трединг поверх L4'овского. (L4 произносится "эльфир", это так его название произносится по-немецки -- "El vier" ;-)). > > На данный момент в проекте osFree (OS/3) занято несколько человек, но реально в данный момент работаю только я. Один человек студент, защищает диплом, у него щас нет времени, другой преподает в вузе и тоже очень занят, третий подключается к проекту и экспериментирует с загрузкой LX-файлов. Четвертый пропал в неизвестном направлении и не отвечает на письма. Я в данный момент пишу загрузчик и вникаю в процесс разработки программ для L4. Это "в процессе", а уже имеющиеся знания использую в работе над загрузчиком. (для этого надо знать ассемблер и уметь программировать под DOS). > > Вообще для загрузки L4 традиционно используется GRUB. Но "марафон" с загрузчиком был затеян потому, что GRUB не очень соответствует идеологии загрузки OS/2 с mini- и micro-fsd. К тому же, мне это интересно. На данный момент загрузчик уже грузит микроядро и запускается root server. Но есть небольшие проблемы, которые надо устранить (ядро запускается, но при попытке ввести номер теста в pingpong (это рутсервер) возникает трап в ядре L4 -- что-то пока неправильно задается из параметров ядра -- в процессе устранения). > > Загрузчик грузит ядро по стандарту multiboot (это нужно для L4), подпрограммы для этого взяты в исходниках GRUB. Для работы с диском загрузчик (как и в OS/2) использует microfsd, это уже работает. > Также идея blackbox'а (использованная в microfsd) будет распространена на поддержку форматов исполняемых файлов. То есть, для формата LX будет свой микродрайвер, для ELF -- другой и для лоадера это будет совершенно прозрачно. Предполагаем, кроме поддержки multiboot-ядер сделать загрузку os2krnl, на первом этапе загрузчик будет просто стартовать os2ldr, который и загрузит ядро, потом планирую реализовать функции os2ldr внутри загрузчика. Также, будет такая идея: загрузчик будет совмещать функции загрузчика и бутменеджера (аналогично GRUB'у). > > На www.osfree.org в wiki есть некоторая информация про загрузчик. Там собраны некоторые идеи на будущее, это просто набросок, который будет в будущем сильно меняться. Так что, если там найдете некоторые спорные идеи, не удивляйтесь, возможно, скоро будет предложено лучшее решение ;-) > > Замечание. www.osfree.org (так же как и www.os2world.com, на котором он хостится) сейчас в дауне. Там недавно поменяли комп под сервер, так что, возможно, при заходе на сервер будет пустая страница. > > WBR, > Валерий > > PS: > Присоединяйтесь к проекту, нам очень нужны разработчики. До сих пор все только вяло интересуются, не видно конца и края ;( >
__, _,_ _, __, ___,
|_) | | | |_ ` /
| \ | | | , | /
~ ~ `~' ~~~ ~~~ ~~~
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.