ش | ی | د | س | چ | پ | ج |
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 |
از نظر مجازی . تمام کامپیوتر ها راهکاری را فراهم می کنند تا قطعات دیگر (مثل 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 تمام شد یا خیر ).
دنباله ای از دستور العمل ها که در شکل با شماره 5 مشخص شد و عملیات را کامل می کند . این عملیات ممکن است برچسبی را مقدار دهد که نشان دهنده موفقیت یا شکست آن باشد .
چون کامل شدن عمل I/O ممکن است مدت زیادی طول بکشد ، برنامه I/O منتظر می ماند تا عمل I/O کامل شود . لذا برنامه I/O در نقطه فراخوانی WRITE به مدت زیادی منتظر می ماند .
وقفه ها و چرخه دستور العمل
با استفاده از وقفه ها ، وقتی که عمل I/O در حال انجام است ،پردازنده می تواند دستور العمل های دیگری را اجرا کند . جریان کنترل را در شکل در نظر بگیرید . همانند قبل ،برنامه کار به نقطه ای می رسد که WRITE را فراخوانی می کند که یک فراخوان سبستم است . برنامه I/O که به این روش فراخوانی شد . فقط شامل کد آماده سازی و فرمان I/O واقعی است . پس از اجرای این دستور العمل ها ،کنترل به برنامه کاربر بر می گردد . در همین زمان ،دستگاه خارجی مشغول پذیرش داده ها از حافظه کامپیوتر و چاپ کردن آن است . این عملیات I/O به طور همزمان با دستور العمل های برنامه کار در حال اجرا است .
وقتی دستگاه خارجی آماده ارائه خدمات شد ، یعنی آماده شد تا داده های بیشتری را از پردازنده بپذیرد ، قطعه I/O مربوط به آن دستگاه خارجی ، سیگنال درخواست وقفه را به پردازنده می فرستد . پردازنده در پاسخ به این درخواست وقفه ، عمل برنامه فعلی را به تعویق می اندازد ، به برنامه ای می رود تا به آن دستگاه I/O خدمات دهد و پس از ارائه خدمات به آن دستگاه ،اجرای برنامة به تعویق افتاده را از سر می گیرد . برنامه ای که در اثر وقوع وقفه اجرا می شود تا به آن دستگاه I/O خدمات دهد ،اداره کننده وقفه نام دارد
متن کامل را پس از پرداخت وجه می توانید دانلود نمایید.لطفا مشخصات خواسته شده را جهت پیگیری پرداخت دقیق وارد نمایید.
نوع فایل : word فایل زیپ شده
تعداد صفحات 20
حجم : 18 kb
مبلغ قابل پرداخت 20000 ریال
پس از پرداخت موفق وجه به صورت خودکار به صفحه دانلود هدایت می شوید و می توانید فایل را دانلود کنید در صورت هرگونه مشکل با پشتیبانی 09357668326 تماس بگیرید.