זימון תהליכים מדיניות בסיסיות: RR, FCFS, SJF קביעת עדיפויות

Slides:



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

CH 5. CPU Scheduling Basic Concepts F CPU Scheduling  context switching u CPU switching for another process u saving old PCB and loading.
מבוא למדעי המחשב לתעשייה וניהול
תרגילי חזרה. General Things to Remember Be careful to identify if we’re talking about gains or costs (because the search cost is always negative) Check.
Operating Systems Chapter 6
Map-Reduce Input: a collection of scientific articles on different topics, each marked with a field of science –Mathematics, Computer Science, Biology,
פרוייקט מסכם-עיבוד מקבילי
Operating Systems, 112 Practical Session 4, Scheduling.
תמחיר תהליך. מערכת תמחיר תהליך מערכת זו נועדה לספק מידע, כמו מערכת תמחיר הזמנה, על עלות המוצרים שיוצרו בתקופה ועל עלות המוצרים שבתהליך הייצור בסוף התקופה.
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
Operating Systems 1 K. Salah Module 2.1: CPU Scheduling Scheduling Types Scheduling Criteria Scheduling Algorithms Performance Evaluation.
Operating System Process Scheduling (Ch 4.2, )
מערכות הפעלה תרגול 5 – אלגוריתם זימון התהליכים ב-Linux.
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 פסיקות  סוגי פסיקות  איך מערכת ההפעלה מטפלת בפסיקות  דוגמא : קלט בעזרת פסיקות.
מערכות הפעלה ( אביב 2008) חגית עטיה © 1 טיפול בקיפאון  בעיית הקיפאון  הימנעות מקיפאון  זיהוי קיפאון באמצעות מציאת מעגלים  אלגוריתם הבנקאי להתחמקות.
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 מערכות הפעלה קורס מס '
Map-Reduce Input: a collection of scientific articles on different topics, each marked with a field of science –Mathematics, Computer Science, Biology,
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 תהליכים - דייאט : חוטים  מוטיבציה  חוטי משתמש וחוטי מערכת  תמיכת מערכת ההפעלה  דוגמאות.
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 תהליכים - דייאט : חוטים  מוטיבציה  חוטי משתמש וחוטי מערכת  תמיכת מערכת ההפעלה  דוגמאות ושימושים.
בהסתברות לפחות למצא בעיה במודל PAC עבור בהסתברות ε הפונקציה f טועה מודל ONLINE 1. אחרי כל טעות הפונקציה משתפרת 2. מספר הטעיות קטן.
עיבוד תמונות ואותות במחשב אלכסנדר ברנגולץ דואר אלקטרוני : שיטות קידוד שיטות קידוד אורך מלת קוד ואנטרופיה אורך מלת קוד ואנטרופיה קידוד.
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
1 חישוב ואופטימיזציה של שאילתות חלק 2 Query Evaluation and Optimization Part 2.
מרץ 2002אלן אזאגורי ©1 זימון תהליכים Process Scheduling.
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 זימון תהליכים  מדיניות בסיסיות : RR, FCFS, SJF  הערכת זמן ריצה ושימוש בעדיפויות  ריבוי תורים ודוגמאות.
מערכות הפעלה ( אביב 2009) חגית עטיה ©1 מערכת קבצים log-structured  ה log הוא העותק היחיד של הנתונים  כאשר משנים בלוק (data, header) פשוט כותבים את הבלוק.
תהליכים  מהו תהליך ?  מבני הנתונים לניהול תהליכים.  החלפת הקשר.  ניהול תהליכים ע " י מערכת ההפעלה.
ניהול זיכרון  מבוא : מטרות ניהול הזיכרון.  מנגנונים : מרחב כתובות וירטואלי / פיזי. ניהול טבלת הדפים. מדיניות החלפת דפים.
A. Frank File Organization Various Parameter Issues.
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 ניהול זיכרון  מבוא : מטרות ניהול הזיכרון.  מנגנונים : מרחב כתובות וירטואלי / פיזי. חלוקת זכרון קבועה מול דפדוף.
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 זימון תהליכים  מדיניות בסיסיות : RR, FCFS, SJF  הערכת זמן ריצה ושימוש בעדיפויות  ריבוי תורים ודוגמאות.
1 Data Structures, CS, TAU, Perfect Hashing בעיה: נתונה קבוצה S של n מפתחות מתחום U השוואה ל- Hash : * טבלה קבועה (Hash רגיל - דינאמי) * רוצים זמן קבוע.
משטר דינמי – © 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.
מערכות הפעלה קורס מס' מערכות הפעלה (אביב 2009) חגית עטיה ©
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 סיכום הקורס.
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 תהליכים  מהו תהליך ?  מבני הנתונים לניהול תהליכים.  החלפת הקשר.  ניהול תהליכים ע " י מערכת ההפעלה.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts, Amherst Operating Systems CMPSCI 377 Lecture.
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
Safari On-line books. מה זה ספארי ספארי זו ספריה וירטואלית בנושא מחשבים היא כוללת יותר מ כותרים כל הספרים הם בטקסט מלא ניתן לחפש ספר בנושא מסוים.
ניהול זיכרון  מבוא : מטרות ניהול הזיכרון.  מנגנונים : מרחב כתובות וירטואלי / פיזי. ניהול טבלת הדפים. מדיניות החלפת דפים.
מערכות הפעלה תרגול 4 – תהליכים ב-Linux (2). מערכות הפעלה - תרגול 42 (c) ארז חדד 2003 תוכן התרגול אלגוריתם זימון התהליכים ב-Linux  איך בוחרים, בכל נקודת.
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 1 פרק 7 ISP דוגמא נוספת.
1 Scheduling Algorithms FCFS First-Come, First-Served Round-robin SJF Multilevel Feedback Queues.
- אמיר רובינשטיין מיונים - Sorting משפט : חסם תחתון על מיון ( המבוסס על השוואות בלבד ) של n מפתחות הינו Ω(nlogn) במקרה הגרוע ובממוצע. ניתן לפעמים.
1 מבוא למדעי המחשב רקורסיה. 2 רקורסיה היא שיטה לפתרון בעיות המבוססת על העיקרון העומד ביסוד אינדוקציה מתמטית: אם ידועה הדרך לפתור בעיה עבור המקרים הבסיסיים.
Chapter 6: CPU Scheduling
COT 4600 Operating Systems Spring 2011 Dan C. Marinescu Office: HEC 304 Office hours: Tu-Th 5:00-6:00 PM.
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.
Peng Lu. CPU Scheduling 1. Basic Concepts 2. Scheduling Criteria 3. Scheduling Algorithms 4. Multiple-Processor Scheduling 5. Real-Time Scheduling 2.
Operating Systems Practical Session 3, Scheduling 1.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 7. סברוטינות subroutines.
שיאון שחוריMilOSS-il מוטיבציה  python זה קל ו C זה מהיר. למה לא לשלב?  יש כבר קוד קיים ב C. אנחנו רוצים להשתמש בו, ולבסס מעליו קוד חדש ב python.
Lecture Topics: 11/15 CPU scheduling: –Scheduling goals and algorithms.
שיתוף PDT בין חוטים PDT Thread A Process Descriptor File Object 1 File Object 2 File 1 File 2 pthread_create Thread B Process Descriptor ה PDT משותף לכל.
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
תרגול 4 – ניהול תהליכים, מבני נתונים למימוש תהליכים
פרק שלישי – תזמון תהליכים
בחירת חומר גלם כתב: עמרי שרון.
תהליכים-דייאט: חוטים מוטיבציה חוטי משתמש וחוטי מערכת
Shell Scripts בסביבת UNIX
פרק 3 - תהליכים.
Practical Session 3, Scheduling
Presentation transcript:

זימון תהליכים מדיניות בסיסיות: RR, FCFS, SJF קביעת עדיפויות ריבוי תורים, ושילוב מדיניות.

זימון תהליכים זימון טווח-קצר: זימון טווח-ארוך: בוחר תהליך מתור המוכנים ומריץ אותו ב-CPU. מופעל לעיתים קרובות (אלפיות-שנייה). צריך להיות מהיר. זימון טווח-ארוך: בוחר איזה תהליך יובא לתור המוכנים. מופעל לעיתים "רחוקות" (שניות, דקות). יכול להיות איטי. קובע את מידת השיתוף בין תוכניות. במערכת ההפעלה יש את שניהם. February 03 חגית עטיה ©

מדדים להערכת זימון תהליכים אנחנו נתמקד בזימון לטווח קצר. ניצול מקסימלי של המעבד תקורה מינימאלית זמן תגובה מינימאלי הספק (throughput) מקסימלי (מספר התהליכים שמסתיימים בפרק זמן) אי-אפשר לנצח בכל המדדים (trade-off). זמן תגובה = זמן המתנה לביצוע + זמן ביצוע (בטווח הקצר) February 03 חגית עטיה ©

אלגוריתם First-Come, First-Served התהליך שהגיע ראשון לתור הממתינים ירוץ ראשון נותן עדיפות לתהליכים עתירי חישוב (CPU bound) ממזער ניצול התקנים לא מספק דרישות שיתוף (time sharing) non-preemptive (ללא הפקעות): תהליך מקבל את המעבד עד לסיומו. מימוש פשוט: תור התהליכים המוכנים הוא FIFO. להבדיל מתהליכים עתירי ק/פ (I/O bound) שמרבית זמן הפעולה שלהם הוא המתנה לפעולות ק/פ February 03 חגית עטיה ©

FCFS: דוגמא זמן השהייה הכולל של תהליך במערכת (שכולל לפיכך המתנה לתהליכים אחרים) תלוי בזמן ובסדר הגעתו לטווח הקצר למשל, אפשרות אחת (כאשר כל התהליכים מגיעים יחד): זמן המתנה ממוצע = (0+24+27)/3 = 17. זמן המתנה ממוצע = (0+3+6)/3 = 3. 24 3 3 P1 P2 P3 זמן המתנה = זמן מרגע הגעת תהליך למוכנים ועד תחילת ביצועו 3 3 24 P2 P3 P1 February 03 חגית עטיה ©

אפקט השיירה מה קורה? תהליך אחד עתיר חישובים: C. מספר תהליכים עתירי קלט/פלט: I1,…,In. מה קורה? תהליך C תופס את המעבד. תהליכי Ij מצטברים בתור המוכנים. התקני קלט / פלט מובטלים! February 03 חגית עטיה ©

Round Robin (RR) תור מוכנים מעגלי המעבד מוקצה לתהליך הראשון בתור אם זמן החישוב של התהליך גדול מקצבת זמן מסוימת, q, התהליך מופסק ומועבר לסוף תור המוכנים. Preemptive בדרך-כלל, q = 10-100msec. מימוש באמצעות timer שמייצר פסיקה כל q יחידות-זמן. February 03 חגית עטיה ©

השוואת זמן הסיום של תהליכים 10 תהליכים כל תהליך דורש 100 יחידות-זמן. q=1. RR FCFS תהליך 991 100 1 992 200 2  1000 10 February 03 חגית עטיה ©

אפיונים של Round Robin אם קצבת הזמן q קטנה, הזימון "הוגן" התקורה עלולה להיות גבוהה! אםq גדול מאד, RR הופך ל-FCFS זמן השהייה הממוצע תחת RR הוא לכל היותר פעמיים האופטימאלי. February 03 חגית עטיה ©

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

Shortest Job First (SJF) נקרא גם Shortest Processing Time First מריצים את התהליך עם זמן ריצה מינימאלי, עד לסיומו. כל התהליכים מגיעים יחד. זמן הריצה של תהליך ידוע מראש. Non-preemptive. דוגמא: P1 (6) P2 (8) P3 (7) P4 (3) זמן המתנה ממוצע = 7 3 6 7 8 P4 P1 P3 P2 February 03 חגית עטיה ©

Shortest Remaining Time to Completion First (SRTF) כאשר מגיע תהליך Pi עם זמן חישוב נותר קצר יותר מזמן החישוב הנותר של התהליך שרץ כרגע Pk, אזי מכניסים את Pi למעבד, במקום Pk Preemptive ממזער את זמן השהייה הממוצע במערכת. SRTF עובד טוב גם כאשר תהליכים לא מגיעים יחד, בניגוד ל-SJF. February 03 חגית עטיה ©

ניבוי זמן הריצה של תהליך אומדן סטטיסטי: ניבוי של העתיד על-סמך העבר i – הערכת זמן הריצה לסיבוב ה-i ti – זמן הריצה בפועל בסיבוב ה-i  = 0 ← רק זמן הריצה האחרון קובע  = 1 ← זמן ריצה בפועל לא משפיע (ואז חשוב מהו 0 ) אין הכוונה לניבוי הריצה הבאה של אותה תוכנית על-סמך ריצות קודמות, אלא למשך הזמן שייקח לתוכנית הנוכחית לוותר על המעבד (לעבור לתור waiting) על סמך פעמים קודמות שהחזיקה במעבד, במהלך אותה ריצה. February 03 חגית עטיה ©

זימון לפי עדיפויות לכל תהליך יש עדיפות. התהליך עם העדיפות הגבוהה ביותר מקבל את המעבד. SJF הוא זימון עדיפויות כאשר העדיפות הינה זמן החישוב (להיפך). בעיה: הרעבה של תהליכים עם עדיפות נמוכה. פיתרון: הזדקנות של תהליכים גורמת להגדלת העדיפות שלהם. מערכות הפעלה בדרך כלל משלבות כמה שיטות של זימון יחד עדיפויות מהוות דרך חשובה לנהל את מערכת הזימון בעצם selfish round-robin מהווה גרסה של הזדקנות. February 03 חגית עטיה ©

קביעת עדיפויות עדיפות התחלתית גבוהה ניתנת: לתהליכים של משתמשים חשובים (למשל, sysadmin) לתהליכים שסיומם דחוף לתהליכים אינטראקטיביים תהליכים בעדיפות מינימאלית יכולים "לתרום" זמן מעבד לצרכים לא חשובים (SETI@home) February 03 חגית עטיה ©

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

זימון ב-UNIX זימון לפי עדיפויות עדיפות מספרית נמוכה = עדיפות טובה יותר חישוב העדיפות מתבסס על דעיכה אקספוננציאלית תהליך שהשתמש לא מזמן במעבד מקבל עדיפות גבוהה (גרועה) ככל שעובר הזמן, עדיפותו של התהליך דועכת (משתפרת) לכן תהליכים שיוותרו מרצונם על המעבד (I/O bound) יחזרו אליו מהר יותר מתהליכים שעברו הפקעה (CPU bound) February 03 חגית עטיה ©

חישוב עדיפויות ב-UNIX עדיפות תהליך בתחילת יחידת הזמן ה- היא: עדיפות תהליך בתחילת יחידת הזמן ה- היא: February 03 חגית עטיה ©

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