سؤال

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

يرجى اقتراح لي بعض المواد المرجعية التي تصف كيفية التعامل مع المقاطعات بواسطة Windows.

هل كانت مفيدة؟

المحلول

يقاطع الجهاز أنفسهم (عادة) معالجتها بأي موضوع كان لديه وحدة المعالجة المركزية التي أخذت المقاطعة، ولكن في حلقة 0 وعلى مستوى حماية مختلف. هذا يحد من بعض الإجراءات التي يمكن لمعالج المقاطعة أن تتخذها، لأن معظم الوقت لن يكون الموضوع الحالي مرتبطا بالخيط الذي ينتظر الحدث هو الحدث الذي يشير إليه المقاطعة.

النواة نفسها مصدر مغلقة، وتوثيق فقط من خلال واجهة برمجة تطبيقاتها الداخلية. يتعرض واجهة برمجة التطبيقات إلى مؤلفي برنامج تشغيل الجهاز، ووصفت في مجموعات تطوير برنامج التشغيل.

بعض الموارد التي يجب أن تبدأ:

  • أي طبعة من مايكروسوفت ويندوز internals. من سليمان وروسينوفيتش. يبدو أن التحويل هو الطبعة الرابعة، ولكن حتى الطبعة القديمة ستساعد.

  • يعمل Windows DDK، الآن إعادة تسمية WDK. وبعد وثائقها هي متوفر على الانترنت جدا. تأكد من قراءة دليل تصميم وضع kernel...

  • sysinternals. لديه أدوات ومقالات للتحقيق في وشرح سلوك النواة. اعتاد هذا أنه موقع مستقل حتى تعبت Microsoft من مارك روسينوفيتش يبدو أنه يعرف المزيد عن كيفية عمل النواة أكثر مما فعلوا. ؛-)

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

نصائح أخرى

مثل أي نظام تشغيل آخر، تقوم عمليات Windows بمقاطعات في وضع Kernel، مع مستوى أولوية مقاطعة مرتفعة (أعتقد أنهم يتصلون بهم IRPL، لكنني لا أعرف ما تقفه "R" ل). سيتم مقاطعة أي مؤشر ترابط مستخدم أو خيط نواة منخفض المستوى يعمل على نفس الجهاز أثناء معالجة طلب المقاطعة، وسيتم استئنافها عند اكتمال معالجة التجزئة.

لمعرفة المزيد حول مقاطعات الجهاز على Windows، تحتاج إلى دراسة تطوير برنامج تشغيل الجهاز. هذا موضوع مكانة، لا أعتقد أنه يمكنك العثور على العديد من الموارد المفيدة في الويب وقد تضطر إلى البحث عن كتاب أو دورة تدريبية.

على أي حال، مقاطع Windows مقاطعات مع مستويات طلب المقاطعة (IRQLs) و الإجراء المؤجل يدعو. وبعد يتم التعامل مع المقاطعة في وضع kernel، والذي يعمل بأولوية أعلى من وضع المستخدم. يحتاج معالج المقاطعة المناسبة إلى الرد بسرعة كبيرة. إنه يؤدي فقط العمليات اللازمة للغاية وتسجل دعوة إجراء مؤجل للتشغيل في المستقبل. سيحدث هذا، عندما يكون النظام في مستوى طلب المقاطعة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top