מרץ 2002אלן אזאגורי ©1 זימון תהליכים Process Scheduling.

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 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
חורף - תשס " ג 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. מספר הטעיות קטן.
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
תורת הקבוצות חלק ב'. קבוצה בת מניה הגדרה: קבוצה אינסופית X היא ניתנת למניה אם יש התאמה חד-חד ערכית בין X לבין .
מרץ 2002אלן אזאגורי ©1 מבנה מערכות הפעלה מרץ אלן אזאגורי (מרצה אחראי) ארז חדד.
תזכורת: גרפים גרף (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  הערכת זמן ריצה ושימוש בעדיפויות  ריבוי תורים ודוגמאות.
מרץ 2002אלן אזאגורי ©1 חוטים Threads. מרץ 2002 אלן אזאגורי ©2עמוד נושאים הגדרות –חוטים –חוטים לעומת תהליכים תמיכת מערכת ההפעלה בחוטים דוגמאות –Mach –Windows.
הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (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 קביעת עדיפויות
Markov Decision Processes (MDP) תומר באום Based on ch. 14 in “Probabilistic Robotics” By Thrun et al. ב"הב"ה.
אוקטובר זימון תהליכים Process Scheduling. אקטובר עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית זימון התהליכים –מדדים לאיכות זימון תהליכים.
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א.
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 תהליכים  מהו תהליך ?  מבני הנתונים לניהול תהליכים.  החלפת הקשר.  ניהול תהליכים ע " י מערכת ההפעלה.
02/11/2004CSCI 315 Operating Systems Design1 CPU Scheduling Algorithms Notice: The slides for this lecture have been largely based on those accompanying.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 9: Virtual Memory.
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.
Scheduling. Alternating Sequence of CPU And I/O Bursts.
1 Our focus  scheduling a single CPU among all the processes in the system  Key Criteria: Maximize CPU utilization Maximize throughput Minimize waiting.
Alternating Sequence of CPU And I/O Bursts. Histogram of CPU-burst Times.
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
Practical Session 3, Scheduling
Presentation transcript:

מרץ 2002אלן אזאגורי ©1 זימון תהליכים Process Scheduling

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

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

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

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

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

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

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

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

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

מרץ 2002אלן אזאגורי ©11 מדינויות זימון

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

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

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

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

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

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

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

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

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

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

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

מרץ 2002 אלן אזאגורי ©23עמוד זמן שהייה ממוצע תחת RR (המשך) עבור SPTF עבור Round Robin i<j PiPj time PiPj time PiPj

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

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

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

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

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