Board.KolibriOS.org

Official KolibriOS board
It is currently Sat Dec 04, 2021 9:20 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 72 posts ]  Go to page Previous 1 2 3 4 5 Next
Author Message
 Post subject:
PostPosted: Fri Mar 16, 2007 11:27 pm 
Wildwest
У всех революции происходят осенью у нас весной. Аномалия! :-)

Serge
Quote:
Постоянно ядро разрабатывают два человека.

Пока остается вероятность с забаниванием аккаунтов на общих ресурсах (из-за личной неприязни владельца к пользователю), лично у меня нет желания работать.
Если бы не это то вполне возможно, что в ядре уже было бы: полная поддержка ISO9660 (на чтение, все сессии, все подтипы дескрипторов тома), частичная поддержка UDF( на чтение), доработанная функция валпапера, подключаемые растровые шрифты и возможно частичная поддержка USB (мышь).
При нашем дружном сообществе, где человек человеку: "Товарищ волк знает, кого кушать..." - мы далеко не уедем к сожалению.


Top
   
 Post subject:
PostPosted: Sat Mar 17, 2007 12:47 am 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5598
To Nable
1C запускается в LinuxXP.
Если Винда тебе не надо это не означает что она не надо другим.

To Mario79
Немного не понял про ЮСБ мышь - она у меня и она нормально работает.
Революция? :) Пока что по крайней мере просто ожесточённые баталии. Каждый тут может высказать всё что не сказал за время участия в проекте.


Top
   
 Post subject:
PostPosted: Sat Mar 17, 2007 12:48 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Pavia и все

Хорошо. Вот план.

1. Программное переключение задач
2. Новая система система сообщений
3. Планировщик
4. Диспетчер устройств
5. Загружаемые драйверы и модули в форматах PE и ELF
Можно будет разрабатывать драйверы и сервисы ядра на любом языке
6. Сделать все драйверы загружаемыми
Вот оно - микроядро
7. Оконная система
Если считать что GUI это разные контролы, то GUI в ядре Колибри и нет, есть только очень примитивная оконная система
8. Шрифтовая машина. Здравствуй, WYSIWG

Если это кажется слишким мелким, то вот серьёзная задача:

9. Сделать загрузку фирменныx видеодрайверов для X ( три драйвера ATI весят 20 Мб, ядро Колибри 128 Кб, наверное я идиот).
Система получит аппаратный OpenGL.

Если это кажется слишком сложным то есть огромное количество небольших вещей которые можно/надо сделать. Посмотрите файл memmap.inc Память ядра похожа на швейцарский сыр. Надо упорядочить данные в ядре, убрать все эти
MOUSE_X equ (OS_BASE+0x000FB0A)
MOUSE_Y equ (OS_BASE+0x000FB0C)
и т.п., объявить эти переменные через dd, проверить все ссылки и отловить ошибки.

Хочется получить всё это поскореее ? Нет проблем. Присоединяйтесь !


Top
   
 Post subject:
PostPosted: Sat Mar 17, 2007 5:34 am 
Offline
User avatar

Joined: Thu Mar 01, 2007 4:16 pm
Posts: 443
Phantom-84> ...быть спасательным кругом ... но при этом внушать надежность и мощь
Такого не бывает. Либо спасательный круг, либо надежность, либо мощь.

Я тут человек новый и как либо определять ориентацию KOS не буду. Мне и самому не очень понятно что хочется от это в итоге. Наверное все же инструмент для восстановления. Легко переносимый и гарантированно везде работающий. Было бы здорово (в таком случае) реализовать виртуальную машину в KOS, что бы прямо из интерфейса (не перезагружаясь) можно было попробовать запустить исправляемую платформу (win, nix, и т.д.).

Что касает ядра и планов. Идея создания ядра своими силами не внушает в меня оптимизма. Создание и отладка ядра может затянуться на несколько лет. А все баги промежуточных версий не позволят нормально развиваться прикладному ПО и драйверам системы. Я предлагаю использовать одно из существующих микроядер, это раз, разработать API для различных подсистем прикладного ПО (API прежде всего для ядра) и драйверов, это два. После этого можно вести независимые разработки ядра, ПО и драйверов так что бы никто никому не мешал. Одной из первых задач, так же, должна быть нормальный формат испольняемых фалов, библиотек и драйверов. Будет ли это PE, ELF или свой, не так важно. Для меня проблема одного дня сделать линковщик или конвертер формата в формат.

Я сейчас (в свободное время) разбираюсь с ядрами L4::Pistachio и Minix3, затем посмотрю что находится в KolibriOS, и, если получится, займусь переносом KolibriOS на одно из этих ядер. Но врядли положительных результатов можно ждать в ближайшие месяцы, может их даже не стоит ждать в этом году.

..bw


Top
   
 Post subject:
PostPosted: Sat Mar 17, 2007 9:23 am 
Serge
1. Я написал здесь http://meos.sysbin.com/viewtopic.php?t=662&start=60
2. Имеется в виду Fast System Call или что?
5.
Quote:
Можно будет разрабатывать драйверы и сервисы ядра на любом языке

Убиваем нахер идею ассемблерной ОС на уровне ядра? Получим тот же монстр, что имеется в виде винды и линукса. Не имеет смысла говорить про хорошую оптимизацию - все рано не поверю, что размер и скорость таких драйверов хотя-бы приблизится к ассемблерному аналогу. Я против использования компиляторов высокого уровня для ядра, разве что они компилируют в формат ассемблерных исходников и автор ручками правит получившийся код, однако вряд ли большинство так поступит. Все слишком ленивы.
6. Не получится все сделать загружаемыми - что-то все равно придется оставить хотя бы драйверы основных файловых систем.
8. ИМХО в VESA будет дико тормозить (посмотри на приложение rtfread), не считая того, что само портирование не слабая задача.
9.
Quote:
три драйвера ATI весят 20 Мб, ядро Колибри 128 Кб, наверное я идиот

Поскольку драйвера написаны на С (перекличка с пунктом 5), явно тупиковое решение, если оценивать по размеру кода.

bw
Quote:
Я тут человек новый

В том то и дело, ИМХО основная идея Колибри как раз в том чтобы иметь собственное ядро, написанное на ассемблере. Можете сколько угодно надрываться про переносимость, но если мы говорим о десктопной системе (а именно на нее в основном ориентирована Колибри), то переносимость большой роли не играет, так как дома и в офисе ничего кроме x86 архитектуры не используется.
До тебя тут еще кто-то предлагал уже взяться за переписывание ядра на С, да чего-то пропал вдруг.
Если бы ставилась идея написать еще одни маленький *NIX, то, наверное, мы бы давно уже бросили текущее ядро - однако задача такая не ставилась.


Top
   
 Post subject:
PostPosted: Sat Mar 17, 2007 10:10 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Mario79

2. Очереди событий и дополнительные события от системы: активация/деактивация окна, изменение размеров и положения окна, нормальные события от мыши - перемещение/кнопки/колёсико и т.д.

9 и 5. Мне самому интересно что они туда такое запихали на 20 Мб. Никто в общем не обязан это грузить, но это родные драйверы с полной 2D / 3D акселерацией и родные OpenGL драйверы которые могут работать быстрее чем DirectX в Win.

Имхо неродных видеодрайверов никогда не будет. Ситуация с NV мне не знакома, но с тех пор как ATI стала выпускать свои драйверы для Линукс разработка открытых закончилась.

Всё это похоже на ситуацию с мр3 плеером на асме. Его собирались делать целый год но так и не сделали. Версия на С заработала через три дня.
Ассемблер не самый удобный язык для разработки больших проектов. А многие драйверы и сервисы требуют больших объёмов кода. По мне пусть драйвер будет хоть на HTML лишь бы работал правильно.


Top
   
 Post subject:
PostPosted: Sat Mar 17, 2007 10:52 am 
Offline

Joined: Tue Sep 12, 2006 9:44 pm
Posts: 37
Я полностью согласен с Mario79 , что драйвера должны быть написаны на асме. Колибри изночально делалась как миниатюрная (дискетная ) операционная системма . И если драйвера будут больше 100кб. то вся системма + дрова (основные ) получится больше дискетки.


З.Ы. Пытаюсь навоять драйвер USB


Top
   
 Post subject:
PostPosted: Sat Mar 17, 2007 11:08 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
G@K

А кто их будет писать на асме ? Выбор такой: их нет, зато на асме, или они есть, но на С.


Top
   
 Post subject:
PostPosted: Sat Mar 17, 2007 11:17 am 
Serge
Quote:
Всё это похоже на ситуацию с мр3 плеером на асме. Его собирались делать целый год, но так и не сделали. Версия на С заработала через три дня.

Ну, хорошо ты вот молодец довел до ума код - результат маленький размер плеера, а другие могут и не захотеть доводить, как ты сам сказал:
Quote:
По мне пусть драйвер будет хоть на HTML лишь бы работал правильно.

Но в результате получим не маленькую и шуструю ОС, а опять же монстра навроде последних версий винды и линукса...


Top
   
 Post subject:
PostPosted: Sat Mar 17, 2007 11:22 am 
Offline

Joined: Tue Sep 12, 2006 9:44 pm
Posts: 37
Serge
Могу попробовать


Top
   
 Post subject:
PostPosted: Sat Mar 17, 2007 11:27 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Mario79

Я вообще никакой оптимизацией не занимался. В чистом виде код занимет 50 Кб. Спасибо kpack.

>Но в результате получим не маленькую и шуструю ОС, а опять же монстра навроде последних версий винды и линукса...

Пусть будет возможность выбора и каждый решает сами что ему нужно - размер или функциональность.


Top
   
 Post subject:
PostPosted: Sat Mar 17, 2007 1:06 pm 
Offline
User avatar

Joined: Thu May 19, 2005 4:43 pm
Posts: 896
На ассемблере нужно писать драйверы для тех устройств, информация о которых открыта или имеются открытые реализации драйверов для них.Если этой информации нет и размер родного драйвера для win или nix небольшой(не больше 300-400 килобайт), то можно дизассемблировать код и изучать его(как это сделал Diamond).

Если говорить о драйверах для карт Nvidia и ATI, то при всём нашем старании мы не сможем сделать полную 3D акселерацию.
В ядре Linux есть открытые 2D драйверы для этих видеокарт.Поэтому их можно переписать на ассемблер.
В исходниках DirectFrameBuffer-а я нашел простые 3D драйверы для видеокарт Nvidia и некоторых видеокарт ATI.
При всём умении работать с IDA, мы не сможем изучить дизассемблированный код размером 35 мегабайт(размер дизассемблированного драйвера для win).
Как мне удалось выяснить, основная причина, почему видеодрайверы весят много - это наличие в них библиотек, содержащих информацию на разных языках(разговорных язаках, а не языках программирования).И всякие сервисы для управления драйвером системой.А сами видеодрайверы весят несколько мегабайт(4-7 мегабайт).
Хотя идея с громодскими драйверами противоречит концепции колибри, но всеравно придется как-то прикручивать иксовые видеодрайверы, если мы хотим 100% аппаратную акселерацию.Хотя можно ими не пользоваться, а довольствоваться открытыми 2D драйверами и простыми 3D драйверами+ програмная эмуляция.


Top
   
 Post subject:
PostPosted: Sat Mar 17, 2007 2:48 pm 
Offline
Site Founder
User avatar

Joined: Sun Aug 08, 2004 8:55 am
Posts: 693
Serge wrote:
Пусть будет возможность выбора и каждый решает сами что ему нужно - размер или функциональность.

Serge wrote:
Всё это похоже на ситуацию с мр3 плеером на асме. Его собирались делать целый год но так и не сделали. Версия на С заработала через три дня.
Ассемблер не самый удобный язык для разработки больших проектов.

Думаю, ты понимаешь, что большинство современных пользователей предпочтут функциональность, а следовательно Си, а следовательно Ассемблер как бы пойдёт на*й со временем. Не очень радужная перспектива, лично для меня (и я тут не говорю, что я не знаю ничего кроме Ассемблера, просто Менует и Колибри - это единственные ОСи, под которые я не задумываюсь на каком языке писать - это всегда именно Ассемблер, без вариантов).


Top
   
 Post subject:
PostPosted: Sat Mar 17, 2007 3:48 pm 
По поводу отделения ядра от GUI.

Есть два ярких примера: Windows и Linux
И у второго очень большие проблемы в скорости отрисовки ДЕ.
И этих самых ДЕ тоже получилось куча KDE, GNOME, XFCE а также оконные менеджеры Enlightenment, Icewm, Window Maker.
Они произвели на свет множество однотипных приложений(так как ДЕ написаны на разных библиотеках). А так как предпочтения у пользователей разные, то мы имеем установку GTK+ компонент в KDE систему например или библиотек QT в GNOME. (сам пользую KDE, но xmms обожаю)

Я думаю что стоит 100 раз подумать прежде чем делать такой кардинальный шаг.

Да, для серверной ОС GUI как бы не нужен, но колибри это будущая серверная ОС или всётаки десктоп? Если десктоп, то GUI отделять нельзя.

Да в продолжении темы про маленькую ОС. На асме не написать такие вещи как Firefox, Thunderbird, OOo их придётся портировать. Но на асме можно написать небольшие программы типа видео просмотрщика, аудио плеера, смотрелку картинок, программу записи дисков...


Top
   
 Post subject:
PostPosted: Sat Mar 17, 2007 4:39 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
mike.dld

> Думаю, ты понимаешь, что большинство современных пользователей предпочтут функциональность

Проблема в том что этих драйверов всё равно не будет. Для Колибри и МеОС уже несколько лет можно писать программы на С и что много серьёзного софта портировано ?

Да это размывание принципов и угроза чисто ассмеблерному ядру но я не вижу другого выхода.
За год написано всего несколько драйверов. Не успел я сделать драйвер для АС97 как Интел сняла его с производства это уже устаревшее железо, с SATA проблемы, vrr не работает на ATI x1K.
Аудиочипы в сложности начали тягаться с видео. Реалтековский драйвер для HDA кодеков больше 200 Кб на Си. Не ясно как к нему подступиться. Железо становится всё сложнее и сложнее. Система оказывается в резервации с очень маленькими шансами выбраться.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 72 posts ]  Go to page Previous 1 2 3 4 5 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited