3071579121

3071579121



Przykład - Przerwanie zegara

void do_timer(struct pt_regs *regs) {

++jiffies;

++lost_ticks;

if (!user_raode(regs))

++lost_ticks_system; raark_bh(TIMER_BH); if (tq_timer)

mark_bh(TQUEUE_BH); // uruchomienie kolejki tq_timer;

}

•    Zmienna jiffies przechowuje liczbę przerwań zegara od momentu włączenia systemu. Można ją wykorzystać przy aktywnym czekaniu.

-    Stała HZ (100, na procesorach Alpha 1000) przechowuję częstotliwość przerwań zegara.

•    Rzeczywisty kod wykonywany jest w dolnej połowie:

-    Zmniejsz pole counter w strukturze task_struct o wartość lostjicks;

-    Ustaw lostjicks na zero

-    Jeżeli counter przekroczyło zero ustaw zmienną needresched na zero.

•    Filozofia Linuksa: obsługując przerwania wykonuj tylko to co naprawdę niezbędne.

- Pomaga przv dużym obciążeniu systemu

Wojciech Kwedlo, SystemwOperacy ne II


-16-


Wydzial




Wyszukiwarka

Podobne podstrony:
Handler obsługi przerwania void handler(int irq, void * dev_id, struct pt_regs *) Znaczenie parametr
rys 7 3 Rysunek 7.3. Przykładowy sposób podłączenia sygnałów przerwań magistrali PCI do systemu
Image445 Przykład 4* Przedstawić układ służący do generowania impulsu o czasie trwania T2, opóźnione
Image454 Przykład 4. Przedstawić układ służący do generowania: a)    na wyjściu Yx im
Zdj?cia 0006 (2) Inne przykłady: ■    Obiecuję prz>jść do ciebie o siódmej. ■
31 wanie listów poleconych), otwarta od godz. 6.45 rano do 8.45 wieczorem bez przerwy w czasie 
img280 (7) 96 Druidzi słońca Ra powstał z chaosu wymawiając swoje imię - jest to dobry przykład na p
0000039 4 180 Przykładowe programy postępowania pacjenta do operacji. Oznacza to nie tylko stosowani
Slajd55 (59) SH    Przerwani* zegara {Ttm* afDa) •    rod2a; przerwani
Przykłady zastosowania metody sił do układania równania ruchu 1. Drgania swobodne tłumione wahadła
skanuj0039 (37) Przykład 6. Zaprojektować układ służący do przetwarzania kodu wskaźnika 7-segmentowe
File0468 Przyklej naklejki i zaprowadź koźlątko do kozy.

więcej podobnych podstron