30
1 ןןן ן ן ן ןןןןן ןן ןןןןןןן ןןןןןן ןןןןןן 'ןןןן ןןןןןןן ןןןןן'/234119 ןןןן ןןן+ /ןן ןןן ןןןןןןןןןןן ןןןןןן+

השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך + האוניברסיטה הפתוחה

Embed Size (px)

DESCRIPTION

ניהול וזִמְנוּן תהליכים. השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך + האוניברסיטה הפתוחה. ניהול תהליכים - הקדמה. ריבוי תהליכים על מעבד בודד, כיצד? בכל רגע נתון רץ רק תהליך אחד: "התהליך הנוכחי" התהליכים האחרים : ממתינים לביצוע או ממתינים לק/פ או לקבלת משאב אחר - PowerPoint PPT Presentation

Citation preview

Page 1: השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך + האוניברסיטה הפתוחה

1

נון תהליכים מ� ניהול וז

/טל כהן + איתן קוך234119השקפים בהשראת 'מבוא למערכות הפעלה'/+ האוניברסיטה הפתוחה

Page 2: השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך + האוניברסיטה הפתוחה

2

ניהול תהליכים - הקדמה

?ריבוי תהליכים על מעבד בודד, כיצד:התהליך הנוכחי" בכל רגע נתון רץ רק תהליך אחד" התהליכים האחרים : ממתינים לביצוע או ממתינים לק/פ או

לקבלת משאב אחר:החלפת הקשר המכניזם

נושאי השיעור::ריבוי תהליכים והחלפת תהליכים יזומה )ע“י מ"ה( המוטיבציהמנגנון החלפת ההקשרמדיניות זמנון

Page 3: השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך + האוניברסיטה הפתוחה

3

יתרונות החלפת תהליכים יזומה )ע"י מ"ה(

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

מימוש ותחזוקה

Page 4: השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך + האוניברסיטה הפתוחה

4

חסרונות החלפת תהליכים יזומה )ע"י מ"ה(

:חסרונותתהליך אינו מקבל את כל משאבי המערכת זמן ביצוע התהליך משתנה מריצה לריצה )תלוי בעומס

הנוכחי( תהליך אינו יכול להסתמך על "אי-יציאתו" מהמעבד )למה

שירצה?...("זמן החלפת התהליכים נושא תקורה – זהו זמן "מבוזבז

Page 5: השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך + האוניברסיטה הפתוחה

5

מנגנון החלפת ההקשר – תאור כללי

)רץ כרגע( בתהליך אחר )מוכן לריצה(:Pעל מנת להחליף תהליך מ"ה "מצלמת" אתP כדי שתוכל לשחזר את מצבו ולהחזירו

לריצה בוחרת תהליך אחרQ .מבין כל המוכנים לריצה מפסיקה את פעולתP משחזרת אתQומתחילה להפעיל אותו

שלו. ההקשר מוכרח להכיל ההקשרהתמונה של תהליך נקראת מספיק מידע לשיחזור ההרצה שהופסקה

Page 6: השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך + האוניברסיטה הפתוחה

6

תקורת החלפת ההקשר

התקורה: ה"צילום", ההחלטה את מי להריץ, השחזור

:דוגמא מילי-שניות100נניח שמתבצעת החלפה כל מילי-שניות להחליף הקשר 3נניח שלוקחות אזי מזמן העיבוד מתבזבז

)במהירות העיבוד האפשרית כיום ההחלפה יכולה להתבצע בפחות ממילי-שנייה(

%3)1003/(3

Page 7: השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך + האוניברסיטה הפתוחה

7

רכיבי מנגנון החלפת ההקשר

נלמד עכשיו על:

האפשרים של תהליךמצבים ה1.

– המידע הנשמר על יד מ"ה עבור כל תהליך. טבלת התהליכים2.()PCB( Process Control Block)נקרא גם

לניהול תהליכים: תור "מוכנים לריצה" מבנה נתונים3.

– מי התהליך הבא שיכנס לריצה?מדיניות )אלגוריתם( זמנון4.

Page 8: השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך + האוניברסיטה הפתוחה

8

מצבי תהליכים: דיאגרמת שינוי מצב של תהליך

NewNew

WaitingWaiting

CurrentCurrent

ReadyReady

TerminatedTerminated

InterruptInterrupt

EventEventCompleteComplete

AdmittedAdmitted(Started)(Started)

Normal or Normal or Abnormal ExitAbnormal Exit

DispatchedDispatched

I/O or otherI/O or otherEvent WaitEvent Wait

רלוונטייםCurrent ו-Ready רק מצבי מבחינת החלפת הקשר:

Page 9: השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך + האוניברסיטה הפתוחה

9

PCB - Process Controlטבלת התהליכים )Block )

הטבלה מכילה רשומה לכל תהליך רשומת תהליך מכילה מידע על מצב התהליך ועל ההקשר

הדרוש להרצתו )מכילה גם מידע נוסף שאינו רלוונטי להחלפת הקשר(

:רשומת תהליך נראית בערך כךאינדקס הכניסה בטבלה של

(Pid תהליך הוא המזהה שלו )

Process StatePriorityProcess numberProgram CounterStack Pointer<registers>I/O Status InformationMemory Information Base LimitsFile InformationAccounting Information

Page 10: השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך + האוניברסיטה הפתוחה

10

תור הממתינים לריצה מבנה נתונים:

PCB 12PCB 12Prio: 200Prio: 200 PCB 42PCB 42

Prio 200Prio 200 PCB 3PCB 3Prio 100Prio 100 PCB 41PCB 41

Prio 3Prio 3PCB 0PCB 0

<NULL><NULL>Prio 0Prio 0

headheadtailtail

Ready QueueReady Queue תור הממתינים לריצה:תור דו-כווני הממוין לפי עדיפויות

)נקרא "תור עדיפויות"(

Page 11: השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך + האוניברסיטה הפתוחה

11

? כיצד התהליך מוחלף

.ברמת החומרה נוצרת פסיקה כל תקופת זמן.חיפוש פסיקות נעשה כל מחזור פקודה קיים מקום מיועד מראש בזיכרון שם רשומה כתובת התהליך עם

העדיפות הגבוהה ביותר. ההחלפה נעשית על ידי רוטינה ייעודית )נפרד מהתהליך

system)

Page 12: השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך + האוניברסיטה הפתוחה

12

מדיניות תזמון – אלמנטים מרכזיים

התהליך הבא נבחר מבין אלו הנמצאים בתור הממתינים שני אלמנטים מרכזיים אשר יכולים להוות את הבסיס למדיניות

תזמון:

:לאחר לכל היותר פרק זמן )הנקרא בדרך פרק זמן קצוב בו רץ התהליך הנוכחי הוא מוחלף – (Quantumכלל

חלוקה זו מבטיחה סוג מסוים של הוגנות)"סוציאליסטית"(

)...עדיפויות )בשקף הבא

Page 13: השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך + האוניברסיטה הפתוחה

13

מדיניות תזמון – אלמנטים מרכזיים

:עדיפויות )התהליך הנוכחי הוא התהליך בעל העדיפות )הנוכחית

הגבוהה ביותר. .עדיפויות יכולות להשתנות באופן דינאמי מדיניות זו מבטיחה סוג אחר של הוגנות )"קפיטליסטית" או

"מעמדית"...(

Page 14: השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך + האוניברסיטה הפתוחה

14

שיקולים בקביעת עדיפויות

יקבלו עדיפות גבוהה"חשובים"תהליכים של משתמשים

system-administrator, managers...

שסיומם דחוףעדיפות גבוהה לתהליכים יקבלו עדיפות גבוהה אינטראקטיבייםתהליכים

Page 15: השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך + האוניברסיטה הפתוחה

15

שיקולים בקביעת עדיפויות

:קה" יהיו בעדיפות מינימלית Hד נרצה שתהליכי "צ�)חישובים מבוזרים קולקטיביים )לפיצוח בעיות קשות( להטענת מסמכים מהרשתPush Technology ) חישוב עד מיליון ספרות...צדקה

Page 16: השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך + האוניברסיטה הפתוחה

16

קריטריונים להחלטה:

:בני מדידהזמן ההגעה של הבקשההקדימות הראשונית של הבקשה

מוערכים )בדר"כ רלוונטי לעבודות אצווה בלבד, וגם שם ההערכהלא מדויקת(:

זמן היע"מזיכרוןשורות פלטמשאבים נוספים

.'כל השיקולים האלה נותנים לנו מדד ל 'עדיפות ראשונית

Page 17: השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך + האוניברסיטה הפתוחה

17

UNIXדוגמא: חישוב עדיפויות ב-

1,2,3מחלקים את הזמן לקוונטות…,:עדיפות תהליך בתחילת הקוונטה ה- היא

Basej: עדיפות ראשונית של תהליך jUj)i(: תצרוכת יע"ם של תהליך jבזמן i

ji

)1()()(

2

)1()(

2

1

2

1

iCPUiUiCPU

NICEiCPU

BaseiP

jjj

jj

jj

yi-1(yi= αxi + (1 - αממוצע נע משוקלל אקספוננציאלית

ערך גבוה יותר – עדיפות נמוכה יותר

ערך חיובי בטווח בשליטת 19..1

המשתמש

Page 18: השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך + האוניברסיטה הפתוחה

18

איך בוחרים מדיניות תזמון?

:ניתן להביא בחשבון מספר קריטריונים. למשלשל המעבדניצול מקסימלי רה> <ר ת?קו ?עו ז Aמלטובת משתמשים אינטראקטיביים(זמן תגובה מינימלי( הספק( throughput:) נרצה כי מספר גדול ככל האפשר של

תהליכים יסיימו את ריצתם בפרק זמן נתון בדרך כלל מתקייםtradeoff:מדיניות בין הקריטריונים השונים

תזמון המשפרת אחד מהם גורמת להרעה באחרים דוגמה קלאסית לonline-algorithm כלומר אלג' אופטימיזציה ,

שמקבל את הנתונים בזמן ריצה במקום מראש.

Page 19: השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך + האוניברסיטה הפתוחה

19

אלגוריתמי תזמון

First Come First Serve )FCFS(: non-preemptive' – ידוע גם כ FIFO'

התהליך שהגיע ראשון לתור הממתינים יכנס ראשון( לא מספק דרישות שיתוףtime sharing.)לא מתיימר למקסם ניצול התקנים

Shortest Job First )SJF( : preemptive או non-preemptive

התהליך בעל יתרת זמן ריצה מינימלית יכנס ראשון?דורש ניבוי זמן הריצה של תהליך – כיצד

שני אלגוריתמים אלו הם בעצם מקרים פרטיים של תזמון עדיפויות

Page 20: השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך + האוניברסיטה הפתוחה

20

FCFS: P1 P2 P3Execute time 24 3 3Wait time 0 24 27Average wait time = (0+24+27)/3 = 17 ms

SJF:

P2 P3 P1

Now Average wait time = (0+3 + 6)/3 = 3 ms

SJF ו FCFS דוגמא:

Page 21: השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך + האוניברסיטה הפתוחה

21

SJF דוגמא:

)לכל תהליך נציין את זמן העיבוד הרציף הנותר )למשל עד ק/פ msב-

למשלP1 (6) P2(8) P3 (7) P4 (3) סדר הריצה יהיהP4, P1, P3, P2( זמן ההמתנה הממוצעAvg wait time) 8 יהיהms בממוצע על כל הסדרים האפשרייםFCFS 12.07 נותןms

Page 22: השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך + האוניברסיטה הפתוחה

22

ופתרונותSJFבעיות עם

אי אפשר להיות הוגן באופן מוחלט יכול לקרות מצב בו תהליכים ארוכים נדחפים לסוף התור

לנצח, אם כל הזמן מגיעות בקשות קצרות. :פתרונות

נגביל את מספר הפעמים שתהליך יכול להיעקף. זה נקרא 1.מדיניות:

shortest process next, with bypass and freeze

וותק בתור, למשל:2. c’ = )זמן יע"מ משוער( / ) )זמן המתנה( + 1 /k(

הנמוך ביותר כתהליך הבא. ’cלוקחים את התהליך בעל ה

k מבטא קבוע כלשהו, המעיד על מידת החשיבות שאנחנו נותנים לזמן ההמתנה.

Page 23: השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך + האוניברסיטה הפתוחה

23

Round Robinמדיניות

מדיניותRound Robin )RR(:( מחלקים את הזמן למרווחי זמן קבועים הנקראיםQuantom)כל התהליכים המתחרים מאורגנים בתור מעגליהתהליכים נכנסים לעיבוד לפי סדר הופעתם בתורתהליך מקבל לכל היותר כל Quantumבכל סיבוב

Page 24: השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך + האוניברסיטה הפתוחה

24

Round Robinמדיניות

מספר תכונות שלRR:Preemptive ביצועיRR תלויים בגודל Quantum . נשים לב כי עבורQuantum ,גדול מאד RR שקול

FCFS)אפקטיבית( ל-- כי בquantum .אחד, כל המשימה מתבצעת

Page 25: השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך + האוניברסיטה הפתוחה

25

Round-Robin

PCBבביצו

ע

PCBבהמתנה

PCBבהמתנה

......

מצב 'מוכן'

כניסה

סיום

Page 26: השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך + האוניברסיטה הפתוחה

26

השוואות

נניח שזמן הקוונטה הואq ויש n .תהליכים לפני התהליך הנוכחי m .מספר הפעמים שתהליך צריך להיכנס למצב ביצוע בממוצע -

התחלת תהליך(: זמן התגובה( nq מסקנה: להקטין אתq הבעיה שאי אפשר להקטין יותר מדי .

בגלל התקורה של החלפת ההקשר.

Page 27: השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך + האוניברסיטה הפתוחה

27

זמן המתנה

נניח שt >> q.)כלומר לא מסתיים בקוונטה אחת( - נניח שזמן הביצוע של התהליך הi הוא ti = mi * q .

= זמן ההמתנהmi)n*q( = n)mi*q( = nti

עובר(mi פעמים במעגל, כל פעם זה nq.)זמן

Page 28: השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך + האוניברסיטה הפתוחה

28

זמן המתנה

- בFCFS הזמן היה nT- ההבדל הוא שti - מתייחס לתהליך עצמו, ו T.'לתהליך 'ממוצע

כלומר לתהליך כדאי להיות בRR אם mi < m כלומר אם הוא ,קצר מהממוצע.

אם כל התהליכים בתור הם שווי אורך, זמן ההמתנה בשיטת. FCFSהריצה המעגלית שווה לזה של

Page 29: השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך + האוניברסיטה הפתוחה

29

זמן סיום

זמן סיום = זמן המתנה + זמן ביצוע משך ביצוע קטן מ( תהליכים קצריםq :)nq + q :תהליכים ארוכיםmiq + nti .תהליכים ארוכים 'מקופחים' באופן זה. ישנן גישות לתיקון

למשל, לתתq,2q,4q וכו' זמן מעבד לפי מספר הכניסה לתור. כלומר, ככל שיותר זמן ממתינים, כך העדיפות גדלה.

Page 30: השקפים בהשראת 'מבוא למערכות הפעלה'/234119/טל כהן + איתן קוך + האוניברסיטה הפתוחה

30

דוגמה למשבץ המערב מספר אסטרטגיות:

: מערכת0רמה

: משתמש בקדימות 1רמה גבוהה

: מסופים (ללא עיבוד מקומי. 2רמה דורש אינטראקטיביות מיידית)

: משתמשים אחרים3רמה

: משתמשי אצווה4רמה

idle process:5רמה

FCFS כי תהליכים קצרים ,וצפויים, חבל לבזבז תקורה

FCFS כי תהליכים יחסית ,נדירים

קטן qריצה מעגלית עם

ארוךqריצה מעגלית עם

FCFS או) SJF(

PCB PCB ...

PCB ...PCB

PCB ...PCB