مقاله وقفه های کامپیوتری
مطالب روز دنیای اینترنت
مقاله وقفه های کامپیوتری
3 / 11 / 1395 ساعت 3:0 PM | بازدید : 163 | نویسنده : saw | ( نظرات )

مقاله وقفه های کامپیوتری

از نظر مجازی . تمام کامپیوتر ها راهکاری را فراهم می کنند تا قطعات دیگر (‌مثل I/O و حافظه ) ،‌در کار عادی پردازنده وقفه ایجاد کنند .جدول زیر متداول ترین وقفه ها را نشان می دهد .

جدول : دسته بندی وقفه ها

برنامه وقفه هایی که در اثر بعضی از شرایط حاصل از اجرایی یک دستور العمل ،‌مثل سرریز ، تقسیم بر صفر ، سعی در اجرای دستور العمل نامعتبر ماشین ، و خروج از فضای حافظه مجازی رخ می دهند .

تایمر وقفه ای که توسط تایمر موجود در پردازنده ایجاد می شود . این وقفه موجب می شود سیستم عامل بعضی از اعمال را به طور منظم انجام دهد .

I/O وقفه ای که توسط کنترلگر I/O ایجاد می شود تا کامل شدن یک عملیات یا وجود خطاهایی را در انجام عملیات اعلان کند .

خرابی سخت افزار این وقفه در اثر خرابی های مثل خرابی منبع تغذیه یا خطای توازن در حافظه رخ می دهد .

وقفه ها ابتدا برای بهبود کارایی پردازنده ایجاد شدند . به عنوان مثال ، اغلب دستگاه های I/O خیلی کندتر از پردازند ه اند . فرض کنید پردازنده ای بر اساس الگوی چرخ داده هایی را به چاپگر ارسال می کند پس از هر عملیات نوشتن ، پردازنده باید متوقف شود و منتظر بماند تا چاپگر آمادگی خودش را اعلان کند . مدت این انتظار ممکن است صدها یا هزاران برابر چرخه های دستور العملی باشد که با حافظه کار ندارند . بدیهی است که زمان CPU به هدر می رود .

در این شکل ، برنامه کاربر در بین فراخوانی های دستورالعمل WRIT (‌جهت عمل نوشتن ) ،‌پردازش هایی را انجام می دهد . مجموعه دستورات 1 و 2 و 3 فاقد I/O هستند فراخوانی WRITE منجر به اجرای برنامه I/O می شود که یک برنامه سودمند سیستم است وعمل I/O واقعی را انجام می دهد . این برنامه I/O شامل سه بخش است :

  • Ø دنباله ای از دستور العمل ها که درشکل مشخص شد و عمل I/O واقعی را انجام می دهند این عملیات ممکن است داده های خروجی را در میانگیری ذخیره کند و پارامترهایی را برای فرمان دادن به دستگاه آماده نماید .
  • Ø فرمان I/O واقعی ، بدون استفاده از وقفه ها ، وقتی این فرمان صادر می شود ، برنامه ممکن است منتظر دستگاه I/O بماند تا این دستگاه وظیفه اش را انجام دهد ( یا به طور متناوب ، وضعیت دستگاه I/O را کنترل نماید تا مشخص شود عمل I/O تمام شد یا خیر ).

...

وقفه های چندگانه

تاکنون در مورد وقوع یک وقفه بحث کردیم . اما ، فرض کنید چند وقفه بتواند رخ دهد . به عنوان مثال ،‌ممکن است برنامه ای درحال دریافت داده ها از خط ارتباطی و چاپ نتایج باشد . چاپگر هر وقت عمل چاپ را کامل کرد وقفه ای را صادر می کند . کنترلگر خط ارتباطی ،‌هر وقت به یک واحد از داده های می رسد وقفه ای را صادر می کند . بسته به نظام ارتباطی ، واحد داده ممکن است یک کاراکتر یا یک بلوک باشد . در هر مورد ،‌ممکن است در اثنای پردازش وقفه چاپگر ، وقفه ارتباطی رخ دهد .

دو روش برای برخورد با وقفه های چندگانه وجود دارد یک روش این است که در اثنای پردازش یک وقفه سایر وقفه ها ازکار انداخته شوند . معنای وقفه از کار افتاده این فاصلة زمانی وقفه ای رخ دهد ، عموماً منتظر می ماند و پس از این که وقفه ها دوباره به کار انداخته شدند ، پردازنده وجود وقفه ها را بررسی می کند . لذا وقتی برنامه کاربر در حال اجرا است و وقفه ای رخ دهد . وقفه ها فوراً از کار انداخته می شوند . پس از کامل شدن روال اداره کننده وقفه ، قبل از ادامه اجرای برنامه کاربر ، وقفه ها دوباره به کار می افتند و پردازنده بررسی می کند که آیا وقفه های دیگری رخ دادند یا خیر . چون در این روش ،‌وقفهها به ترتیب اجرا می شوند ،‌عالی وساده است

عیب این روش این است که ،‌اولویت نسبی و محدودیت های زمانی را در نظر نمی گیرد . به عنوان مثال وقتی داده ها از خط ارتباطی می رسند. باید به سرعت دریافت شوند تا فضایی برای داده هایی بعدی ایجاد شود اگر دومین واحد داده ، قبل از پردازش واحد داده اولی برسد ،دومین واحد داده ممکن است به دلیل پر بودن سرریز کردن میانگیر دستگاه I/O ،‌از بین برود .

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



خرید فایل




[ادامه مطلب را در اینجا بخوانید ...]

|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0


مطالب مرتبط با این پست
می توانید دیدگاه خود را بنویسید


نام
آدرس ایمیل
وب سایت/بلاگ
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

آپلود عکس دلخواه:








تبلیغات
منوی کاربری


عضو شوید


نام کاربری
رمز عبور

:: فراموشی رمز عبور؟

عضویت سریع

نام کاربری
رمز عبور
تکرار رمز
ایمیل
کد تصویری
نویسندگان
آخرین مطالب
خبرنامه
براي اطلاع از آپيدت شدن وبلاگ در خبرنامه وبلاگ عضو شويد تا جديدترين مطالب به ايميل شما ارسال شود



تبادل لینک هوشمند

تبادل لینک هوشمند

برای تبادل لینک ابتدا ما را با عنوان

سامان وب

و آدرس

 http://www.sawman.loxblog.com

لینک نمایید سپس مشخصات لینک خود را در زیر نوشته . در صورت وجود لینک ما در سایت شما لینکتان به طور خودکار در سایت ما قرار میگیرد.






آمار وب سایت

آمار مطالب

:: کل مطالب : 1099
:: کل نظرات : 0

آمار کاربران

:: افراد آنلاین : 11
:: تعداد اعضا : 5

کاربران آنلاین


آمار بازدید

:: بازدید امروز : 1294
:: باردید دیروز : 111
:: بازدید هفته : 1495
:: بازدید ماه : 67619
:: بازدید سال : 1775898
:: بازدید کلی : 197755042