ההבדל בין נקודת מבית לבין רעב במערכת ההפעלה

מְחַבֵּר: Laura McKinney
תאריך הבריאה: 3 אַפּרִיל 2021
תאריך עדכון: 23 אַפּרִיל 2024
Anonim
למידה רב תחומית עם ד"ר עופר רימון ואורחים נוספים
וִידֵאוֹ: למידה רב תחומית עם ד"ר עופר רימון ואורחים נוספים

תוֹכֶן


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

  1. טבלת השוואה
  2. הגדרה
  3. הבדלים עיקריים
  4. סיכום

טבלת השוואה

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


הגדרת Deadlock

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

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

  • הדרה הדדית: רק תהליך אחד בכל פעם יכול להשתמש במשאב אם תהליך אחר מבקש אותו משאב, עליו להמתין עד שהתהליך המשתמש במשאב ישחרר אותו.
  • החזק והמתן: תהליך חייב להחזיק משאב ולהמתין לרכוש משאב אחר המוחזק על ידי תהליך אחר.
  • אין שום פטור: לא ניתן להקדים את התהליך המחזיק במשאבים. על התהליך המחזיק במשאב לשחרר את המשאב מרצונו לאחר שסיים את משימתו.
  • המתנה מעגלית: התהליך צריך להמתין למשאבים בצורה מעגלית. נניח שיש לנו שלושה תהליכים {P0, P1, P2}. על ה- P0 לחכות למשאב שבידי P1; P1 חייב להמתין לרכישת המשאב המוחזק על ידי תהליך P2, ו- P2 חייב להמתין לרכישת התהליך שבידי P0.

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


הגדרת הרעבה

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

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

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

  1. במבוי סתום, אף אחד מהתהליכים לא ממשיך לביצוע, כל תהליך נחסם וממתין למשאבים שנרכשו על ידי התהליך האחר. מצד שני, רעב הוא מצב בו התהליכים בעלי עדיפות גבוהה יותר מורשים לרכוש את המשאבים באופן רציף על ידי מניעת תהליכי עדיפות נמוכה לרכוש משאבים וכתוצאה מכך חסימת הגבלת תהליכים בעדיפות נמוכה.
  2. הקיפאון מתעורר כאשר ארבעה תנאים הרחקה הדדית, עצור והמתנה, אין כל הקצאה והמתנה מעגלית מתרחש במקביל. עם זאת, רעב מתרחש בזמן התהליך סדרי העדיפויות נאכפו תוך הקצאת משאבים, או שיש מערכת ניהול משאבים בלתי מבוקרת במערכת.
  3. נקודת מבט נקראת לעיתים קרובות בשם המתנה מעגלית ואילו הרעב נקרא חי מנעול.
  4. ב- Deadlock המשאבים נחסמים על ידי התהליך ואילו, ברעב, התהליכים משמשים ברציפות על ידי התהליכים בעלי עדיפות גבוהה.
  5. ניתן למנוע עקיפה באמצעות הימנעות מהתנאים כמו הדרה הדדית, המתנה והמתנה והמתנה מעגלית ועל ידי מתן אפשרות להקדים את התהליכים המחזיקים משאבים במשך זמן רב. מצד שני, ניתן למנוע רעב על ידי הזדקנות.

סיכום:

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