Glenn Ricart and Ashok K. Agrawala. An Optimal Algorithm for Mutual Exclusion in Computer Networks. Communications of the ACM 24(1), 1981, המחלקה להוראת המדעים, מכון ויצמן למדע © הכנת המצגת : מוטי בן ארי ומיכל סמואל
שריתיוסידפנה דפנה, יוסי דפנה
בצע תמיד קטע לא קריטי קטע קריטי אלגוריתם RA - תהליך ראשי המחלקה להוראת המדעים, מכון ויצמן למדע © מספר שלי בחר מספר שלח בקשות לצמתים האחרים המתן לאישורים מהצמתים האחרים שלח אישורים לממתינים עבור כל צומת אחר Z בצע שלח בקשה ( צומת Z, מספר שלי, ת. ז שלי ) עבור מספר צמתים פחות אחד בצע קבל אישור עבור כל צומת מעוכב Z בצע שלח אישור ( צומת Z)
בצע תמיד קבל בקשה ( מספר בקשה, ת. ז. שולח ) אם מספר שלי > מספר בקשה אזי שלח אישור ( ת. ז. שולח ) אחרת הכנס ( ת. ז. שולח ) לרשימת מעוכבים אלגוריתם RA - תהליך לטיפול בבקשות המחלקה להוראת המדעים, מכון ויצמן למדע ©
דפנה 0 יוסי 0 שרית שריתשרית
אלגוריתם RA - תהליך ראשי המחלקה להוראת המדעים, מכון ויצמן למדע © בצע תמיד קטע לא קריטי קטע קריטי מספר שלי בחר מספר שלח בקשות לצמתים האחרים המתן לאישורים מהצמתים האחרים שלח אישורים לממתינים עבור כל צומת אחר Z בצע שלח בקשה ( צומת Z, מספר שלי, ת. ז שלי ) עבור מספר צמתים פחות אחד בצע קבל אישור עבור כל צומת מעוכב Z בצע שלח אישור ( צומת Z) סמן : אני רוצה להכנס לק ” ק סמן : אינני רוצה להכנס לק ” ק
בצע תמיד קבל בקשה ( מספר בקשה, ת. ז. שולח ) אם מספר שלי > מספר בקשה אזי שלח אישור ( ת. ז. שולח ) אחרת הכנס ( ת. ז. שולח ) לרשימת מעוכבים אלגוריתם RA - תהליך לטיפול בבקשות המחלקה להוראת המדעים, מכון ויצמן למדע © אם אינני רוצה להכנס לק ” ק אזי שלח אישור ( ת. ז. שולח ) אחרת
שרית יוסידפנה דפנה, יוסי דפנה 3 33
אלגוריתם RA - תהליך ראשי המחלקה להוראת המדעים, מכון ויצמן למדע © בצע תמיד קטע לא קריטי קטע קריטי מספר שלי בחר מספר שלח בקשות לצמתים האחרים המתן לאישורים מהצמתים האחרים שלח אישורים לממתינים עבור כל צומת אחר Z בצע שלח בקשה ( צומת Z, מספר שלי, ת. ז שלי ) עבור מספר צמתים פחות אחד בצע קבל אישור עבור כל צומת מעוכב Z בצע שלח אישור ( צומת Z) סמן : אני רוצה להכנס לק ” ק סמן : אינני רוצה להכנס לק ” ק מספר שלי מספר גדול ביותר + 1
אלגוריתם RA - תהליך לטיפול בבקשות המחלקה להוראת המדעים, מכון ויצמן למדע © בצע תמיד קבל בקשה ( מספר בקשה, ת. ז. שולח ) אם מספר שלי > מספר בקשה אזי שלח אישור ( ת. ז. שולח ) אחרת הכנס ( ת. ז. שולח ) לרשימת מעוכבים אם אינני רוצה להכנס לק ” ק אזי שלח אישור ( ת. ז. שולח ) אחרת מספר גדול ביותר ( מספר גדול ביותר, מספר בקשה )Max
דפנה 0 יוסי 0 שרית שרית 1 1 יוסי
אחרת אם מספר שלי = מספר הבקשה ו - ת. ז. שלי > ת. ז. שולח אזי שלח אישור ( ת. ז. שולח ) אם אינני רוצה להכנס לק ” ק אזי שלח אישור ( ת. ז. שולח ) אחרת בצע תמיד קבל בקשה ( מספר בקשה, ת. ז. שולח ) אם מספר שלי > מספר בקשה אזי שלח אישור ( ת. ז. שולח ) אחרת הכנס ( ת. ז. שולח ) לרשימת מעוכבים מספר גדול ביותר ( מספר גדול ביותר, מספר בקשה )Max אלגוריתם RA - תהליך לטיפול בבקשות המחלקה להוראת המדעים, מכון ויצמן למדע ©
אלגוריתם RA - קבועים ומשתנים המחלקה להוראת המדעים, מכון ויצמן למדע © Const Me=…; { ת. ז. שלי } N=…; { מספר צמתים } var My_Request_Number: integer; { המספר שבחרתי } Highest_Req_Number: integer; { מספר הבקשה הגבוה ביותר } Requesting_Critical_Section: boolean; { אני רוצה להכנס לק ” ק } Reply_Deferred: array[1..N] of boolean; { רשימת מעוכבים }
HRN=0 MRN=0 RCS=F שרית HRN=0 MRN=0 RCS=F יוסי 1 T 1 שרית 1 T 2 2 יוסי