بسم الله الرحمن الرحيم
اللهم صل على محمد وآل محمد
السلام عليكم ورحمة الله وبركاته
الحمد لله رب العالمين والصلاة والسلام على سيدنا محمد
صاحب الخلق العظيم وعلى آله الطيبين الطاهرين
السلام عليكم ورحمة الله وبركاته ..
من دروس الأخ مصطفى
من دروس الأخ مصطفى
موضوع درسنا لهذا اليوم :
المقاطعات الخارجية.. External Interrupts:
هي عدة تعليمات يتم تنفيذها بناء على أمر
خارجي ...ولها أولوية أعلى من البرنامج الرئيسي ...
نقوم بتغليف هذه التعليمات ضمن دالة function ولكن لا يمكننا استدعاء هذه
الدالة ..من البرنامج.!!
لأنها تستدعى بأمر خارجي ...
أي أنها دالة تُستدعى ...(هاردويريّاً
) أي أن تغيّراً خارجياً هو الذي يسبب
استدعاءها وتنفيذها ....
الفكرة الأساسية في موضوع المقاطعات هي
أولوية التنفيذ ...
فقد يكون لدينا عدة مقاطعات ... فيكون لكل
مقاطعة ترتيب محدد في سلم أولويات المتحكم
يتوقف تنفيذ البرنامج الأصلي .. ويتحول المتحكم إلى تنفيذ البرنامج الموجود في دالة المقاطعة ...
يتوقف تنفيذ البرنامج الأصلي .. ويتحول المتحكم إلى تنفيذ البرنامج الموجود في دالة المقاطعة ...
بعض الأمثلة الواقعية لفهم مبدأ المقاطعات :
لكي نلاحظ المقاطعات في حياتنا لنبحث عن أمور
تحدث دون إرادتنا ..فتجعلنا نتوقف عما نقوم به ونقوم بعمل آخر..
مثلاً ... حادث وفاة ... أو مرض يلزم الفراش
.. هي مقاطعات خارجة عن إرادتنا ...تضطرنا للتوقف عما نقوم به والبدء بتنفيذ
برنامج حادث الوفاة والذي يتضمن عدة تعليمات مثل تغسيل الميت وتجهيز الكفن والقبر
..إلخ
أو الراحة مثلاً وأخذ الدواء في حال المرض ..
بالمثل ... فهناك في الحاسوب الشخصي زر
لإعادة التشغيل ... يجعل الحاسوب يتوقف عن عمله الحالي ويعيد التشغيل.
وفي المتحكم هناك أرجل خاصة ... عند تطبيق جهد
معين عليها تقوم بتنفيذ الدالة الخاصة بهذه المقاطعة ...