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

Kernel architecture questions
  • Новая функция. Плеер уже работает через неё, только там очень примитивный вариант событий. Старые программы о ней не знают и им это не повредит. Новые должны установить маску событий в -1 после чего будут получать все сообщения через новую функцию. Плюс QNX-подобная схема вызовов Send -> Recieve -> Replay для IPC.
  • Интересный глюк появился с ядром 221 в qemu: если подвести курсор к правому краю окна, то он искажается. В virtualpc такого нет :\ На реальном железе пока не пробовал
  • Heavyiron
    У меня тоже. Это странности Qemu. В реале и в Bochs всё норально. Ещё Quemu у меня работает только в 640*480*24bpp,
    вместо 800*600 включает 640*480. Игнорирует исключения сопроцесоора.
  • Serge
    Ревизия 221 на Cyrix запустилась. Подробнее буду тестировать вечером.
    Однако на ATI Rage не запускается режим 1280*1024 Vesa 2 (24 bit), почему- то устанавливается частота горизонтально развертки 87 Гц и плоский монитор его не тянет (тянет только 75 Гц), самое странное, что VRR при этом отключен. Как такое происходит не понятно.
    Раньше до твоих изменений запускалось. Я имею в виду более старые выпуски дистрибутива, например 0581.
  • Mario79
    Проверь 0600. Я ничего не менял в загрузчике и в установке видеорежимов. Если ты подключал монитор от другого компа то такое может быть. Я менял видеокарты когда делал драйвер для ATI после этого 800*600*24 стал включатьса на 100 Гц.
  • Serge
    Что значит:
    Если ты подключал монитор от другого компа то такое может быть.
    Монитор независимое устройство, по крайней мере для Колибри это так. Дело не в мониторе. Дело как раз в том как видеокарта вырабатывает сигнал.
  • Mario79
    У мониторов есть память раз он сохраняет настройки. Причём собственные для каждого режима. И есть протокол I2C для обмена данными между монитором и видеокартой. Возможно при смене видеокарт он сбивается потому что даже в одинаковых режимах сигналы от карт могут отличаться. То что у меня монитор стал работать в режиме 800*600 100Гц именно после смены карты это факт. Можно попробовать сбросить все настройки монитора на заводские, но потом его долго настраивать.
  • Serge
    Выявил для 221 ревизии, что на ATI Rage кроме установки 87 Гц (без VRR) в режиме 1280*1024*24 Bit еще и курсор расплывается, когда его подводишь к левому углу. Причем курсор расплывается во всех режимах. В общем если хоть один пиксел курсора выходит за пределы экрана, то происходит разбивание курсора на горизонтальные полосы, которые тем реже, чем меньше величина видимого курсора. Когда курсор выводишь обратно, он восстанавливается.
    Кстати сброс монитора не помог частота, как была, так и стоит 87 Гц, впрочем, ты тут не причем – этот глюк появился и на более старых дистрибутивах, беру свои слова обратно (я про 0581).

    На компере с камнем Athlon64+ мама ASUS A8N5X (Nforce4) как я уже писал ранее – если хоть раз запустить плеер, то выключение компера не сработает (после трех попыток система зависает), в то же время полный перезапуск и перезапуск из памяти срабатывают без проблем. Ревизия 207 выключается без проблем.
  • Mario79
    Похожий баг с курсором есть в Qemu. Попробую разобраться в чём дело.

    У меня перезагрузка и выключение с работающим плеером происходят без проблем а перезагрузка ядра 50/50. Возможно что причина общая.
  • Serge
    Плеер я совсем выключаю перед выключением компера. В этот момент нет активных приложений, кроме запущеных через лаунчер.
  • Mario79
    Quemu оправдан. Была ошибка с отсечением курсора в 24bpp. Не ясно почему она возникала не всегда. Что касается перегрузки мне кажется есть проблема с прерываниями. У меня иногда при перезагрузке ядра появляется синий экран но на клавиатуру не реагирует. Дискета начинает читаться и всё зависает. Так бывает если замаскирован PIC.
    Проверь свежие ядро и драйверы #224.
  • Черновая версия событий работает. Можно не её основе сделать системные мьютексы, семафоры, сигнализирующие события (как в Win).
    Делать ?
  • Я бы посоветовал делать... Конечно, кто-то скажет: опять мы копируем Винду, но развитая система сообщений намного упростит разработку программ не только в плане пользовательского интерфейса, но и в плане взаимодействия приложений друг с другом и потоков внутри одного приложения. Ведь в Винде с помощью сообщений можно следить за любыми событиями и адекватно на них реагировать.Единственное что, надо стандартизировать номера сообщений (как с номерами функций) и оставить определенный диапазон для пользовательских сообщений.
  • Serge
    Ревизия 224.
    Cyrix+ATI Rage баг с курсором отсутствует.
    Athlon64+ ASUS A8N5X (Nforce4) выключение почти сработало – все приложения благополучно исчезли, остался один валпапер, на том все и остановилось. Подобные же симптомы у меня на Cyrix, но там и раньше не выключалось и даже в Винде само не выключалось, потому что формат фактор корпуса AT.

    Из событий надо еще добавить события обновление сведений о файловых системах, когда произведена запись на любой из дисков. Думаю достаточно такое событие поделить по типам устройств: рамдиск, флопик, жесткий, сидюк, но можно сделать и более подробное сообщение.
  • Who is online

    Users browsing this forum: No registered users and 2 guests