ما هي إجراءات الإجراءات المؤجلة؟

لبنان.. قانون جديد والانتخابات مؤجلة (يوليو 2024)

لبنان.. قانون جديد والانتخابات مؤجلة (يوليو 2024)

جدول المحتويات:

Anonim

تعتبر استدعاء الإجراء المؤجل (DPC) آلية معالجة المقاطعة في نظام التشغيل Microsoft Windows والتي يمكن للسائقين الإشارة إليها عند تشغيل عمليات معينة. يسمح DPC بتفعيل مهمة ، ولكن لم يتم تنفيذها ، من مستوى طلب المقاطعة عالي المستوى (IRQL). هذا يسمح لبرنامج معالجة روتين خدمة المقاطعة عالية المستوى (ISR) بسرعة أثناء تأجيل تنفيذ رموز IRQL المستوى الأدنى. تستخدم برامج التشغيل DPCs لجدولة عمليات الإدخال / الإخراج (I / O). برامج التشغيل هي برامج يستخدمها Windows للتواصل مع الأجهزة.

نقل

يعالج برنامج تشغيل وضع kernel بشكل تقليدي نقل دفق بيانات الصوت أو الفيديو من أو إلى جهاز خارجي. معالجة البيانات من برامج تشغيل الأجهزة هي تعتمد على المقاطعة. ينشئ الجهاز الخارجي بشكل روتيني المقاطعات لطلب برنامج تشغيل الجهاز لنقل الدفعة التالية من البيانات. يتعذر على برنامج تشغيل الجهاز معالجة البيانات على الفور في روتين مقاطعة الخاص به؛ وبالتالي ، يحتاج نظام التشغيل إلى تشغيل ردة رد اتصال ، وهو DPC. إن وضع kernel أو وضع النظام ووضع المستخدم هما نمط تشغيل وحدة المعالجة المركزية الخاصة بك. تتحكم النواة في جميع أنشطة معالجة النظام.

جدولة

يوجد مفهوم استدعاء إجراء مؤجل في وضع kernel فقط. يحتفظ نظام التشغيل DPCs المجدولة بواسطة برامج تشغيل الأجهزة في قائمة انتظار. إذا كان النظام الخاص بك يحتاج إلى معالجة المقاطعات ، فإن kernel يتحقق من قائمة انتظار DPC وينفذ DPC الأول إذا لم تكن هناك مقاطعات ولا توجد عمليات DPC قيد التشغيل. DPC هو أعلى مؤشر ترابط ذو أولوية في النظام ، حيث تتم معالجة قائمة انتظار DPC قبل أن يختار المرسل خيطًا وتعيينه إلى وحدة المعالجة المركزية. لديها DPCs ثلاثة مستويات الأولوية: منخفضة ومتوسطة وعالية.

العمليات

يتم ربط كل DPC بكائن DPC محدد بواسطة النظام. عند تسجيل برنامج تشغيل لروتين DPCForslr ، يقوم النظام بتهيئة كائن DPC المحدد مسبقًا. إذا كان هناك حاجة لأكثر من DPC ، يقوم برنامج التشغيل بإنشاء كائنات DPC إضافية تعرف باسم إجراءات CustomDPC. يعالج روتين DPCForlsr عدة عمليات ؛ يكمل عملية الإدخال / الإخراج التي تم وصفها بواسطة حزم طلبات الإدخال / الإخراج (IRP) ، deques التالي IRP ، يحدد حالة الإدخال / الإخراج في IRP المستلم وعملية إكمال الطلب.

الروتين

عادةً ، لدى برنامج تشغيل جهاز يحتوي على روتين خدمة مقاطعة واحد على الأقل روتين DPCForIsr أو CustomDPC لإكمال معالجة عمليات الإدخال / الإخراج المستندة إلى المقاطعة. وفقاً لـ Open Systems Resources، Inc. ، فإن السبب الأساسي في أن السائق لديه روتين DPCForlsr واحد ، أو مجموعة من إجراءات CustomDPC أو كليهما يعتمد على طبيعة الجهاز الأساسي ومجموعة طلبات I / O التي يجب أن يدعمها. يحتاج ISR الخاص ببرنامج التشغيل إلى استدعاء IoRequestDPC لعمليات الإدخال / الإخراج التي تعتمد على المقاطعة باستخدام إجراءات DPCForlsr. وعلى العكس من العمليات المتراكبة وعمليات الإدخال / الإخراج التي تعتمد على المقاطعة باستخدام إجراءات CustomDPC ، تحتاج ISR إلى استدعاء KeInsertQueueDPC.