http://ftp.kolibrios.org/users/Mario/CPU100%25/Serge wrote:Закинь на фтп свой example, попробую один тест сделать.
Работа планировщика задач
-
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Сделал тесты с увеличенным количеством тиков в кванте без изменения частоты таймера. Чем больше тиков, тем ровнее распределение времени. Но на длинных квантах начинаются проблемы со звуком, как и ожидалось.
Мы же вроде обговаривали повышение частоты? С повышением не должно быть проблем со звуком.Serge wrote:Сделал тесты с увеличенным количеством тиков в кванте без изменения частоты таймера. Чем больше тиков, тем ровнее распределение времени. Но на длинных квантах начинаются проблемы со звуком, как и ожидалось.
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
Я не менял частоту для упрощения теста и чтобы не ломать таймеры в ядре. На равномерность распределения времени она влияет слабо. На практике, если делать квант длиннее 10мс надо вводить приоритеты потоков.
а я со своей стороны добрался наконец до регистров LAPIC.
Serge,
ты не знаешь, как в этого блэкджека нужно записывать end of interrupt ?
таймер крутится, но прерывание срабатывает только один раз.
UPD: Всё, заработало!!
надо было еще
ты не знаешь, как в этого блэкджека нужно записывать end of interrupt ?
Code: Select all
apic_timer_reset:
xor eax, eax
mov [0x8006D000], eax
mov ebx, LAPIC_BAR+ 0x320
mov eax, [ebx]
and eax, 0xFFFEFF00
or eax, 0x0002003F ; int vector + autostart
mov [ebx], eax
ret
apic_timer_int:
inc dword [0x8006D000] ; interrupts counter
mov dword [LAPIC_BAR + 0x420], 0x3F ; end of interrupt
iretd
UPD: Всё, заработало!!
надо было еще
Code: Select all
mov dword[LAPIC_BAR + 0x0B0], 0
Who is online
Users browsing this forum: No registered users and 4 guests