שליטת תהליך על החלפת התהליכים

לעתים תהליך ירצה למנוע החלפת תהליכים, ואם זאת להשאיר את הפסיקות פעילות. לשם כך נועדים המקרואים xdisable, xrestore. מקרואים אלו פועלים בדומה ל-disable/restore, רק שהם שומרים את ה-pcxflag. אם החלפת התהליכים נמנעת בצורה זו, והתהליך הנוכחי קורא ל-resched (בצורה לא ישירה כלשהי, למשל בעזרת send או signal), אזי resched חוזרת בלי שהיא מבצעת דבר.

את החלפת התהליכים נעשית על ידי כך שהתהליך משנה את המצב שלו וקורא ל-resched, למשל על ידי הפקודות wait, receive, אז המערכת נותרת במצב בלתי אפשרי.

מניעת החלפת תהליכים חייבת לקיים את הכלל הבא: תהליך המונע החלפת תהליכים יכול לקרוא אך ורק לפונקציות המשאירות את התהליך במצב current.

שגרות BIOS אינן יכולות לשנות את המצב של התהליך הנוכחי, ולכן הן בטוחות לשימוש עם מניעת החלפת תהליכים.

תגיות המסמך:

מאת: באסל

תודה

הסברתם את זה, כמו שאר הנושאים, באופן הכי ברור שיש.
שיתוף:
| עוד