Који су позиви за одложену процедуру?

Преглед садржаја:

Anonim

Позив за одложену процедуру (ДПЦ) је механизам за руковање прекидима у оперативном систему Мицрософт Виндовс на који се возачи могу позивати приликом извођења одређених процеса. ДПЦ дозвољава да се задатак активира, али се не извршава, са високо приоритетног нивоа захтева за прекидом (ИРКЛ). Ово дозвољава возачу да брзо обрађује рутину сервисирања прекида на високом нивоу (ИСР) док одгађа извршавање ИРКЛ кодова нижег нивоа. Возачи користе ДПЦ за планирање улазно / излазних (И / О) операција. Управљачки програми су софтвер који Виндовс користи за комуникацију са хардверским уређајима.

Трансфери

Управљачки програм уређаја за кернел конвенционално управља преносом аудио или видео тока података са или на спољни уређај. Обрада података управљачких програма уређаја је прекинута. Екстерни хардвер рутински генерише прекиде да захтева од управљачког програма да пренесе следећу групу података. Управљачки програм уређаја не може одмах обрадити податке у својој прекинутој рутини; тако, оперативни систем треба да покрене рутину повратног позива, која је ДПЦ. Режим кернела или системски режим и кориснички режим су начини рада ваше централне процесорске јединице. Кернел контролише све активности процесирања система.

Заказивање

Концепт позива за одложену процедуру постоји само у кернел моду. Оперативни систем чува ДПЦ-е које заказују управљачки програми у реду чекања. Ако ваш систем треба да обради прекиде, кернел проверава ДПЦ ред и извршава први ДПЦ ако нема прекида и нема ДПЦ процеса. ДПЦ је највиши приоритетни низ у систему, пошто се процесирање ДПЦ реда одвија пре него што диспечер изабере нит и додели је ЦПУ-у. ДПЦ-и имају три нивоа приоритета: низак, средњи и висок.

Процеси

Сваки ДПЦ је повезан са једним системски дефинираним ДПЦ објектом. Када управљачки програм регистрира ДПЦФорслр рутину, систем иницијализира претходно дефинирани ДПЦ објект. Ако је потребно више од једног ДПЦ-а, управљачки програм креира додатне ДПЦ објекте познате као ЦустомДПЦ рутине. ДПЦФорлср рутина обрађује неколико процеса; довршава И / О операцију описану од стране улазно / излазних пакета захтева (ИРП), декуеса следећег ИРП-а, поставља улазно-излазни статус у примљеном ИРП-у и процес за завршетак захтева.

Рутине

Нормално, управљачки програм уређаја који има рутину сервисирања прекида има најмање једну ДПЦФорИср или ЦустомДПЦ рутину за завршетак обраде И / О операција вођених прекидима. Према Опен Системс Ресоурцес, Инц., основни разлог зашто возач има једну ДПЦФорлср рутину, скуп ЦустомДПЦ рутина или оба зависи од природе његовог основног уређаја и скупа И / О захтева које она мора подржавати. ИСР управљачког програма треба да позове ИоРекуестДПЦ за И / О операције вођене прекидима користећи ДПЦФорлср рутине. Насупрот томе, за преклапајуће операције, И / О операције које се покрећу прекидима користећи ЦустомДПЦ рутине, ИСР треба да позове КеИнсертКуеуеДПЦ.