בית התפתחות מה האלגוריתם של דקר? - הגדרה מטכנולוגיה

מה האלגוריתם של דקר? - הגדרה מטכנולוגיה

תוכן עניינים:

Anonim

הגדרה - מה המשמעות של האלגוריתם של דקר?

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

Techopedia מסביר את האלגוריתם של דקר

האלגוריתם של דקר יאפשר רק לתהליך יחיד להשתמש במשאב אם שני תהליכים מנסים להשתמש בו בו זמנית. גולת הכותרת של האלגוריתם היא כיצד הוא פותר את הבעיה הזו. זה מצליח למנוע את הסכסוך על ידי אכיפת הדרה הדדית, כלומר רק תהליך אחד רשאי להשתמש במשאב בכל פעם ויחכה אם תהליך אחר משתמש בו. זה מושג בעזרת שני "דגלים" ו"אסימון ". הדגלים מציינים אם תהליך רוצה להיכנס לקטע הקריטי (CS) או לא; ערך של 1 פירושו TRUE כי התהליך רוצה להיכנס ל- CS, בעוד 0, או FALSE, פירושו ההפך. האסימון שיכול גם להיות בערך 1 או 0 מציין עדיפות כאשר שני הדגלים מוגדרים כ- TRUE כאשר בשני התהליכים.


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

מה האלגוריתם של דקר? - הגדרה מטכנולוגיה