Deferred Procedure Call

Deferred Procedure Call

A Deferred Procedure Call (DPC) is a Microsoft Windows operating system mechanism which allows high-priority tasks (e.g. an interrupt handler) to defer required but lower-priority tasks for later execution. This permits device drivers and other low-level event consumers to perform the high-priority part of their processing quickly, and schedule non-critical additional processing for execution at a lower priority.

DPCs are implemented by DPC objects which are created and initialized by the kernel when a device driver or some other kernel mode program issues requests for DPC. The DPC request is then added to the end of a DPC queue. Each processor has a separate DPC queue. DPCs have three priority levels: low, medium and high. By default, all DPCs are set to medium priority. When Windows drops to an IRQL (interrupt request level) of Dispatch/DPC level, it checks the DPC queue for any pending DPCs and executes them until the queue is empty or some other interrupt with a higher IRQL occurs.

For example, when the clock interrupt is generated, the clock interrupt handler generally increments the counter of the current thread to calculate the total execution time of that thread, and decrements its quantum time remaining by 1. When the counter drops to zero, the thread scheduler has to be invoked to choose the next thread to be executed on that processor and dispatcher to perform a context switch. Since the clock interrupt occurs at a much higher IRQL, it will be desirable to perform this thread dispatching which is a less critical task at a later time when the processor's IRQL drops. So the clock interrupt handler requests a DPC object and adds it to the end of the DPC queue which will process the dispatching when the processor's IRQL drops to DPC/Dispatch level.

When working with streaming audio or video that uses interrupts, DPCs are used to process the audio in each buffer as they stream in. If another DPC (from a poorly-written driver) takes too long and another interrupt generates a new buffer of data, before the first one can be processed, a drop-out results.[1]

References

General
Specific



Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Deferred Procedure Call — ist ein Mechanismus im Windows Betriebssystem. Inhaltsverzeichnis 1 DPC Rate 2 DPCs in Warteschlange 3 DPC Zeit 4 DPC permanent ausgelastet 5 Weblinks …   Deutsch Wikipedia

  • Deferred Procedure Call — Un appel de procédure différée (ou Deferred Procedure Call, abrégé DPC ) est un mécanisme utilisé sous les systèmes d exploitation Microsoft Windows, et permettant aux tâches les plus prioritaires de reporter à plus tard l exécution de tâches… …   Wikipédia en Français

  • DPC — Deferred Procedure Call (Computing » Drivers) Domestic Policy Council (Academic & Science » Ocean Science) **** Dirty Paper Coding (Computing) **** Digital Pitch Control (Governmental » NASA) * Development Planning Council (Governmental » State & …   Abbreviations dictionary

  • List of computing and IT abbreviations — This is a list of computing and IT acronyms and abbreviations. Contents: 0–9 A B C D E F G H I J K L M N O P Q R S T U V W X Y …   Wikipedia

  • TinyOS — Infobox OS name = TinyOS caption = developer = TinyOS Alliance source model = Open source kernel type = supported platforms = ui = family = Embedded operating systems released = 2000 latest release version = 2.1.0 latest release date = August ,… …   Wikipedia

  • DPC — may refer to: In military: Defence Planning Committee, (NATO) Defence Police College, a tri service establishment for training the Service Police of the British Armed Forces, see Defence College of Policing and Guarding Disruptive Pattern… …   Wikipedia

  • Kernel-Mode Driver Framework — The Kernel Mode Driver Framework (KMDF) is a driver framework developed by Microsoft as a tool to aid driver developers create and maintain Kernel mode device drivers for Windows 2000. The original release of KMDF only supported Windows XP and… …   Wikipedia

  • Technical features new to Windows Vista — This article is part of a series on Windows Vista New features Overview Technical and core system Security and safety Networking technologies I/O technologies Management and administration Removed features …   Wikipedia

  • DPC — Die Abkürzung DPC steht für Defence Planning Committee, Verteidigungsplanungsausschuß der NATO Deferred Procedure Call Differential Phase Contrast, (Imaging), ein Phasenkontrast Röntgenverfahren Digital Playout Center GmbH Diese Seite ist eine …   Deutsch Wikipedia

  • Abreviations en informatique D — Abréviations en informatique D DAC (et DACL) : Discretionary access control (List), Contrôle d accès discrétionnaire, contrôle d accès personnalisé à une ressource (fichier ou autre) DADS (et DADS U) : En France, Déclaration Automatisée …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”