החלפת תהליכים תוך כדי ניתוח פסיקה

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

עם זאת, אפשור החלפת תהליכים זוהי אפשרות חשובה, מכיוון שזו הדרך היחידה בה פסיקות יכולות להשפיע על התהליך הנוכחי.

אפשור החלפת תהליכים בזמן פסיקות היא פעולה בטוחה בהנחה ש: 1) שגרות פסיקה משאירות נתונים גלובליים במצב חוקי לפני החלפת התהליכים. 2) פונקציה איננה מפעילה פסיקות אם לא היא זו שכיבתה אותן.

נשים לב שעד כה קיימנו את טענה זו מבלי לנסח אותה. השילוב של disable/restore בכל שגרת מערכת מממש התנהגות זו.

שעון זמן אמת

שעון זמן אמת ב-PC

שעון זמן אמת הוא שעון המכצע פסיקה כל פרק זמן קבוע.

ב-PC, השעון מבצע פסיקות בתדירות של 18.2 פעמים בשניה (plot:${2^{16}}$ פעמים בשעה).

פסיקת שעון זמן אמת נדרשת לפעול מהר ולסיים את פעולתה לפני פסיקת השעון הבאה, שכן אחרת יאבדו פסיקות שעון בקביעות.

שימושים ב-XINU

  • יישום מדיניות החלפת התהליכים.
  • שרותי תזמון (sleep) - מאפשר לתהליך שהורדם להתעורר לאחר הזמן הנדרש.
  • שעון תאריך (זמן שעבר מהפעלת מערכת ההפעלה).

תגיות המסמך:

מאת: באסל

תודה

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