Новая модель ядра

Kernel architecture questions
  • Wildwest
    Новые программы не заработают в МеОС без перекомпиляции и наоборот. У них стартовый адрес будет примерно 0х80000024
    а app_mem ещё больше. Ни МеОС, ни нынешняя Колибри не смогут их загрузить. Поэтому можно разрабатывать любой заголовок с возможностью автоматической загрузки ДЛЛ и вообще всё что придёт в голову.
    Да и видимо в новом дистре программы будут упаковыны kpack-ом про который МеОС ничего не знает.
  • Может тогда смотреть в сторону ELF/PE ? Не зря их ктото придумывал, и проблемы с компиллерами отпадут, всё будет упиратся только в библиотеку.
  • Вообще лучше сделать загрузку и PE и ELF, чтобы можно было пользоваться любым компилятором. Если есть способ прилинковать PE DLL к ELF программе и наоборот то замечательно. Я бы сделал mp3 декодер в виде DLL и звуковую библиотеку чтобы проще было программировать.
  • > Если негде, я могу выделить достаточно места на kolibrios.org для блога или чего-либо подобного.

    planet.kolibrios.org (а-ля гномовские проекты) и может когда-нибудь появится раздел скриншотов

    http://planet.abiword.com/
    http://planet.gnome.org/
  • Кажется я понял почему у меня скомпилированные в Колибри программы приводят после запуска к полному зависанию системы.Виной всему - FASM для Колибри.
    Если скомпилировать программу FASM-ом из виндовс,то программы в Колибри работают без зависания.А если скомпилировать FASM-ом из Колибри,то вне зависимости от уровня сложности программы, они могут легко привести к полному зависанию системы.Я проверял это даже на очень простеньких программах типа "Hello world!".Всё подтверждается.
    На этом приколы Колибривского FASM-а не заканчиваются.Очень часто вместо сообщения об ошибке на доске отладки появляется сообщение " ошибка в строке xxx use32".А иногда на доске отладки появляются куски кода.При компиляции программ,находящихся в дальних директрориях часто появляется ошибка "out of memory".

    Надо что-то с этим делать.Просто так оставлять это нельзя.
  • andrew_programmer
    Я сейчас сильно занят но потом надо будет сравнить программы скомпилированные в KOС и WIN. Хотя я компилировал в Колибри и всё работало.
  • При компиляции драйвера Колибри-FASM выдаёт почему-то бинарник без всяких следов COFF-заголовка.
  • andrew_programmer
    А можешь выложить или послать мне какую-нибудь "вешающую" программу? В идеале даже неправильная программа не должна вешать систему намертво.
  • Обнаружил интересные подробности.
    Оказывается,зависание скомпилированной программы происходит только в том случае, если запустить её из Tinypad-а.А если запустить программу через файловые менеджеры,то всё нормально работает.Возможно баг в ядре связан с функциями работы с файлами.

    >А можешь выложить или послать мне какую-нибудь "вешающую" программу?

    Оказалось,что программы скомпилированные FASM-ом из виндовс и из Колибри - одинаковы.А вот если DLL Колибри-FASM-ом компилировать,то она не работает.Возможно по причине,описанной выше.
  • andrew_programmer
    Скорее всего, это зависание вызвано теми же эффектами, что и замеченное в k0640pre "Меню->Графика->ANIMAGE виснет", которое исправлено в svn.321.
    Если компилировать DLL и вообще любой файл не в формате binary, то заголовка не будет. Это связано с тем, что портированные функции read и write читают/пишут с начала файла, а не с текущей позиции.
  • Заметим тут же, что при запуске из Tinypad'а на самом деле происходит запуск FASM'а, который программу ещё раз компилирует и потом запускает. То есть проблема может быть или в ядре, или в FASM'е.
  • В ревизии 332 FASM корректно генерирует не-двоичные файлы. Так что DLL и драйверы теперь компилятся нормально.
  • Чтобы тема не затерялась, повторюсь и здесь:
    В ревизии 329: МЕНЮ-ВЫХОД-ПЕРЕЗАПУСК и система виснет
    . В общем система завизает при любом обращении к функции выключения/перезагрузки.
  • Heavyiron
    Думаю вопрос все же к Serge
    Начиная с ревизии 329, ядро не перезагружается (и из памяти тоже) и не выключается.
  • Who is online

    Users browsing this forum: Google [Bot] and 7 guests