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

Kernel architecture questions
  • Serge
    Diamon что-то писал в одной из веток, про изменения в связи с прибиванием потоков - может вы где-то пересеклись в исправлениях?
  • Похоже что ошибка в checkmisc:

    Code: Select all

        mov   edx,0x3040
        movzx ecx,byte [0xff00]
        add   ecx,5
      markz:
        mov   [edx+TASKDATA.state],byte 3
        add   edx,0x20
        loop  markz 
    функция маркирует все слоты не проверяя заняты они или нет

    Там вообще весь код как-то странно устроен.
  • Diamond что-то писал в одной из веток, про изменения в связи с прибиванием потоков - может вы где-то пересеклись в исправлениях?
    Изменения не мои и двухгодичной (или больше) давности, так что нет...
    Serge
    Ага, именно так. Я так понимаю, ревизия 334 это корректно обходит?
  • Я поставил в terminate() проверку на dir_table. У незанятых слотов там 0. А как должен был работать этот код не понятно. Зачем прибавлять 5 и не к числу потоков а к номеру потока вызвавшего shutdown().
  • Сделал динамическое выделение PL 0 стека. Удалось загрузить с систему с 12Мб ОЗУ.
  • Serge
    Замечательно.
    А ты точно уверен, что было 12 Мб - это физическое или логическое ограничение?
  • Запустил с 12 мб в qemu! Gmon показал 468 kb свободной памяти. Некоторые программы работают, некоторые нет - памяти не хватает.
  • Можно освободить ещё 2.5 Мб. 512Кб за счёт дыры по адресам 780000 - 800000. Это я уже сделал, скоро выложу. Остальное за счёт TSS и iomap. В карте памяти есть ещё дыры, возможно что удасться ещё ужаться. Ядро может спокойно влезть в 8 Мб и ещё останется место. Много места занимают потоки ICON. Надо будет сделать Desktop окно.
  • Serge wrote:Можно освободить ещё 2.5 Мб. 512Кб за счёт дыры по адресам 780000 - 800000. Это я уже сделал, скоро выложу. Остальное за счёт TSS и iomap. В карте памяти есть ещё дыры, возможно что удасться ещё ужаться. Ядро может спокойно влезть в 8 Мб и ещё останется место. Много места занимают потоки ICON. Надо будет сделать Desktop окно.
    Хорошая идея. ICON еще плох тем, что при щелчке по иконке иконка закрывает часть окна, налезающего на нее. Это создает неприятное ощущение.
  • Desktop окно в таком случае без соответствующих модификаций будет перекрывать все окна, как я понимаю :)
  • Victor
    Правильно понимаешь :) Надо вносить изменения в оконную систему а дело это не скорое...
  • Не знаете почему при вызове функции 70.0 она возвращает 5 (файл не найден), хотя файл стопроцентно на диске есть. Причем когда эта функция входила в состав программы, все работало нормально. Теперь она находиться в DLL, он нормально загружается, возвращает правильные указатели на функции, все данные для функции подготавливаются верно, но она файл не находит.
  • Уточнение: проверка происходила в VMWare. Раздел FAT32. Пробовал и с /rd/1/ и с /hd0/1/.
  • Извиняюсь, сам разобрался - туплю, оказывается. :oops: :)
  • Who is online

    Users browsing this forum: No registered users and 9 guests