שאלת מבחן במערכות הפעלה - האוניברסיטה הפתוחה 2017 - תזמון

נתון מנגנון תזמון תהליכים בשיטת ההגרלה (lottery scheduling). כיצד, בלי לשנות קוד של מתזמן, ניתן לקבל מהמנגנון הזה תזמון תהליכים שייתן לתהליכים המתוזמנים זמני תגובה כמו round robin?
העתק שאלה
שתף שאלה
סמן כחשוב
סמן כבוצע
שאלה חוזרתהאוניברסיטה הפתוחה2015 סמסטר א מועד 82-alt | 2017 סמסטר א מועד 83 | 2018 סמסטר א מועד 85 | 2019 סמסטר ב מועד 92
תזמוןתזמון CPURound Robinתזמון בהגרלה
תזמון Round Robin מעניק לכל תהליך הזדמנות שווה לרוץ. כיצד ניתן להגדיר את "סיכוי הזכייה" במנגנון ההגרלה כך שיהיה שווה עבור כל התהליכים?
כדי להשיג התנהגות הדומה לתזמון Round Robin באמצעות תזמון בהגרלה (lottery scheduling) מבלי לשנות את קוד המתזמן, יש להקצות מספר שווה של "כרטיסי הגרלה" לכל תהליך שמוכן לריצה.

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

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

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

חשוב לציין שההתנהגות אינה זהה לחלוטין: Round Robin הוא דטרמיניסטי (התהליכים רצים לפי סדר קבוע), בעוד שהפתרון המוצע הוא הסתברותי. ייתכן שתהליך אחד יזכה בהגרלה מספר פעמים ברציפות. עם זאת, על פי חוק המספרים הגדולים, לאורך זמן, כל תהליך יקבל כמות דומה של זמן מעבד, בדומה ל-Round Robin, וכך יושגו זמני תגובה ממוצעים דומים.
שאלת מבחן במערכות הפעלה - האוניברסיטה הפתוחה 2017 | prepd