Опрацьовувач переривань (англ. interrupt handler), також відомий як процедура опрацювання переривань (англ. interrupt service routine, ISR) або обробник переривань, це функція зворотного виклику в операційній системі або драйвері пристрою, виконання якої спричиняється отриманням переривання. Опрацьовувачі переривань мають безліч функцій, які різняться відповідно до причини виникнення переривання і швидкодії опрацьовувача.
Опрацьовувач переривань є низькорівневим двійником опрацьовувача подій (повідомлень). Ці опрацьовувачі ініціюються або апаратними перериваннями або інструкціями переривання на програмному рівні, і використовуються для обслуговування апаратних пристроїв і переходів між захищеними режимами операцій такими як системні виклики.
Огляд
В деяких ОС - Linux, Microsoft Windows і деяких інших, опрацьовувачі переривань поділені на дві частини: Опрацьовувачі переривань першого рівня (англ. First-Level Interrupt Handler, FLIH) і Опрацьовувачі переривань другого рівня (англ. Second-Level Interrupt Handlers, SLIH). FLIH також відомі як тверді/швидкі опрацьовувачі переривань (англ. hard/fast interrupt handlers), а SLIH також відомі як м'які/повільні опрацьовувачі переривань (англ. soft/slow interrupt handlers) або відкладений виклик процедури у Windows.
FLIH виконує щонайменше платформо-залежну обробку переривання. У відповідь перериванню відбувається перемикання контексту і завантажується та виконується код для переривання. Завданням для FLIH є швидка обробка переривання, або запис платформо-залежних критичних даних, які доступні лише під час переривання, і планування виконяння SLIH для подальшого опрацювання переривання.
FLIH спричиняють тремтіння в виконанні процесу. FLIH також маскують переривання. Зменшення тремтіння найважливіше для операційних систем реального часу, бо вони мають відповідати вимозі виконання певного коду в узгоджений відтинок часу. Для зменшення тремтіння і зменшення ймовірності втрати даних через приховані переривання, програмісти намагаються зменшити час виконання FLIH, виносячи весь можливий код у SLIH. Зі швидкістю сучасних комп'ютерів, FLIH можуть виконати усе пристрій і платформо-залежне опрацювання, і використати SLIH для подальшого платформо-незалежного довго-тривалого опрацювання.
FLIH, що обслуговують апаратну частину зазвичай маскують своє переривання до завершення свого виконання. Особливий FLIH, який викриває пов'язане з ним переривання до свого завершення називається повтороновикористовним обробником переривань. Повторновикористовний обробник переривань може спричинити переповнення стека через багаторазові вкладені викликі.
SLIH завершує завдання довгої обробки переривань подібно до процесу. SLIH або має виділений ядром потік для кожного опрацьовувача, або виконується в пулі робочих потоків ядра. SLIH може мати великий час виконання, і тому, зазвичай, планується подібно до потоків і процесів.
В різних системах FLIH і SLIH іменуються по різному. В Windows FLIH називається опрацьовувачем переривання, а SLIH — відкладеним викликом процедури. В Linux, FLIH називається upper half, а SLIH - lower half або bottom half. Це різниться від іменування використовного в інших Unix-подібних системах, де обидва є частиною bottom half.
Посилання
- Опрацювання переривань на сайті MSDN.(англ.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Opracovuvach pererivan angl interrupt handler takozh vidomij yak procedura opracyuvannya pererivan angl interrupt service routine ISR abo obrobnik pererivan ce funkciya zvorotnogo vikliku v operacijnij sistemi abo drajveri pristroyu vikonannya yakoyi sprichinyayetsya otrimannyam pererivannya Opracovuvachi pererivan mayut bezlich funkcij yaki riznyatsya vidpovidno do prichini viniknennya pererivannya i shvidkodiyi opracovuvacha Opracovuvach pererivan ye nizkorivnevim dvijnikom opracovuvacha podij povidomlen Ci opracovuvachi iniciyuyutsya abo aparatnimi pererivannyami abo instrukciyami pererivannya na programnomu rivni i vikoristovuyutsya dlya obslugovuvannya aparatnih pristroyiv i perehodiv mizh zahishenimi rezhimami operacij takimi yak sistemni vikliki OglyadV deyakih OS Linux Microsoft Windows i deyakih inshih opracovuvachi pererivan podileni na dvi chastini Opracovuvachi pererivan pershogo rivnya angl First Level Interrupt Handler FLIH i Opracovuvachi pererivan drugogo rivnya angl Second Level Interrupt Handlers SLIH FLIH takozh vidomi yak tverdi shvidki opracovuvachi pererivan angl hard fast interrupt handlers a SLIH takozh vidomi yak m yaki povilni opracovuvachi pererivan angl soft slow interrupt handlers abo vidkladenij viklik proceduri u Windows FLIH vikonuye shonajmenshe platformo zalezhnu obrobku pererivannya U vidpovid pererivannyu vidbuvayetsya peremikannya kontekstu i zavantazhuyetsya ta vikonuyetsya kod dlya pererivannya Zavdannyam dlya FLIH ye shvidka obrobka pererivannya abo zapis platformo zalezhnih kritichnih danih yaki dostupni lishe pid chas pererivannya i planuvannya vikonyannya SLIH dlya podalshogo opracyuvannya pererivannya FLIH sprichinyayut tremtinnya v vikonanni procesu FLIH takozh maskuyut pererivannya Zmenshennya tremtinnya najvazhlivishe dlya operacijnih sistem realnogo chasu bo voni mayut vidpovidati vimozi vikonannya pevnogo kodu v uzgodzhenij vidtinok chasu Dlya zmenshennya tremtinnya i zmenshennya jmovirnosti vtrati danih cherez prihovani pererivannya programisti namagayutsya zmenshiti chas vikonannya FLIH vinosyachi ves mozhlivij kod u SLIH Zi shvidkistyu suchasnih komp yuteriv FLIH mozhut vikonati use pristrij i platformo zalezhne opracyuvannya i vikoristati SLIH dlya podalshogo platformo nezalezhnogo dovgo trivalogo opracyuvannya FLIH sho obslugovuyut aparatnu chastinu zazvichaj maskuyut svoye pererivannya do zavershennya svogo vikonannya Osoblivij FLIH yakij vikrivaye pov yazane z nim pererivannya do svogo zavershennya nazivayetsya povtoronovikoristovnim obrobnikom pererivan Povtornovikoristovnij obrobnik pererivan mozhe sprichiniti perepovnennya steka cherez bagatorazovi vkladeni vikliki SLIH zavershuye zavdannya dovgoyi obrobki pererivan podibno do procesu SLIH abo maye vidilenij yadrom potik dlya kozhnogo opracovuvacha abo vikonuyetsya v puli robochih potokiv yadra SLIH mozhe mati velikij chas vikonannya i tomu zazvichaj planuyetsya podibno do potokiv i procesiv V riznih sistemah FLIH i SLIH imenuyutsya po riznomu V Windows FLIH nazivayetsya opracovuvachem pererivannya a SLIH vidkladenim viklikom proceduri V Linux FLIH nazivayetsya upper half a SLIH lower half abo bottom half Ce riznitsya vid imenuvannya vikoristovnogo v inshih Unix podibnih sistemah de obidva ye chastinoyu bottom half PosilannyaOpracyuvannya pererivan na sajti MSDN angl