אוקטובר 20021 זימון תהליכים Process Scheduling. אקטובר 2002 2עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית זימון התהליכים –מדדים לאיכות זימון תהליכים.

Slides:



Advertisements
Similar presentations
OS, , Part II CPU Scheduling Department of Computer Engineering, PSUWannarat Suntiamorntut.
Advertisements

Operating Systems Chapter 6
Operating Systems CPU Scheduling. Agenda for Today What is Scheduler and its types Short-term scheduler Dispatcher Reasons for invoking scheduler Optimization.
Map-Reduce Input: a collection of scientific articles on different topics, each marked with a field of science –Mathematics, Computer Science, Biology,
פונקציונל פונקציה מספר פונקציונל דוגמאות לא פונקציונל פונקציונל.
CPU Scheduling Algorithms
פרוייקט מסכם-עיבוד מקבילי
Operating Systems, 112 Practical Session 4, Scheduling.
Chapter 3: CPU Scheduling
מתמטיקה בדידה תרגול 3.
פה מחלקים דיסקים ?. platter surface Reading head tracks sectors cylinder Magnetic Disk rotating מבנה הדיסק הדיסק מחולק לצלחות (platters) לכל צלחת יש ראש.
מערכות הפעלה תרגול 5 – אלגוריתם זימון התהליכים ב-Linux.
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
אוטומט מחסנית הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 11.
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
Map-Reduce Input: a collection of scientific articles on different topics, each marked with a field of science –Mathematics, Computer Science, Biology,
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 תהליכים - דייאט : חוטים  מוטיבציה  חוטי משתמש וחוטי מערכת  תמיכת מערכת ההפעלה  דוגמאות ושימושים.
בהסתברות לפחות למצא בעיה במודל PAC עבור בהסתברות ε הפונקציה f טועה מודל ONLINE 1. אחרי כל טעות הפונקציה משתפרת 2. מספר הטעיות קטן.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
תורת הקבוצות חלק ב'. קבוצה בת מניה הגדרה: קבוצה אינסופית X היא ניתנת למניה אם יש התאמה חד-חד ערכית בין X לבין .
מרץ 2002אלן אזאגורי ©1 זימון תהליכים Process Scheduling.
תזכורת: גרפים גרף (G=(V,E V|=n, |E|=m| מכוון \ לא מכוון דרגה של קדקד
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 זימון תהליכים  מדיניות בסיסיות : RR, FCFS, SJF  הערכת זמן ריצה ושימוש בעדיפויות  ריבוי תורים ודוגמאות.
מודל ONLINE לומדמורה 1. כל ניתן לחישוב בזמן פולינומיאלי 2. אחרי מספר פולינומיאלי של טעיות ( ) הלומד לא טועה ז"א שווה ל- Littlestone 1988.
מרץ 2002אלן אזאגורי ©1 קיפאון Deadlock. מרץ 2002 אלן אזאגורי ©2עמוד נושאים בעית הקיפאון –דוגמא –תנאים לקיפאון טיפול בקיפאון –מניעה, זיהוי,התחמקות –אלגורימים.
תהליכים  מהו תהליך ?  מבני הנתונים לניהול תהליכים.  החלפת הקשר.  ניהול תהליכים ע " י מערכת ההפעלה.
Chapter 5-CPU Scheduling
נובמבר קיפאון Deadlock. נובמבר עמוד נושאים בעית הקיפאון –דוגמא –תנאים לקיפאון טיפול בקיפאון –מניעה, זיהוי,התחמקות –אלגוריתמים למניעה והתחמקות.
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 זימון תהליכים  מדיניות בסיסיות : RR, FCFS, SJF  הערכת זמן ריצה ושימוש בעדיפויות  ריבוי תורים ודוגמאות.
הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353)
The Cyclic Multi-peg Tower of Hanoi מעגלי חד-כווני סבוכיות הפתרון בגרסאות עם יותר מ-3 עמודים.
Ray 7 דוגמא אלגוריתם 1.קבל דוגמאות 2. פלט f a עבור הדוגמה a המינימלית החיובית ?
משטר דינמי – © Dima Elenbogen :14. הגדרת cd ו -pd cd - הזמן שעובר בין הרגע שראשון אותות הכניסה יוצא מתחום לוגי עד אשר אות המוצא יוצא מתחום.
תזכורת : אלגברה ליניארית מסקנה קלט : וקטורים פלט : האם u תלוי ליניארית ב קלט : מערכת של n משואות לינאריות ב -m נעלמים. פלט : פתרון, או שאין כזה. אלגוריתם.
מערכים עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר int grade1, grade2, …, grade20; int grade1, grade2, …, grade20;
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א מודל הלמידה מדוגמאות Learning.
עקרון ההכלה וההדחה.
יחס סדר חלקי.
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 סיכום הקורס.
זימון תהליכים מדיניות בסיסיות: RR, FCFS, SJF קביעת עדיפויות
1 Formal Specifications for Complex Systems (236368) Tirgul Hazara.
מבוא למדעי המחשב, סמסטר א ', תשע " א תרגול מס ' 1 נושאים  הכרת הקורס  פסאודו - קוד / אלגוריתם 1.
Markov Decision Processes (MDP) תומר באום Based on ch. 14 in “Probabilistic Robotics” By Thrun et al. ב"הב"ה.
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א.
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 תהליכים  מהו תהליך ?  מבני הנתונים לניהול תהליכים.  החלפת הקשר.  ניהול תהליכים ע " י מערכת ההפעלה.
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
מערכות הפעלה תרגול 4 – תהליכים ב-Linux (2). מערכות הפעלה - תרגול 42 (c) ארז חדד 2003 תוכן התרגול אלגוריתם זימון התהליכים ב-Linux  איך בוחרים, בכל נקודת.
1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.
Chapter 6: CPU Scheduling
Computer Architecture and Operating Systems CS 3230: Operating System Section Lecture OS-3 CPU Scheduling Department of Computer Science and Software Engineering.
CS212: OPERATING SYSTEM Lecture 3: Process Scheduling 1.
1 Our focus  scheduling a single CPU among all the processes in the system  Key Criteria: Maximize CPU utilization Maximize throughput Minimize waiting.
CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Thread Scheduling Multiple-Processor Scheduling Operating Systems Examples Algorithm.
Operating Systems Practical Session 3, Scheduling 1.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 6. מפעל השעווה – לולאות  עד עכשיו  טיפלנו בייצור נרות מסוג אחד, במחיר אחיד  למדנו להתמודד עם טיפול במקרים שונים.
Lecture 4 CPU scheduling. Basic Concepts Single Process  one process at a time Maximum CPU utilization obtained with multiprogramming CPU idle :waiting.
CPU scheduling.  Single Process  one process at a time  Maximum CPU utilization obtained with multiprogramming  CPU idle :waiting time is wasted 2.
1 Module 5: Scheduling CPU Scheduling Scheduling Algorithms Reading: Chapter
1 Lecture 5: CPU Scheduling Operating System Fall 2006.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 5: CPU Scheduling.
Chapter 5: CPU Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 5: CPU Scheduling Basic Concepts Scheduling Criteria.
זימון תהליכים מדיניות בסיסיות: RR, FCFS, SJF
פרוקטוז, C6H12O6 , חד-סוכר מיוחד
תרגול 4 – ניהול תהליכים, מבני נתונים למימוש תהליכים
בחירת חומר גלם כתב: עמרי שרון.
תהליכים-דייאט: חוטים מוטיבציה חוטי משתמש וחוטי מערכת
Shell Scripts בסביבת UNIX
Engineering Programming A
Practical Session 3, Scheduling
Presentation transcript:

אוקטובר זימון תהליכים Process Scheduling

אקטובר עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית זימון התהליכים –מדדים לאיכות זימון תהליכים מדינויות זימון –אלגוריתם First-Come First-Serve –אלגוריתם Round Robin –מזעור זמן שהייה ממוצע (Shortest Processing Time First) –זמני הגעה לא אחידים (Shortest Remaining Time to Completion First) –שימוש בכמה תורים (דוגמא Windows NT)

אקטובר עמוד מצבי תהליך סיוםיצירה מוכן Ready רץ Running המתנה Waiting מתקבל זימון יציאה פסיקה/ וויתור ק"פ או המתנה לארוע ק"פ או ארוע הסתיים טווח קצר טווח בינוני/ ארוך

אקטובר עמוד מתי "זימון תהליכים" נכנס לפעולה? ניתן לבצע החלטות זימון כאשר תהליך עובר ממצב למצב –למשל, תהליך שמבצע פקודת ק"פ, עובר ממצב "רץ" למצב "המתנה" האם ניתן לאלץ תהליך לעבור ממצב "רץ" למצב "מוכן"? –אם כן, הזימון נקרא בר הפקעה ( Preemptive ) –אם לא, הזימון נקרא ללא הפקעה ( Non-preemptive ) תהליך חייב לשתף פעולה (Cooperative) למשל ב-Windows 3.1 –התכנות בשתי הסביבות יכול להיות מאד שונה. מדוע?

אקטובר עמוד תקורה בזימון תהליכים זימון תהליכים אינו חינם –מעבר ל-Kernel mode –החלפת הקשר (Context switch) שמירת המצב\הקשר של התהליך היוצא טעינת המצב\הקשר של התהליך הנכנס –מעבר ל-User mode וקפיצה לפקודה הבאה ישנו גם מחיר מוסתר… –Page faults –Cache misses

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

אקטובר עמוד איפיון תהליכים תהליך עתיר חישובים (CPU-bound) תהליך עתיר קלט/פלט (I/O-bound) CPUI/OCPUI/OCPU I/OCPUI/OCPU

אקטובר עמוד מדדים הקובעים את "טיב" מדיניות הזימון ניצולת המעבד (CPU utilization) –אחוז הזמן שהמעבד "פעיל" תפוקה (Throughput) –מספר יחידות העבודה שהושלמו בפרק זמן נתון זמן ביצוע תהליך (Turn-around-time) –מרגע שיגור התהליך עד לסיומו זמן המתנה למעבד (Waiting time) –סכום הזמנים בהם התהליך במצב "מוכן" זמן תגובה (Response time) –בתהליך אינטראקטיבי, פרק הזמן בין הגשת בקשה ע"י המשתמש עד לתגובת המערכת (תצוגת פלט)

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

אקטובר עמוד הגדרת מדדים יחס הענישה של תהליך P i הוא t i /T i כאשר –T i - הוא זמן השהייה - סה"כ זמן שתהליך בטווח הקצר - במצב "רץ" או "מוכן" –t i - הוא סה"כ זמן שתהליך במצב "רץ" זמן שהייה ממוצע של תהליך, תחת מדיניות זימון A – כאשר N הוא מספר התהליכים

אוקטובר מדינויות זימון

אקטובר עמוד First Come First Serve (FCFS) הגדרה –המעבד מוקצה לתהליך הראשון שדורש אותו פרטי מימוש –Non-preemptive –ממומש ע"י תור FIFO של התהליכים במצב מוכן –זמן שהייה של תהליך תלוי בזמן ובסדר הגעתו –יחס ענישה גבוה לתהליכים קצרים ונמוך לארוכים P1P1P2P2P3P3 P1P1P2P2P3P3 time avg_wait_t=17 avg_wait_t=3 (בהנחה שכולם מגיעים באותו זמן)

אקטובר עמוד First Come First Serve (FCFS) אפקט השיירה (Convoy effect) אפיון –תהליך אחד עתיר חישובים: C –מספר תהליכים עתירי קלט/פלט: I 1,…,I n –(בהנחת non-preemption) אפקט – ברגע שתהליך C תופס את המעבד, תהליכי I j מצטברים בתור המוכנים –התקני הק"פ מובטלים!

אקטובר עמוד Round Robin (RR) הגדרה –המעבד מוקצה לתהליך הראשון בתור לזמן ≥ q –אם זמן החישוב של התהליך גדול מ-q, התהליך מופסק ומועבר לסוף תור ה-"מוכנים" פרטי מימוש –Preemptive –Quantum אופייני msec –ממומש בעזרת timer שמייצר פסיקה כל פרק זמן q

אקטובר עמוד Round Robin (RR) אפיונים אם ה-quantum קטן, הזימון "הוגן" –תחושה שכל תהליך רץ במעבד משלו עם בקצב 1/N, כאשר N הוא מספר התהליכים – יחס ענישה אחיד. –זמן תגובה (כמעט) ליניארי בזמן החישוב וב-N. –אך התקורה עלולה להיות גבוהה! דוגמא –מספר תהליכים N=10 –זמן חישוב של תהליך 100 –q=1 RRFCFSתהליך …

אקטובר עמוד הכללה: Selfish Round-Robin הגדרה –תהליכים חדשים מוחזקים בתור המתנה FIFO –תהליכים וותיקים מוחזקים בתור Round-Robin לביצוע –כאשר אין תהליך בתור הוותיקים, בוחרים את הראשון בתור החדשים ומצרפים אותו לוותיקים –"הזדקנות" – תהליך הופך מחדש לוותיק, למשל על ידי כך שמגדילים את עדיפות כל תהליך בכל יחידת זמן עד מעבר לסף שהופך אותו לוותיק איפיון –אם ההזדקנות קצרה (או לא קיימת) מתקבל RR –אם ההזדקנות ארוכה (או אינסופית) מתקבל FCFS

אקטובר עמוד Shortest Processing Time First (SPTF) הנחה –כל N התהליכים מגיעים יחד לביצוע –זמן הריצה של תהליך P i ידוע מראש (t i ) הגדרה –בוחרים את התהליך עם t i מינימלי שירוץ עד סיומו פרטי מימוש –Non-preemptive –אבל... איך מנחשים את t i ?

אקטובר עמוד עם הפקעה או ללא הפקעה? נזכיר: זמן שהיה ממוצע עבור מדיניות זימון A: למה –לכל מדיניות זימון עם הפקעה A (עבור N תהליכים שמגיעים יחד), קיימת מדיניות A’ ללא הפקעה כך ש-

אקטובר עמוד עם הפקעה או ללא הפקעה? (המשך) הוכחה –בהינתן זימון של N תהליכים לפי זימון A –יהי Pk התהליך שמסתים אחרון –נצופף את ריצת Pk לסוף הזימון –זמן השהייה של Pk לא השתנה וזמן השהייה של התהליכים האחרים לא גדל PkPrPk Pr PkPrPk Pr time

אקטובר עמוד אופטימליות של SPTF לפי מדד H A משפט –אם כל התהליכים מגיעים יחד, לכל מדיניות זימון A הוכחה –לפי הלמה, ניתן להניח ש-A היא מדיניות ללא הפקעה –אם A לא SPTF, חייבים להיות שני תהליכים P k ו- P r כך ש-t k < t r ו-P r מתוזמן מיד אחרי P k

אקטובר עמוד אופטימליות של SPTF לפי מדדH A (המשך) הוכחה (המשך) –זמן שהייה ממוצע אחרי ההחלפה: –זמן השהייה הממוצע לא גדל! –חוזרים על ההחלפות עד שהתזמון נהיה SPTF PrPk PrPk לפני אחרי TrTr TkTk trtr tktk time

אקטובר עמוד זמן שהייה ממוצע תחת RR משפט –אם כל התהליכים מגיעים יחד, אזי הוכחה –נסמן ב-delay A (i, j) את העיכוב שנגרם לתהליך P j עקב זימונים של תהליך P i תחת מדיניות A –עבור מדיניות A כלשהי, מתקיים:

אקטובר עמוד זמן שהייה ממוצע תחת RR (המשך) עבור SPTF עבור Round Robin i<j PiPj time PiPj time PiPj

אקטובר עמוד Shortest Remaining Time to Completion First (SRTF) הגדרה –כאשר מגיע תהליך Pi עם זמן חישוב נותר קצר יותר משארית זמן החישוב של התהליך שרץ כרגע Pk, אזי מפקיעים את המעבד מ-Pk ומכניסים את Pi משפט –SRTF ממזער את זמן השהייה הממוצע במערכת (בדומה ל-SPTF) הוכחה –דומה להוכחת האופטימליות של SPTF מה ההבדל בין SRTF ו- SPTF? –SRTF עובד טוב גם כאשר תהליכים לא מגיעים יחד

אקטובר עמוד הבעיה –קשה לנבא את זמן החישוב שתהליך יצטרך פיתרון –אומדן סטטיסטי (מריצים התהליך כמה פעמים ומנחשים לעתיד)   i – הערכת זמן החישוב לסיבוב ה-i t i – זמן החישוב בפועל בסיבוב ה-i שימו לב! –  = 0 – זמן הריצה האחרון בפועל קובע (היסטוריה קרובה) –  = 1 – זמן ריצה בפועל לא משפיע! אומדן זמן החישוב של תהליך

אקטובר עמוד שימוש במספר תורים ניתן להפריד תהליכים לקבוצות שונות לפי איפיונם –foreground, background, … מדיניות תזמון מתפרקת ל- –מדיניות תזמון בין התהליכים השייכים לאותה קבוצה –מדיניות תזמון בין קבוצות שונות

אקטובר עמוד ריבוי תורים Multilevel Feedback Queues הגדרה –קיימים מספר תורים לפי סדר עדיפות תור גבוה לתהליכים בעלי עדיפות גבוהה יותר –תהליך מתחיל בתור הגבוה ביותר –אם הוא צורך את כל ה-quantum, הוא יורד לתור נמוך יותר –אם תהליך משחרר המעבד לפני סוף הquantum- (עקב פעולת ק"פ), הוא חוזר לתור גבוה יותר פרטי מימוש –לתורים הנמוכים נקצה אחוז קטן יותר של זמן מעבד –ה-quantum עולה עבור תורים נמוכים יותר

אקטובר עמוד דוגמא זימון ב-Windows NT שימוש בתורים לפי עדיפות –32 תורים (dispatcher ready queues) Real time priority (עדיפויות 16-31) Variable priority (עדיפויות 1-15) (עדיפות 0 שמורה למערכת) מדיניות Round Robin –על התור העדיף ביותר שאינו ריק העדיפות יורדת אם נצרך כל ה-quantum העדיפות עולה אם תהליך עובר מ-wait ל-ready –העדיפות נקבעת ע"פ סוג הק"פ ק"פ מהמקלדת מקנה עדיפות גבוהה