سیستم عامل به سبک تِرِد سیستم عامل به سبک تِرِد



شما این تِرِد رو مطالعه کردید آفرین.🍻
تصویر: اوپس 502
اوپس: تصویر 502
فرزاد 1405/3/30

نحوه پردازش وقفه ها آموزش و یادگیری نحوه پردازش وقفه ها به صورت رایگان


وقفه ها اینجوری اجرا میشن❗

شاید بگید مگه وقفه یه سیگنال نیست!؟‌ اجرا شدن داره مگه؟ باید بگم خود وقفه یه سیگناله ولی وقتی ارسال میشه CPU باید یه کار هایی بکنه دیگه! :) مراحل اجرای وقفه به ترتیب زیر انجام میشه:

  1. وقفه توسط یکی از ۴ مورد که تو بیشتر بدونید ترد قبل گفتم تولید و ارسال میشه.
  2. پردازنده اجرای برنامه (دستورالعمل) فعلی رو متوقف میکنه.
  3. وقفه توسط پردازنده بررسی میشه. نوع و وجودش تایید میشه و در نهایت سیگنال تایید به منبع وقفه ارسال میشه که اجازه میده وقفه رو حذف کنه.
  4. حالا پردازنده باید کنترل رو به Interrupt routine (یا Interrupt handler) منتقل کنه.
    برای شروع, اطلاعات دستورالعمل فعلی که تو رجیستر PSW ‍(یا Program status word) ذخیره شده و همچنین مقدار PC به علاوه تمامی اطلاعاتی که برای از سرگیری مجدد برنامه فعلی نیاز داره رو تو کنترل استک (Control stack) ذخیره میکنه.
  5. بسته به نوع وقفه, سیستم عامل Interrupt handler اونو فراخوانی میکنه. Interrupt routine اجرا میشه.
  6. بعد از اتمام کار handler و پردازش وقفه, اطلاعات برنامه که توی کنترل استک ذخیره شده بود به رجیستر ها برمیگرده و استک خالی میشه.
  7. اجرای برنامه دقیقا از همون نقطه ای که متوقف شده بود از سر گرفته میشه :)
یکم بیشتر بدونید
Program Status Word یا PSW یکی از رجیستر های مهم CPU هستش!
توی این پردازنده اطلاعات برنامه در حال اجرا مثل Execute mode, IDE ها و Flag ها توش ذخیره میشه!
نگران مواردی که گفتم نباشید توی فصل دوم بهش میرسیم!

کنترل استک کجاست؟
کنترل استک تو حافظه اصلی هستش (RAM) . اصولا هر جا نامی از استک هستش تو اکثر مواقع به رم اشاره میشه.
اطلاعات داخل PSW دقیقا چیه؟
این اطلاعات خیلی زیاد و متنوع هستن ولی اصلی ترینشون شامل Flag ها,Execution mode ,IDE و … هستن که همه اینها +‌ کد دستورالعمل به علاوه مقدار PC همگی به کنترل استک منتقل میشن.
Interrupt handler دقیقا چیه؟
Interrupt handler یه برنامه سیستمی هستش که داخل سیستم عامل وجود داره و وظیفش رسیدگی به وقفه و اجرای اونه. هر سیستمی بسته به معماریش میتونه یک یا چند تا handler داشته باشه❗

میتونید برای یادگیری بیشتر ...
برای یادگیری بیشتر و به عنوان تمرین میتونید درباره اطلاعاتی که توی PSW ذخیره میشه جستجو کنید و توی کامنت ها برامون ارسال کنید تا هم دیگران بیشتر بدونن هم قبل از اینکه به فصل دوم برسید یادشون گرفتید :)
شماره تِرِد : شماره 10 از 13

نظرات