Ця стаття не містить . (грудень 2021) |
Відкладений виклик процедури (англ. Deferred Procedure Call, DPC) — механізм операційної системи Microsoft Windows, який дозволяє відкласти високопріоритетні завдання (наприклад, обробника переривань) для подальшого виконання заради потрібних, але менш пріоритетних завдань, таким чином, щоб уникати тривалої роботи при підвищених рівнях IRQL. Це дозволяє швидко обробити драйвери пристроїв та інших споживачів подій низького рівня, і планувати некритичну додаткову обробку для виконання з більш низьким пріоритетом.
Суть DPC
При виникненні переривання, управління передається обробнику переривання. Існує ряд факторів, що обмежують можливості коду обробника переривання :
- Загальною практикою є вимога мінімізації часу роботи обробника переривання. Тому необхідно утриматися від виконання ресурсоємних та довгих дій безпосередньо всередині обробника переривання.
- В ОС Windows код обробника переривання виконується на високому IRQL, що сильно обмежує набір доступних оброблювачу ядерних функцій : багато функцій вимагають набагато нижчого IRQL для свого виклику.
Розв'язанням цієї проблеми є підхід, при якому безпосередньо в обробнику виконуються лише найкритичніші операції, а інші дії відкладаються до тих пір, поки не з'явиться відносно вільний процесорний час, а IRQL не опуститься до допустимого значення (DISPATCH_LEVEL). Тоді ці дії будуть виконані в рамках виклику відкладеної (її виконання було відкладене до цього моменту) процедури.
На відміну від звичайного виклику процедури, при якому, фактично, управління відразу ж передається коду процедури, при DPC-виклику передача керування процедурі не відбувається — замість цього адреса процедури і параметри поміщаються в спеціальну чергу, звану DPC черга. Коли настає «сприятливий» час, відкладена процедура викликається по-справжньому.
Таким чином, обробник переривання виконує тільки найнеобхідніші дії і здійснює відкладений виклик процедури, яка виконає всі інші дії, потрібні в рамках обробки переривання, але не потребують підвищеної терміновості.
Див. також
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Cya stattya ne mistit posilan na dzherela Vi mozhete dopomogti polipshiti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Material bez dzherel mozhe buti piddano sumnivu ta vilucheno gruden 2021 Vidkladenij viklik proceduri angl Deferred Procedure Call DPC mehanizm operacijnoyi sistemi Microsoft Windows yakij dozvolyaye vidklasti visokoprioritetni zavdannya napriklad obrobnika pererivan dlya podalshogo vikonannya zaradi potribnih ale mensh prioritetnih zavdan takim chinom shob unikati trivaloyi roboti pri pidvishenih rivnyah IRQL Ce dozvolyaye shvidko obrobiti drajveri pristroyiv ta inshih spozhivachiv podij nizkogo rivnya i planuvati nekritichnu dodatkovu obrobku dlya vikonannya z bilsh nizkim prioritetom Sut DPCPri viniknenni pererivannya upravlinnya peredayetsya obrobniku pererivannya Isnuye ryad faktoriv sho obmezhuyut mozhlivosti kodu obrobnika pererivannya Zagalnoyu praktikoyu ye vimoga minimizaciyi chasu roboti obrobnika pererivannya Tomu neobhidno utrimatisya vid vikonannya resursoyemnih ta dovgih dij bezposeredno vseredini obrobnika pererivannya V OS Windows kod obrobnika pererivannya vikonuyetsya na visokomu IRQL sho silno obmezhuye nabir dostupnih obroblyuvachu yadernih funkcij bagato funkcij vimagayut nabagato nizhchogo IRQL dlya svogo vikliku Rozv yazannyam ciyeyi problemi ye pidhid pri yakomu bezposeredno v obrobniku vikonuyutsya lishe najkritichnishi operaciyi a inshi diyi vidkladayutsya do tih pir poki ne z yavitsya vidnosno vilnij procesornij chas a IRQL ne opustitsya do dopustimogo znachennya DISPATCH LEVEL Todi ci diyi budut vikonani v ramkah vikliku vidkladenoyi yiyi vikonannya bulo vidkladene do cogo momentu proceduri Na vidminu vid zvichajnogo vikliku proceduri pri yakomu faktichno upravlinnya vidrazu zh peredayetsya kodu proceduri pri DPC vikliku peredacha keruvannya proceduri ne vidbuvayetsya zamist cogo adresa proceduri i parametri pomishayutsya v specialnu chergu zvanu DPC cherga Koli nastaye spriyatlivij chas vidkladena procedura viklikayetsya po spravzhnomu Takim chinom obrobnik pererivannya vikonuye tilki najneobhidnishi diyi i zdijsnyuye vidkladenij viklik proceduri yaka vikonaye vsi inshi diyi potribni v ramkah obrobki pererivannya ale ne potrebuyut pidvishenoyi terminovosti Div takozhOpracovuvach pererivan Cya stattya ye zagotovkoyu Vi mozhete dopomogti proyektu dorobivshi yiyi Ce povidomlennya varto zaminiti tochnishim