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

No comments
  • Я, в общем-то, смчитаю немного по-другому... Я считаю более нужным вынести все это постепенно из самого ядра... В текущем проекте. Т.е. вы предлагаете мне разрабатывать свое ядро? Или все-таки, есть возможность обсудить это с другими участниками проекта и уже не заниматься "отсебятиной"? А переделывать ядро придется полностью и не один раз, а много. Оно будет вылизываться непрерывно, на протяжении всей жизни проекта. Так вот, хотелось бы сделать эти переделки более редкими, и пошаговыми (внедрение в текущее ядро)...
  • Врядли ядро Minix3 или ядра L4 будут часто переписываться :-). Если говорить о текущем ядре, то да, оно еще очень долго очень часто будет подвергаться модификации. Мне вообще казалось, что я объяснился достаточно ясно, ну что ж, повторюсь. Я считаю утопией переписывать ядро с 0 и одновременно делать сервера для видео, звука и всего остального. Нужно разработать инфраструктуру микроядра для текущего и постепенно переносить "драйвера" в сервисы/сервера. Этим вполне (по моему мнению) может занять один человек, без согласования. Если бы у меня хватило квалификации, я бы занялся такой модификацией ядра самостоятельно, а не разглагольствовал тут.

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

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

    ..bw
  • Ну, не совсем ты меня понимаешь, или я какую-то хрень совсем несу... Нужно это делать не одному человеку... По-крайней мере. прорабатывать желаемую концепцию ядра, да и всей системы в общем, разработать моджель памяти, принять внутренние стандарты... Только после этого можно начинать собственно говоря, модификацию... Чтобы не получилось нечто неудобоваримое, чтобы все было как можно более идеально. И чтобы была поддержка со стороны других разработчиков.. Ато моя модификация может повлиять на модель памяти (я считаю, что так лучше), и в результате... Это всего лишь пример...
  • Понятно.
    Просто я недостаточно ориентируюсь в вопросах и как обсуждаемая модификация/доработка до микроядра :-) скажется на модели памяти не понимаю.
    Но перенос "драйверов" на уровень приложений подстегнуло бы разработку KolibriOS. (Лично мне было бы значительно проще.)

    ..bw
  • Да, я тоже так считаю... Это было бы проще... Но нужно обговорить концепцию, да и надо ли вообще это все? Если да, то переходить к микроядру уже постепенно, от существующего, по возможности оставляя обратную совместимость...
  • Думаю понятно что я, да и не один я, высказался в пользу архитектуры микроядра. И понятно что мгновенный переход невозможен. Остается только вариант постепенного перехода. Буду ждать и с интересом наблюдать за переходным периодом (помогу чем смогу).

    ..bw
  • bw
    Это в винде для доступа к портам ввода-вывода с прикладного уровня нужно писать драйвер типа giveio. В Menuet/Kolibri поддержка такого уже есть на уровне API (функция 46 - зарезервировать/освободить группу портов).
    Ушёл к умным, знающим и культурным людям.
  • У меня не вышло. Есть такое мнение что этими функциями можно пользоваться только из ядра или драйверов.

    ..bw
  • ))) Смотри GMon

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

    резервировать нельзя, см. kernel.asm reserve_irqs_ports
  • ...или документацию на функцию 46. Там подробно описаны уже зарезервированные порты и возможные причины неудач.
  • To Mario79
    х86 это вообще мазохизм, один Intel Arch Manual чего стоит, травы там немеряно :D
    [/b]To w-tools[/b]
    Увы, да, кривой. Собственно, если применять микроядро к строительству ОС на х86, то неизбежно возникнет проблема - что делать с overhead-ом при переключении контекстов на подсистемы в userspace и пересылке данных туда-сюда (ring3->ring0)?
  • Берётся в руки http://l4ka.org/projects/pistachio/l4-x2-r5.pdf и пишется по спецификации на ассемблере.

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

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

    Помяните моё слово.
  • Учитесь! :) (3 days ago)
    #3. OS на Rust - Создание куч (heaps). https://www.youtube.com/watch?v=PNvfh2L_BmQ
    ...
    А, "Вы" тут в ассемблер упарываетесь.

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

    Users browsing this forum: No registered users and 3 guests