os - processes Flashcards

1
Q

על מעבד אחד יכול לרוץ רק תהליך אחד כל פעם. כדי לגרום למקביליות מדומה

A

ש להחליף מהר בין התהליכים. החלפת התהליכים כרוכה בתקורה (overhead), כיוון שבכל פעם יש לשמור את המצב של התהליך הנוכחי ולטעון את המצב של התהליך הבא. 


How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

כל תהליך נמצא באחד מ-3 מצבים

A

רץ- התהליך רץ כעת. מוכן- התהליך איננו רץ כעת, אך מוכן לריצה כאשר מערכת ההפעלה תזמן אותו. חסום- איננו מוכן כלל לריצה (נשים לב שתהליך אינו מודע להשהייתו!), מחכה לאירוע כלשהו (כגון I/O), המונע ממנו במילא לרוץ. בזמן שהתהליך החסום מחכה, ניתן להריץ תהליכים אחרים (מה שגורם למקביליות אמיתית).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

כל תהליך מקבל יחידת זמן המחולקת ל-quantums
איך נבחר quantums?

A

quantum קטן משפר מקביליות מדומה (עד מספר מסוים, יכול להיות שהתקורה תיקח יותר מדי זמן ותפגע במקביליות), וכי quantum גדול משפר מקביליות אמיתית (יש יותר סיכוי להגיע ל-I/O בפרק הזמן שהוקצה) ואת ניצולת המעבד.

נשים לב שמספר רב של תהליכים משפר עד מידה מסוימת את רמת המקביליות המדומה, אך משלב מסוים מוריד אותה

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

יתרונות של תהליכונים על תהליכים

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

לכל התהליכונים הנמצאים באותו תהליך יש המאפיינים הבאים:

A

מצב התהליכון (running, ready, blocked).
מצב הרגיסטרים של המעבד.
מחסנית נפרדת עבור כל תהליכון.
אפשרות גישה לזיכרון ולמשאבים המשותפים בתוך התהליך.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

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

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

מימוש תהליכונים בגרעין המערכת- כל מלאכת ניהול התהליכונים מתבצעת על ידי גרעין מערכת ההפעלה.

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

מה הוא קטע קריטי

A

קטע קוד בעל משאב משותף, כל שהעברת זמן המעבד לתהליך אחר בזמן שתהליך כלשהו משתמש במשאב המשותף, עלול לגרום לתוצאות לא רצויות. קטע בו יכולים להיווצר מצבי מרוץ- מצב שבו מספר תהליכים עובדים על מידע המשותף לכולם, והתוצאה הסופית של פעולתם תלויה בסדר המדויק של הקצאת המעבד להם. זמן שהייה בקטע קריטי הוא סופי.


How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

מה היא מניעה הדדית

A

אם תהליך אחד משתמש במשאב מסוים, שום תהליך אחר לא יכול לקבל גישה למשאב זה לפני שהתהליך שמשתמש במשאב ישחרר אותו

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

ארבעת התנאים לפתרון סביר של בעיית המרוץ

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

המתנה פעילה (busy waiting)

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

5 פתרונות הממומשים על ידי busy waiting:

A

מניעת פסיקות (מניעת content switch)
משתני נעילה
פתרון התור
הפתרון של פיטרסון
פקודת TSL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

המתנה פעילה - מניעת פסיקות

A

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

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

המתנה פעילה משתני נעילה

A

התהליך נועל את המנעול (שם במנעול ערך 1) לפני כניסה לקטע הקריטי, ופותח אותו אחרי היציאה ממנו (שם במנעול ערך 0). הבעיה בפתרון זה היא שקריאת ערך המנעול (בדיקה אם המנעול פתוח) ונעילתו (השמת 1 בערך המנעול) הן שתי פעולות שונות, שעלול להתבצע ביניהן content switch (הבדיקה והעדכון של משתנה הנעילה הופך לקטע קריטי בעצמו), ואז כמה תהליכים יוכלו להיכנס ביחד אל הקטע הקריטי למרות השימוש במנעול.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

המתנה פעילה פתרון התור

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

המתנה פעילה הפתרון של פיטרסון

A

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

17
Q

המתנה פעילה פקודת TSL

A

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

18
Q

פתרונות שלא ממומשים על ידי busy waiting
נרצה לקבל פתרון העונה על הכללים הבאים:

A

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

19
Q

5 פתרונות שלא ממומשים על ידי busy waiting

A

הרדמה והערה
סמפורים
מנעולים (mutexes)
מבני פיקוח (monitors)
העברת הודעות (message passing)

20
Q

פתרונות שלא ממומשים על ידי busy waiting - הרדמה והערה

A

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

21
Q

פתרונות שלא ממומשים על ידי busy waiting - סמפורים

A

דומה מאוד לפתרון ה-SLEEP&WAKEUP, רק שהפעם שומרים מונה השומר את מספר ה-WAKEUP שהתבצעו, וגם בודקים האם התהליך התעורר. פה, מחליפים את הפעולות SLEEP ו-WAKEUP בפעולות down ו-up בהתאמה. בכל פעם שמתבצעת פקודת up, בודקים האם יש תהליכים במצב down (תהליכים שנרדמו על הסמפור). אם ישנם תהליכים כאלה, מעירים את התהליך הראשון בתור. אם אין, “שומרים” את ה-up לאחר כך (בכל פעם שיש להרדים תהליך, בודקים קודם האם יש up ספייר). המשתנה המונה את מספר ה-up שטרם נוצלו נקרא סמפור, והוא מנגנון מיוחד המסופק על ידי מערכת ההפעלה. יש לציין שהפעולות up ו-down חייבות להיות אטומיות.

22
Q

פתרונות שלא ממומשים על ידי busy waiting - מנעולים (mutexes)

A

דומה מאוד לשימוש בסמפור בינארי (סמפור המאותחל בערך 1), אך יעיל יותר כיוון שלא נדרש עבורו מעבר בין רמת המשתמש לרמת הגרעין

23
Q

פתרונות שלא ממומשים על ידי busy waiting - מבני פיקוח (monitors)

A

ספרייה של פונקציות, משתנים ומבני נתונים המוגדרים יחד במבנה של שפת תכנות. שפת התכנות היא זו שמבטיחה שתהליכים הקוראים לפונקציות המוגדרות במבנה הפיקוח מממשים מניעה הדדית. כך, כל האחריות ליישום הטכני של פתרון בעיית המניעה ההדדית עוברת אל הקומפיילר. בעקבות כך, יש פחות סיכוי לטעויות, בהשוואה לשימוש בסמפורים ובמנעולים. גם כאן נגדיר שתי פעולות מיוחדות: signal(c), מעירה אחד מהתהליכים שהיה חסום על ידי המוניטור על התנאי c. wait(c), גורמת להשהיית תהליך כל עוד התנאי c לא התקיים. המוניטור מבטיח שלאחר הקריאה ל-wait אחד התהליכים שהיה חסום על קטע קריטי יוכל להיכנס אליו.

24
Q

פתרונות שלא ממומשים על ידי busy waiting - העברת הודעות (message passing)

A

ישנן שתי פקודות: send(destination, &m), ששולחת את ההודעה m ליעד נתון, ו-receive(source, &m), המקבלת הודעה ממקור נתון. השליחה של הודעות יכולה להיות שליחה שחוסמת את התהליך המקבל, אם הוא מחכה להודעה שטרם קיימת (נחסם עד להגעתה).
ניתן להשתמש בשיטת המיעון הישיר, כך שכל תהליך השולח הודעה מחויב לציין את היעד (מזהה של תהליך), או בשיטת המיעון העקיף, שכל הודעה מועברת לתחנת ביניים, הנקראת תיבת דואר (mail box), שאליה מתקבלות הודעות וממנה מושכים הודעות. נשים לב ששיטה זו מתאימה גם למערכות מבוזרות, כלומר ניתן להעביר הודעות בין שני מעבדים או מחשבים שונים (בשונה מיתר השיטות).

25
Q

אלגוריתמי תזמון במערכות אווצה: מערכת אווצה (batch system) היא מערכת שבה משימה תתבצע מתחילתה ועד סופה, בלי לשתף את המעבד בתהליכים אחרים, כלומר, כל התהליכים רצים באופן סדרתי.
מטרות האלגוריתמים במערכת אווצה

A

הגינות, מקסום מספר פעולות בשעה ומזעור זמן שהייה בין הגעת הפעולה לסופה.


26
Q

3 אלגוריתמי תזמון במערכות אווצה עם פירוט

A

1 First Come First Served (FCFS):
התהליך שמגיע ראשון מתבצע ראשון (הממומש על ידי תור של תהליכים המוכנים לריצה). יתרון: פשטות מימוש. חסרון: זמן השהייה ארוך.


  1. Shorted Job First:
    התהליך הקצר ביותר יבוצע ראשון. יש לבצע אלגוריתם זה רק על קבוצת תהליכים ידועה מראש בעלי זמני ריצה קבועים מראש.

    אלגוריתם תזמון כזה, דהיינו אלגוריתם תזמון שאינו משתמש
    בהפקעת מעבד, נקרא
    non-preemptive
  2. Shortest Remaining Time Next:
    התהליך שזמן העבודה שנשאר לו הוא הקצר ביותר יבוצע קודם. גם פה דרושה ידיעה מוקדמת של זמן CPU.

אלגוריתם שמפקיע את המעבד preemptive
.הפקעת מעבד יכולה להתבצע במקרים האלה:
* אם תהליך שהיה במצב חסום הופך להיות מוכן
* אם מגיע תהליך חדש שמוכן לריצה בזיכרון
* אם תהליך רץ מבצע קריאת מערכת שגורמת להרדמתו

27
Q

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


מטרות האלגוריתמים במערכת אינטראקטיבית

A

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


28
Q

מטרות האלגוריתמים במערכות זמן אמת

A

הגינות, הימנעות מאיבוד מידע ועמידה בזמנים.


29
Q

תזמון במערכות זמן אמת

A

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

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

C(i)
מספר יחידות זמן החישוב

P(i)
מחזוריות המשימה

הקרטיריון לתזמן
m
משימות בעלות המאפיינים
P(i)-ו C(i)
C(1)/P(1) + … + C(m)/P(m) < = 1

30
Q

תזמון במערכות אינטרקטיביות - round robing

A

מחלקים זמן CPU
לאינטרוולים שווים ולכל תהליך שמוכן לריצה מקצים את ה-CPU לפרק זמן קצוב. פרק
זמן זה מכונה quantum time .לאחר סיום quantum ,מפקיעים את ה-CPU ונותנים אותו
לתהליך אחר. התהליכים מנוהלים בתור מעגלי ומכאן שם האלגוריתם. חלוקת זמן CPU
לאינטרוולים שווים נקראת slicing time

31
Q

תזמון במערכות אינטרקטיביות - תזמון עם עדיפויות

A

הרעיון הבסיסי הוא שכל התהליכים המוכנים לריצה בזיכרון מדורגים לפי עדיפויות.
תהליך בעל עדיפות גבוהה רץ על ה-CPU כל עוד עדיפותו גבוהה מעדיפותם של שאר
התהליכים שמוכנים לריצה.

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

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

32
Q

תזמון במערכות אינטרקטיביות - ריבוי תורים

A

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

33
Q

תזמון במערכות אינטרקטיביות - Shortest Process Next – SPN

A

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

T(i) - משך הזמן של התהליך שקרה בעבר
E(i) - משך הזמן המשוער של התהליך
החשיבות שניתנת לזמני העבר

E(i+1) = (1–a) T(i) + a E(i)

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

34
Q

תזמון במערכות אינטרקטיביות - תזמון מובטח

A

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

35
Q

תזמון במערכות אינטרקטיביות - lottery scheduling

A

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

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

השיטה איננה גורמת לתקורה, כי אין צורך לחשב את היחס של שימוש ה
-CPU בכל החלטת תזמון
צריך רק לעדכן את משך הזמן של הריצה הבאה.

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

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

36
Q

תזמון במערכות אינטרקטיביות - Fair-Share Scheduling

A

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

37
Q

Recovery Through Preemption

A

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

38
Q

process control block

A

This entry contains important
information about the process’ state, including its program counter, stack pointer,
memory allocation, the status of its open files, its accounting and scheduling information, and everything else about the process that must be saved when the process
is switched from running to ready or blocked state so that it can be restarted later
as if it had never been stopped.

39
Q

rendezvous vs mailbox

A

מיעון ישיר מחייב להעביר כ-destination
מזהה של תהליך. לסוג כזה של העברת הודעות קוראים גם בשם שיטת המפגש )rendezvous(, זאת מכיוון שתהליכים מקיימים ביניהם מעין שיח בעת המפגש.

מיעון עקיף, לעומת זאת, משתמש בתחנת ביניים שאליה מועברות הודעות וממנה
מתבצעת משיכתן. לעתים מכנים את תחנת הביניים תיבת דואר )mailbox(.