ESET Glossary – תוכן העניינים

מבוי סתום

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

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

ישנן שלוש דרכים להתמודדות עם מבוי סתום:

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