Ядро с менеджером памяти.

Kernel architecture questions
  • 3 - я впервые увидел что система ПОДВИСАЕТ... прям как винда - медленно перескакивает курсор, загруженность проца - полная, в арканойде шарик летает со скоростью 1 пиксель в секунду, а тетрис вообще почти остановился.
    1. В винде есть приоритеты
    2. В винде есть короткие и длинные кванты
    Поэтому если запущено много приложений, то пока каждое приложение съест свое время по кругу, проходит большое время, но на самом деле этим достигается большая производительность(на все приложения в целом, а не на одно конкретное.) чем при (коротких квантах и приоритетах), но уменьшается отзывчивость и пользователю кажется что система тормозит.

    Много чего глючит. Очень много нужно переписывать, то же меню загрузки (знаю работы ведутся, но скриншоты меня не порадовали).
    Прогу прислать немогу ибо писал ее и в процессе произошла ошибка, далее ребут и снова писал, в следующий раз сохраню кусок кода...

    где находится код (последняя версия) для отрисовки иконок?
  • Пора убрать ограничения , особенно с кнопками - это же полный ахтунг, система как была кастрированной так и остается по сей день (((
  • Но ни в коем случае нельзя делать счетчики больше разумных значений. Например может показатся что 255 процессов насегодня мало.
    Для колибри сейчас это нормально, но нужна поддержка хотя бы 5k потов, это максимум. Ни какие миллионы которые есть в других ОС сегодня невостребованы, а их создатели только хвастаются как они транжирят память. 1к кнопок это конечно мало. Нужно что-то вроде 10к, но незабывайте что будет использоваться в максимум 10% от 10к.
    Вы в винде запускаете 100 вордов?
  • Исправил глюк запуска тетриса, запуска несуществующих программ с винта и отображения окон произвольной формы. Кстати, из-за особенностей менеджера памяти (конкретно из-за проблем с DMA) не будет работать звук, за исключением спикера. Решить эту проблему не очень просто, но нет ничего невозможного.
    Новое ядро отправлено NoName'у.
    На счет "зависания" системы при большом (но не предельном) количестве приложений - на самом деле это просто закончилась память. В совокупности с заканчивающимися кнопками это выглядит как зависание. Отличить его от настоящего зависания легко - если окна перетаскиваются, значит система работает нормально (по крайней мере, если они не перетаскиваются, то система точно повисла ;) ).
    DoomEdArchangel
    На счет тормозов лабиринта и SDLFire - эти приложения стараются выдать максимальное количество fps. Поэтому они всегда занимают 100% ресурсов. Тормоза арканоида (от Павлюшина) связаны с прямой зависимостью скорости шарика от скорости компьютера, если есть постоянно работающие программы. арканоид генерирует примерно 100/n кадров в секунду, где n - число таких программ.
    arcanii вроде использует тот принцип.
    Попытаюсь увеличить число доступных кнопок.
  • halyavin

    ээээ... ;) я могу отличить полное зависание от глюков... и особенностей :)
    а вот с арканойдом не совсем то... видимо что то не так в самом коде - при выводе !МЕНЮ! загрузка возрастает до 100% и остальные приложения тормозят.
    остальное - гут!
  • Попытка копировать любой файл в MFAR на фат32 с образа дискеты вызывает kernel error
    EIP 0001B06E (в v03)
    Сейчас выложить его пока немогу, ближе к вечеру.

    Забыл еще сказать что код иконок который ты прислал не последний!
    Очень нужен последний, хочу попробовать ускорить перерисовку, пока неважно как, главное дайте сорсы.
  • NoName wrote:Попытка копировать любой файл в MFAR на фат32 с образа дискеты вызывает kernel error
    Возможно, причина в функции 64. Перед началом копирования, память программы увеличивается на размер копируемого файла. Файл считывается в память, записывается на диск, и далее размер памяти возвращается в первоначальное значение.
    in code we trust
  • NoName
    Последний может быть только у Mario79. Присланный мной код новее чем в Kolibri4.
    EIP 0001B06E (в v03)
    Это адрес команды пересылки данных из программы в кэш-буфер винчестера. По-видимому, ядро обращается к несуществующей памяти. Исследование ядра показало, что при записи на винчестер ядро проверяет корректность только начала буфера. Поэтому это может быть вызвано ошибкой MFAR'a.
    К сожалению, у меня файлы копируются нормально. Поэтому точно сказать не могу.
    mike.dld
    Возможно, у тебя потоки при этом используются? Кстати, ты не забываешь округлять размер файла вверх до 512 байт?
  • Для всех.
    Люди вы забываете, что Винда это система с “резиновым” временем отклика.
    А МеОС это система реального времени, соответственно время делится между всеми приложениями поровну. Ядро в данном вопросе тоже является приложением. А, учитывая, что видеодрайвера, ускоряющего вывод на экран нету, то вся работа ложится на плечи центрального процессора. Не стоит удивляться, что приложения типа SDLFIRE загружают систему по полному, если бы они были написаны так, чтобы не загружать систему, то при нынешнем положении они бы работали сверхмедленно.

    NoName
    Ты уже который раз просишь исходники программы ICON. Самые последние исходники лежат в исходниках Колибри4. Новей нет, потому что после этого их никто не ковырял. У меня была идея отвести в коде под буфер картинок места на каждую иконку, но тогда место будет жратся страшно и не будет никакой разницы со старым ICON. Когда для каждой иконки запускался не поток, а отдельная программа. А при текущем положении система загружается даже если на компе установлено 16 метров памяти.
  • halyavin wrote:Возможно, у тебя потоки при этом используются? Кстати, ты не забываешь округлять размер файла вверх до 512 байт?
    Потоки не используются, размер округляется (mf-copy.inc):

    Code: Select all

            mov     ecx,[fc_size]
            shr     ecx,9
            inc     ecx
            push    ecx
            shl     ecx,9
            add     ecx,MEM_USED
            mcall   MF_MEMRESIZE,MR_SETSIZE
            or      eax,eax
            jnz    .close
    ...
            mcall   MF_MEMRESIZE,MR_SETSIZE,MEM_USED
    in code we trust
  • halyavin
    Пришли пж-та сорсы v03, они мне очень нужны
    И еще проверь пж-та личку, я тебе кое что прислал.
  • Mario79
    MenuetOS тоже система с резиновым временем. Утверждение про систему реального времени не больше, чем реклама Вилле.
  • mike.dld wrote:Перед началом копирования, память программы увеличивается на размер копируемого файла. Файл считывается в память, записывается на диск, и далее размер памяти возвращается в первоначальное значение.
    2all: а что, по частям в оперативку подгружать файлы нельзя? а то к примеру с несуществующим пока драйвером CD при копировании фильма на HDD нужен будет 1 гб памяти... :(
  • Who is online

    Users browsing this forum: No registered users and 5 guests