Плоская модель памяти

Kernel architecture questions

POLL Нужна ли Колибри плоская модель памяти

Total votes: 41
Да. Это хорошая идея
93%
38
Нет. Нам необходима совместимость с программами для МеОС
2%
1
Давайте подождём пару лет
5%
2

  • Да, водимо я ошибался, таблици ACPI тоже в низу памяти, так что беру свои слова обратно.
  • Я так понимаю, что процесс переделки может занять несколько недель и имеет смысл выпустить некий "последний совместимый с МЕОС" релиз, а затем начать работу над новым релизом 0.7, в котором будут эти изменения и возможно изменения в оконной системе от Майка.
    ЗЫ: В принципе сегодняшняя Силлабле тоже несовместима с Atheos, от которой она произошла.
  • Wildwest
    Я хотел подождать до июля. За это время подготовить изменения и решить проблему с программами без исходников. Может сделать пробную версию на основе того дистриба что будет.
  • >Я хотел подождать до июля
    Я никого не тороплю, просто хочется иметь хоть какую-то определенность (план развития), а то у нас каждый месяц какие-то обсуждения и в итоге две трети идей остаются обсужденными, но не реализованными.
  • Wildwest
    итоге две трети идей остаются обсужденными, но не реализованными
    Ничего не напоминает?
  • >Ничего не напоминает?
    Легендарный MeFS :)
  • и опять проголосовало полтора десятка человек...
  • Вот что получилось:

    http://infinity-sound.narod.ru/flat.7z

    0x00000000 -> 0x7FFFFFFF приложения 2Gb
    0x80000000 -> 0xFDBFFFFF ядро и куча ядра
    0xFDC00000 -> 0xFDFFFFFF таблицы страниц 4Mb
    0xFE000000 -> 0xFFFFFFFF Видеопамять 32Mb

    Ядро взлетело вверх так что перекомпилировать программы не надо.
  • Я немного отстал от темы: что конкретно нужно изменять в своих программах, чтоб обеспечить работу в новой модели?
    Почему не запустятся старые проги?
  • Nable

    Программы менять не надо. Просто копируешь файлы в дистрибутив.
  • Serge
    Я вот чето не понял почему видео память фиксирована и имеет размер 32МБайта.
    Тут вопрос есть ли сервис в колибри для того чтобы закрепить физическии аддреса за собой в своем(или ядра) виртуальном пространстве?
  • Pavia

    Это должна быть общедоступная часть LFB. В Колибри программы могут писать в видеопамять напрямую через специальный селектор. Его можно вычислить по gdt но надёжнее получить через системный вызов. Когда появилась страничная память он стал не нужен но остался для совместимости. В принципе драйвер должен отображать на эти адреса столько памяти сколько надо для текущего видеорежима а остальные страницы оставлять неприсутствующими. Остальной локальной видеопамятью должен управлять драйвер. Размер взят с запасом на максимальное разрешение 3072*1536*32bpp. Реально сейчас отображается 8 Мб независимо от режима.

    Сервисы есть. Две функции map_page и commit_pages (в memory.inc) Отображают страницы по любым адресам. Для приложений они недоступны. Если надо отобразить регистры устройств то можно зарезервировать диапазон адресов через alloc_kernel_space а потом отобразить на него нужные страницы.
  • Плоское ядро уже довольно стабильно, по крайней мере на моей системе. Уже можно имхо сливать его с trunk, чтобы упростить и ускорить разработку и избежать неразберихи с ядрами ;) Или есть еще какие принципиальные недоработки?
  • Heavyiron

    Принципиальных нет. Надо поправить отладчик.
    И ещё проверить сетевой код.
  • Who is online

    Users browsing this forum: No registered users and 3 guests