click below
click below
Normal Size Small Size show me how
OS lecture 3
Term | Definition |
---|---|
CPU Burst | רצף CPU- זמן בו תהליך משתמש בצורה רצופה ב-CPU. פעם בכמה זמן התהליך מפסיק את הרצף לצורך פנייה ל-I/O, בזמן שהוא מחכה, תהליך אחר יכול לרוץ. (נקרא גם JOB) |
Convoy effect | הרבה job-ים קצרים תקועים מאחורי אחד ארוך |
FCFS | First Come First Served מדיניות לתזמון של תהליכים. בגירסא ה-non preemitive: התהליך הראשון שמגיע מתבצע עד סופו. התהליכים מתבצעים לפי סדר הגעתם ועד שהם מסתיימים. יכול לגרום לConvoy Effect- אפקט השיירה: ג'ובים קצרים ש"נתקעים" בגלל ג'וב ארוך שהגיע לפניהם. |
SJF | Short Job First מדיניות לתזמון של תהליכים. הג'וב הקצר ירוץ קודם. המדיניות שנותנת זמן המתנה מינימאלי. מנק' מבט של OS- לא שימושי כי (1) לא ידוע מה יהיה אורך הג'וב (2) מנק' מבט גלובלית לא חשוב ל-OS זמן ההמתנה. לא ידוע מה אורך הburst אבל אפשר לשערך אותו (נוס |
SRTF | Short Remaining Time First אם מגיע תהליך עם burst קצר יותר משארית ה-burst שיש לתהליך שרץ עכשיו התהליך עם הזמן הקצר יותר ירוץ.לא ידוע מה אורך הburst אבל אפשר לשערך אותו (נוסחא -שקף 28) |
Round-Robin | מדיניות לתזמון של תהליכים. Preemptive. ה-OS מגדיר q - יחידת זמן CPU אחרי שזמן זה עובר התהליך הנוכחי מופסק ועובר לסוף התור של הready. עוברים על התור לפי הסדר. הערה- מדובר בburst time. הזמן שלוקח לג'וב להסתיים-גדול יותר מSJF אבל תגובה מהירה יותר. q גדול- מ |
Exp Aging | מיצוע אקספוננציאלי לשערוך ה-CPU Burst הבא של התהליך. נוסחא- שקף 39. alpah קטנה מ-1 ולכן לכל איבר יש משקל יותר קטן. Alpha=0- כל החיזויים זהים, Alpha=1 החיזוי שווה לערך הנמדד הקודם. |
Starvation | הרעבה- מצב בו תהליך מחכה ותורו לרוץ לא מגיע. |
Preemitive/Non-Preemitive | שני סוגים של מדינויות תזמון: Preemitive- עוצרים תהליך באמצע ועוברים לאחר Non-Preemitive - נותנים לתהליך לסיים. |
Thread | Thread - הוא חוט ביצוע בתוך תהליך. לתהליך יש לפחות thread אחד ויכולים להיות מספר חוטי ביצוע שרצים במקביל . להבדיל מתהליכים, ל-thread-ים ששייכים לאותו תהליך יש את אותם משאבים (מרחב זכרון, handles להתקני I/O) יכול להיות בעייתי אבל קיים כדי ליצור לשיתוף פעול |
User-Space threads | בתמיכה ב-thread-ים בשיטה זו ה-kernel מכיר רק process-ים. בתוך כל תהליך יש מערכת run-time שמנהלת את תזמון החוטים באותו תהליך. ה-OS מתזמנת תהליכים, התהליכים מתזמנים חוטים. יתרונות - מעבר מהיר בין חוטים, אפשר לעבוד גם ב-OS שלא תומכת בחוטים. חסרונות - כש- |
Kernel-Space threads | תמיכה ב-thread-ים ב-OS - ה-kernel שומר טבלה של Process-ים וטבלה של thread-ים כך שה-OS משתמשת במערכת התזמון לתזמון thread-ים ולא תהליכים. |
Threads Scheduling | המתכנת נותן עדיפות ל-thread ומבקש מה-OS עדיפות לתהליך כולו (מתוך 6 אפשרויות). מתוך שני אלה ה-OS מרכיבה עדיפות לחוט 0-31 (מס' גדול-עדיפות גבוהה) כאשר לחוט של משתמש יכול להיות רק 0-15. ל-OS יש טבלה של 32 עדיפויות כל שורה מצביעה על ה-thread-ים שבעדיפות הז |
Inter-process communications | תקשורת בין תהליכים-למעשה מדובר בתקשורת בין thread-ים שיש להם משאבים משותפים. השיתוף הזה יכול להוליד בעיות כמו "מרוץ" וצריך לדאוג ל-mutex כדי להגן. |