הבית > תערוכה > תוכן

מערכת הפעלה בזמן אמת תזמון

Mar 08, 2019

בתבניות טיפוסיות, למשימה יש שלוש מדינות:


ריצה (ביצוע ב- CPU);

מוכן (מוכן לביצוע);

חסום (ממתין לאירוע, I / O לדוגמה).

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


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


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


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


זמן התגובה הקריטי, הנקרא לפעמים זמן הפלייבק, הוא הזמן שנדרש לתור משימה חדשה מוכנה ולשחזר את מצב המשימה בעדיפות הגבוהה ביותר. ב RTOS מעוצב היטב, הכנת משימה חדשה ייקח 3 עד 20 הוראות לכל תור תור מוכן, ושחזור של המשימה בעדיפות הגבוהה ביותר ייקח 5 עד 30 הוראות.


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