دو روش برای برخورد با وقفه های چند گانه وجود دارد
- یک روش این است که در اثنای پردازش یک وقفه ثایر وقفه ها از کار انداخته شوند . معنای وقفه کار افتاده یعنی پردازنده قار از هر سیگنال وقفه ای که از راه میرسد تا رسیدن نوبت به اون از کار بندازه عیب این روش اینه که اولویت نسبی و محدودیت زمانی رو در نظر نمیگیره به عنوان مثال وقتی داده ها از خط ارتباطی میرسند باید به سرعت دریافت شوند و اولویت نسبی دارن حالا اگه وقفمون تو درجریان باشه نمیزاره اینها پردازش شن و یه داده دیگه که میرسه باعث ازبین رفتن میانگیر وردی / خروجی میشه و اونو سر ریز میکنه شکل زیر این وقفه رو نشون میده :
2.در روش دوم برای وقفه ها اولویت در نظر گرفته میشود و وقفه ای با اولویت بالاتر میتواند روال اداره کننده وقفه ای با اولویت پایینتر را دچار وقفه کند. فرض کنید سه تا دستگاه I/O داریم به نام چاپگر و دیسک ویک خط ارتباطی که اولویت اونا به ترتیب 2 و 4 و 5 (بیشترین بهترین) برنامه کاربر در زمان t=0 شروع میشه بعد ده ثانیه وقفه چاپگر اتفاق میوفته اطلاعات کاربر به پشته سیستم میره حالا روال خدماتی چاپگر اجرا میشه تو پنج ثانیه بعد اون اتفاق درگاه ارتباطی میاد وسط میدون میگه من اومدم چون اولویتش بالاتره و از همه سر تره نونو از چاپگر میگیرن میدن به این بخوره و ISR چاپگر متوقف میشه بعد 5 ثانیه بعدش یعنی تو t= 20 دیسکم از راه میرسه میگه به منم زمان بدید ولی چون اولویت خط ارتباطی بالاتره (5) دیسک میشینه سر جاش تا نوبتش شه وقتی کار روال درگاه ارتباطی تموم میشه میان که زمان بدن به چاپگر ولی پردازنده میبینه که ااااا اولویت این دیسک از چاپگر بیشتره برا همین بازم ISR چاپگر معطل میمونه تا ISR دیسک کارشو انجام بده وقتی تموم شد بر میگرده به روال ISR چاپگر و کار اونم تموم میشه اوهه چقد معطل موند این بیچاره ... بعد در زمان t=40 پشته فراخوانی میشه و برنامه کاربر ادامه کار خودشو میره .