Новая ветка ядра

Kernel architecture questions
  • Mario wrote:
    А каков объём этого "не всего"?
    Точно смогу сказать когда и если буду это делать. В данный момент я больше ковыряюсь с приложениями.
    Если обнаружится, что кардинальной переделке надо подвергнуть, скажем, 80% кода, не означает ли это, что проще всё написать заново? Ну а в случае перехода на 64-разрядный код, сами понимаете, придётся переписывать все 100% (хотя можно сделать "трансляцию", но это ж будет опять-таки костыль, к тому же не шибко эффективный, да и не всё так перенести можно, так что такой путь обсуждать особого смысла нет).
    Это требует как минимум умения динамически загружать/выгружать драйверы (для PnP) и выстраивания иерархии драйверов, где запросы к одному устройству могут обрабатываться разными драйверами (для управления питанием). Оно в КОС реализовано
    Загрузка есть при старте и во время работы, выгрузки пока к сожалению нет.
    Ну а как выбирается, что грузить? Система-то всё сама должна искать, на то и PnP придуман... (плюс выгрузку делать, но я, есно, не буду утверждать, что сие невозможно).
    Приложений не коснётся, однако это не только менеджер памяти -- ещё как минимум ввод-вывод будет затронут (получив запрос на ввод-вывод, надо проверить, находятся ли в физической памяти все требущиеся области, а также зафиксировать соответствующие страницы, чтобы до окончания ввода-вывода они не были выкинуты из ОЗУ в файл подкачки). Так что проблема несколько сложней, чем кажется на первый взгляд.
    Я разве говорил что это будет легко? Это реализуемо и не фантастика. :mrgreen:
    Ну так в том и дело, что могут потребоваться настолько большие изменения, что проще сделать заново.
    А корректно требовать от других того, что сами не соблюдаете? :lol:
    И да, и нет. Если б это зависело только от меня, то я бы решал задачу по-другому изначально. Конечно, всего предусмотреть бы сразу не удалось, но многое было бы сделано сразу и без всяких костылей. Но увы, задачу спускает начальство :) Ну а когда делаешь сам -- там уместно от себя же требовать соблюдения правильной "технологии разработки", так сказать.
    Кстати говоря, слышать про то, какое моё творение будет замечательное, Вы никак не могли -- вероятно, запамятовали Я нигде не утверждал, что мои творения самые правильные и т.д. и т.п.
    Очевидно создалось такое впечатление от общего контекста высказываний. Кстати читал ваши посты не только здесь, так что... :mrgreen:
    Может быть, может быть. Я действительно считаю, что во многих случаях знаю, как надо действовать правильно (и по возможности так и действую сам). Но на роль Господа Бога не претендую, а значит, и не являюсь непогрешимым авторитетом во всех областях сразу :)
  • Serge wrote:А пока вы тут ломаете копья я тихо пилю диспетчер устройств.
    Кто может работать -- работает. Кто не может -- тот учит. А кто и учить не способен -- тот управляет :)))
  • Serge
    Вот потому что ты и diamond тихо пилите и очень кратко освещаете - люди через полгода в лучшем случае докумекивают "все уже украдено написано до нас". Хотя по человечески я понимаю, что так проще "все дураки и не лечитесь, один я умный и красивый и на коне". :lol:

    Но при таком подходе о какой коллективной работе может вообще идти речь. Сообщество ярых индивидуалистов. Были есть и будем есть...

    Вот я, к примеру, взял за правило широко освещать свою деятельность с некоторых пор - да некоторых раздражает такое, но зато никаких непоняток.
  • Вообще если по-серьезному подходить к сабжу, то ветка про новое ядро, должна содержать и базироваться:
    1. НА ПОЛНОМ ОПИСАНИИ ТЕКУЩЕГО ПРИНЦИПА РАБОТЫ ЯДРА ссылка (чтобы могли понять и учиться все, даже вновьприбывшие школьноки в проекте) Это полезно и в образовательных целях и в плане заскочил некий спец, глянул, увидел, заметил, предложил и т.д.
    2. ПОЛНОМ ПЕРЕЧНЕ СУЩЕСТВЕННЫХ НЕДОСТАТКОВ ЯДРА (ветка о нем собственно) пусть этот перечень неполный будет и будет рости не беда, а даже хорошо, чтобы видеть и знать и не только ядерщикам естественно.... Бояться тут НЕЧЕГО! И злобиться на кого либо тоже. Это нормально, это конструктивно, это домашняя работа над ошибками, это подвигает на поиск решений, идеи, обоснования....
    3. из п.1 и п.2 может кодиться действительно НОавя концепция ядра (проекта)
    4. концепт, должен быть не только перспективен, но и минимизирован (или разбит на этапы ЭВОЛЮЦИОННОГО роста, развития) вписан в реальные обьемы, силы, опыт, нереального не брать, но планировать можно (не фантизировать, а планировать, барироваться на...) желательно поличностную раздачу (об отделе кадров уже писал выше) с инициативы личности собственно, плюс взаимное пересечение будет только плюсом.
    5. Блин! Максимыч! Ты успеваешь, конспектировать то? А? :mrgreen: Где ты есть? Тут стока щазззссссс понафлудим, тока успевай просеивать ценные мысли, йО! :mrgreen:
  • Если обнаружится, что кардинальной переделке надо подвергнуть, скажем, 80% кода, не означает ли это, что проще всё написать заново? Ну а в случае перехода на 64-разрядный код, сами понимаете, придётся переписывать все 100% (хотя можно сделать "трансляцию", но это ж будет опять-таки костыль, к тому же не шибко эффективный, да и не всё так перенести можно, так что такой путь обсуждать особого смысла нет).
    Про 64-х битный код речи нет - там система будет перепроектирована. Путь Вилле тут не приемлем.
    Ну а как выбирается, что грузить? Система-то всё сама должна искать, на то и PnP придуман... (плюс выгрузку делать, но я, есно, не буду утверждать, что сие невозможно).
    Как я говорил вопросы не ком не - не я делал, но если посмотреть шире Menuet не умел определять наличие дисков (не знаю как в 64-х битной версии теперь, но в 32-х битной такого нет), но мы это сделалил (сначала я, потом другие допилили).
    Ну так в том и дело, что могут потребоваться настолько большие изменения, что проще сделать заново.
    Есть два пути и я не отрицаю их оба.
    Ну а когда делаешь сам -- там уместно от себя же требовать соблюдения правильной "технологии разработки", так сказать.
    Все что изготавливается с нуля в системе как раз и подлежит обязательному перепроектированию, все что исправляется зачастую тоже - просто это кроме кода нигде не документируется.
    Может быть, может быть. Я действительно считаю, что во многих случаях знаю, как надо действовать правильно (и по возможности так и действую сам). Но на роль Господа Бога не претендую, а значит, и не являюсь непогрешимым авторитетом во всех областях сразу
    Ну, да кусты иногда тоже выход. :lol:
  • Mario wrote:Вот потому что ты и diamond тихо пилите и очень кратко освещаете - люди через полгода в лучшем случае докумекивают "все уже украдено написано до нас". Хотя по человечески я понимаю, что так проще "все дураки и не лечитесь, один я умный и красивый и на коне". :lol:
    Ну а я делаю своё и вообще в сторонке :) На самом-то деле, если организовать работу правильно (с моей точки зрения правильно -- т.е. начать с достаточно чёткого проектирования, с постепенно уточнения проекта до степени, пока это возможно без реального кодирования, основываясь только на "теории", и лишь потом приступить к кодированию, при этом строго придерживаться проекта, а где это окажется невозможным -- вновь собираться и заниматься до/перепроектированием проблемного участка, чтобы всё оставалось логически цельным), то я б в ней не отказался поучаствовать, ну а так, как сейчас -- пустая трата времени и сил. Да и своей работы (за которую зряплату платят) по-любому хватает, хотя не настолько, чтобы отвлекаться не мог.
  • Serge wrote:А пока вы тут ломаете копья я тихо пилю диспетчер устройств.
    Ага, здорово и он базируется на КПСВВ, для синхронного ввода-вывода через порты и юзает таймерные вещи в совокупности IRQ0 и IRQ8, причем такт IRQ8=8192Гц!
    Ну жду, жду, самое то, что мне надо, тут драйверных решений накопилось... чеТ осенью поЖелезячить приходится... :D
  • VaStaNi wrote: 2. ПОЛНОМ ПЕРЕЧНЕ СУЩЕСТВЕННЫХ НЕДОСТАТКОВ ЯДРА (ветка о нем собственно) пусть этот перечень неполный будет и будет рости не беда, а даже хорошо, чтобы видеть и знать и не только ядерщикам естественно.... Бояться тут НЕЧЕГО! И злобиться на кого либо тоже. Это нормально, это конструктивно, это домашняя работа над ошибками, это подвигает на поиск решений, идеи, обоснования....
    Не согласен. Вернее сомневаюсь. Наличие такого списка - учитывая с какой скоростью мы работаем приведет к написанию вредоносного кода. Как ни крути ломать проще и желающие этим заняться найдутся. Хоть на форуме таких и гнобят с моей подачи в свое время.
    VaStaNi wrote: 5. Блин! Максимыч! Ты успеваешь, конспектировать то? А? :mrgreen: Где ты есть? Тут стока щазззссссс понафлудим, тока успевай просеивать ценные мысли, йО! :mrgreen:
    Немного перефразируя слова SII - есть веское мнение и есть тяжелый и продолжительный труд. Это две большие разницы.
  • Mario wrote: Про 64-х битный код речи нет - там система будет перепроектирована. Путь Вилле тут не приемлем.
    Ну так, может, и стоило бы заняться этим? Можно параллельно что-то допиливать в том, что уже есть (в конце концов, опыт-то приобретается, особенно если делаешь что-то новое для себя), но ведь понятно, что в будущем, причём не в отдалённо-туманно-неопределённом, ПК полностью перейдут на 64-разрядную платформу (все чисто 32-разрядные процессоры уже достаточно давно как сняты с производства, ну а ОС пишется достаточно долго, чтобы не заморачиваться поддержкой откровенного антиквариата).
  • SII wrote:
    Mario wrote:Вот потому что ты и diamond тихо пилите и очень кратко освещаете - люди через полгода в лучшем случае докумекивают "все уже украдено написано до нас". Хотя по человечески я понимаю, что так проще "все дураки и не лечитесь, один я умный и красивый и на коне". :lol:
    Ну а я делаю своё и вообще в сторонке :) На самом-то деле, если организовать работу правильно (с моей точки зрения правильно -- т.е. начать с достаточно чёткого проектирования, с постепенно уточнения проекта до степени, пока это возможно без реального кодирования, основываясь только на "теории", и лишь потом приступить к кодированию, при этом строго придерживаться проекта, а где это окажется невозможным -- вновь собираться и заниматься до/перепроектированием проблемного участка, чтобы всё оставалось логически цельным), то я б в ней не отказался поучаствовать, ну а так, как сейчас -- пустая трата времени и сил. Да и своей работы (за которую зряплату платят) по-любому хватает, хотя не настолько, чтобы отвлекаться не мог.
    Вообще-то я Serge писал, не успел только в заголовок вставить.
    В проекте нужны не просто теоретики, но теоретики-практики иначе все бессмысленно.
  • SII wrote:
    Mario wrote: Про 64-х битный код речи нет - там система будет перепроектирована. Путь Вилле тут не приемлем.
    Ну так, может, и стоило бы заняться этим? Можно параллельно что-то допиливать в том, что уже есть (в конце концов, опыт-то приобретается, особенно если делаешь что-то новое для себя), но ведь понятно, что в будущем, причём не в отдалённо-туманно-неопределённом, ПК полностью перейдут на 64-разрядную платформу (все чисто 32-разрядные процессоры уже достаточно давно как сняты с производства, ну а ОС пишется достаточно долго, чтобы не заморачиваться поддержкой откровенного антиквариата).
    viewtopic.php?f=1&t=1292
    Сумбурно и естественно не все потому и "предварительные". Это не рабочий проект - сейчас я вижу некоторые неточности.
  • SII wrote:Кто может работать -- работает. Кто не может -- тот учит. А кто и учить не способен -- тот управляет :)))
    Эт кто сказанул? Личность.
  • Mario wrote:В проекте нужны не просто теоретики, но теоретики-практики иначе все бессмысленно.
    Ну, это понятно. Точнее говоря, хорошим теоретиком может быть только тот, кто уже имеет достаточный уровень практики, но по особенностям характера и т.п. больше склонен к теоретической, а не к практической работе.
    Сумбурно и не естественно не все потому и "предварительные". Это не рабочий проект - сейчас я вижу некоторые неточности
    Ну, рабочий проект применительно к ОС -- это не одна сотня (а скорей, даже тысяча) страниц :) Почитаем-с.
  • VaStaNi wrote:
    SII wrote:Кто может работать -- работает. Кто не может -- тот учит. А кто и учить не способен -- тот управляет :)))
    Эт кто сказанул? Личность.
    Это законы Мэрфи. Погугли.
  • Who is online

    Users browsing this forum: No registered users and 5 guests