Page 3 of 4

Posted: Sun Apr 01, 2007 3:25 pm
by bw
Нельзя (невозможно) сразу переделать ядро и понаписать кучу серверов/сервисов. Это должен быть постепенный процесс. Начни с планирования этого процесса. Разработай и реализуй, к примеру, инфраструктуру сервисов в ядре (системе). Тут хотелось бы предусмотреть стабильность системы, как в Minix3. Реанкарнация, вырубания процессов и пр. Это можно внедрять в текущее ядро, без его полной переделки, так ведь?

p.s. Кстати хотелось бы заиметь драйвер вроде giveio ;-).

..bw

Posted: Sun Apr 01, 2007 3:38 pm
by Nameless
Я, в общем-то, смчитаю немного по-другому... Я считаю более нужным вынести все это постепенно из самого ядра... В текущем проекте. Т.е. вы предлагаете мне разрабатывать свое ядро? Или все-таки, есть возможность обсудить это с другими участниками проекта и уже не заниматься "отсебятиной"? А переделывать ядро придется полностью и не один раз, а много. Оно будет вылизываться непрерывно, на протяжении всей жизни проекта. Так вот, хотелось бы сделать эти переделки более редкими, и пошаговыми (внедрение в текущее ядро)...

Posted: Sun Apr 01, 2007 3:59 pm
by bw
Врядли ядро Minix3 или ядра L4 будут часто переписываться :-). Если говорить о текущем ядре, то да, оно еще очень долго очень часто будет подвергаться модификации. Мне вообще казалось, что я объяснился достаточно ясно, ну что ж, повторюсь. Я считаю утопией переписывать ядро с 0 и одновременно делать сервера для видео, звука и всего остального. Нужно разработать инфраструктуру микроядра для текущего и постепенно переносить "драйвера" в сервисы/сервера. Этим вполне (по моему мнению) может занять один человек, без согласования. Если бы у меня хватило квалификации, я бы занялся такой модификацией ядра самостоятельно, а не разглагольствовал тут.

p.s. Предпочтительнее на ТЫ.

..bw

Posted: Sun Apr 01, 2007 4:05 pm
by bw
Я не зря упомянул giveio. Мне проще разрабатывать (или просто ковырять) драйвера и приложения, если нет необходимости лезть в код ядра и что-то там менять. Я, например бы, попробовал написать несложное приложение для работы с тюнером на bt878. Разобрался бы с видео VMware. Может еще чем помог бы. Причем скорее всего на FreePascal, а не на Assembler'е, который я несколько не долюбливаю :-).

..bw

Posted: Sun Apr 01, 2007 4:12 pm
by Nameless
Ну, не совсем ты меня понимаешь, или я какую-то хрень совсем несу... Нужно это делать не одному человеку... По-крайней мере. прорабатывать желаемую концепцию ядра, да и всей системы в общем, разработать моджель памяти, принять внутренние стандарты... Только после этого можно начинать собственно говоря, модификацию... Чтобы не получилось нечто неудобоваримое, чтобы все было как можно более идеально. И чтобы была поддержка со стороны других разработчиков.. Ато моя модификация может повлиять на модель памяти (я считаю, что так лучше), и в результате... Это всего лишь пример...

Posted: Sun Apr 01, 2007 4:38 pm
by bw
Понятно.
Просто я недостаточно ориентируюсь в вопросах и как обсуждаемая модификация/доработка до микроядра :-) скажется на модели памяти не понимаю.
Но перенос "драйверов" на уровень приложений подстегнуло бы разработку KolibriOS. (Лично мне было бы значительно проще.)

..bw

Posted: Sun Apr 01, 2007 4:47 pm
by Nameless
Да, я тоже так считаю... Это было бы проще... Но нужно обговорить концепцию, да и надо ли вообще это все? Если да, то переходить к микроядру уже постепенно, от существующего, по возможности оставляя обратную совместимость...

Posted: Sun Apr 01, 2007 5:03 pm
by bw
Думаю понятно что я, да и не один я, высказался в пользу архитектуры микроядра. И понятно что мгновенный переход невозможен. Остается только вариант постепенного перехода. Буду ждать и с интересом наблюдать за переходным периодом (помогу чем смогу).

..bw

Posted: Mon Apr 02, 2007 5:12 pm
by diamond
bw
Это в винде для доступа к портам ввода-вывода с прикладного уровня нужно писать драйвер типа giveio. В Menuet/Kolibri поддержка такого уже есть на уровне API (функция 46 - зарезервировать/освободить группу портов).

Posted: Mon Apr 02, 2007 6:37 pm
by bw
У меня не вышло. Есть такое мнение что этими функциями можно пользоваться только из ядра или драйверов.

..bw

Posted: Mon Apr 02, 2007 8:19 pm
by Ghost
))) Смотри GMon

P.S. порты из диапазонов :
0x00-0x2d
0x30-0x4d
0x50-0xdf
0xe5-0xff

резервировать нельзя, см. kernel.asm reserve_irqs_ports

Posted: Mon Apr 02, 2007 9:19 pm
by diamond
...или документацию на функцию 46. Там подробно описаны уже зарезервированные порты и возможные причины неудач.

Posted: Fri May 25, 2007 10:05 pm
by smb-
To Mario79
х86 это вообще мазохизм, один Intel Arch Manual чего стоит, травы там немеряно :D
[/b]To w-tools[/b]
Увы, да, кривой. Собственно, если применять микроядро к строительству ОС на х86, то неизбежно возникнет проблема - что делать с overhead-ом при переключении контекстов на подсистемы в userspace и пересылке данных туда-сюда (ring3->ring0)?

Re: Давайте напишем МИКРО ЯДРО

Posted: Thu Oct 04, 2007 5:18 pm
by alman
Берётся в руки http://l4ka.org/projects/pistachio/l4-x2-r5.pdf и пишется по спецификации на ассемблере.

Тот, кто это сделает, увековечит своё имя в компьютерной истории. Естественно, при условии качественной реализации.

Тот, кто сможет воплотить эту спецификацию в коде на Verilog/VHDL, обеспечит себя и свою семью на несколько поколений.

Помяните моё слово.

Re: Давайте напишем МИКРО ЯДРО

Posted: Wed Nov 11, 2020 12:38 pm
by Kopa
Учитесь! :) (3 days ago)
#3. OS на Rust - Создание куч (heaps). https://www.youtube.com/watch?v=PNvfh2L_BmQ
...
А, "Вы" тут в ассемблер упарываетесь.

P.S. Интересно, сколько лет автору видео.