מערכות הפעלה ( אביב 2008) חגית עטיה © 1 טיפול בקיפאון  בעיית הקיפאון  הימנעות מקיפאון  זיהוי קיפאון באמצעות מציאת מעגלים  אלגוריתם הבנקאי להתחמקות.

Slides:



Advertisements
Similar presentations
Completeness and Expressiveness. תזכורת למערכת ההוכחה של לוגיקה מסדר ראשון : אקסיומות 1. ) ) (( 2. )) ) (( )) ( ) ((( 3. ))) F( F( ( 4. ) v) ( ) v ((
Advertisements

שיטות ניתוח - דוגמא משווה
מבוא למדעי המחשב לתעשייה וניהול
1 Formal Specifications for Complex Systems (236368) Tutorial #4 Refinement in Z: data refinement; operations refinement; their combinations.
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 תהליכים - דייאט : חוטים  מוטיבציה  חוטי משתמש וחוטי מערכת  תמיכת מערכת ההפעלה  דוגמאות.
Map-Reduce Input: a collection of scientific articles on different topics, each marked with a field of science –Mathematics, Computer Science, Biology,
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 תיאום בין תהליכים : שיטות מתקדמות  שימוש בחומרה למימוש מנעולים  מנגנוני מערכת הפעלה לתיאום : סמפורים, משתני תנאי.
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 תיאום בין תהליכים : יסודות  דוגמאות לבעיות תיאום  הגדרות : קטע קריטי, מנעולים  אלגוריתם קופת - חולים.
תיאום בין תהליכים: שיטות מתקדמות
משטר דינמי המשך – © Dima Elenbogen :55 חידה שכדאי לעבור עליה: 2011/ho/WCFiles/%D7%97%D7%99%D7%93%D7%94%20%D7%A2%D7%9D%20%D7%91%D7%95%D7%A0%D7%95%D7%A1.doc.
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 פסיקות  סוגי פסיקות  איך מערכת ההפעלה מטפלת בפסיקות  דוגמא : קלט בעזרת פסיקות.
1 2 קצת מידע על הבעייה נהגתה ונפתרה על ידי דייקסטרה חומרים בעברית – דוד הראל, אלגוריתמיקה.
נובמבר ניהול תהליכים במערכת מרובת מעבדים Process Management in Multiprocessor Systems.
מה החומר למבחן ? כל החומר שנלמד בהרצאות ובתרגולים. לגבי backtracking: לא תידרשו לממש אלגוריתם, אך כן להבין או להשלים מימוש נתון. אחת משאלות המבחן מבוססת.
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 ניהול זיכרון  מבוא : מטרות ניהול הזיכרון.  מנגנונים : מרחב כתובות וירטואלי / פיזי. חלוקת זכרון קבועה מול דפדוף.
אוטומט מחסנית הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 11.
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 מערכות הפעלה קורס מס '
Map-Reduce Input: a collection of scientific articles on different topics, each marked with a field of science –Mathematics, Computer Science, Biology,
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 תהליכים - דייאט : חוטים  מוטיבציה  חוטי משתמש וחוטי מערכת  תמיכת מערכת ההפעלה  דוגמאות.
מערכות הפעלה חזרה. מערכות הפעלה - שאלות חזרה2 (c) רסקין לאוניד 2005 שאלה1.
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 תהליכים - דייאט : חוטים  מוטיבציה  חוטי משתמש וחוטי מערכת  תמיכת מערכת ההפעלה  דוגמאות ושימושים.
1 Formal Specifications for Complex Systems (236368) Tutorial #5 Refinement in Z: data refinement; operations refinement; their combinations.
מסדי נתונים תשס " ג 1 תכנון סכמות – אלגוריתם פירוק לתבניות בצורת BCNF מסדי נתונים.
משטר סטטי שערים לוגיים Wired Drives – © Dima Elenbogen 2009, Moshe Malka :29.
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
טיפול בקיפאון בעיית הקיפאון הימנעות מקיפאון
תזכורת: גרפים גרף (G=(V,E V|=n, |E|=m| מכוון \ לא מכוון דרגה של קדקד
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 זימון תהליכים  מדיניות בסיסיות : RR, FCFS, SJF  הערכת זמן ריצה ושימוש בעדיפויות  ריבוי תורים ודוגמאות.
מערכות הפעלה תרגול 6 – חוטים ב-Linux. מערכות הפעלה - תרגול 62 (c) ארז חדד 2003 תוכן התרגול מבוא לחוטים ב-Linux כיצד גרעין Linux תומך בחוטים עבודה עם חוטים.
מערכות הפעלה ( אביב 2009) חגית עטיה ©1 מערכת קבצים log-structured  ה log הוא העותק היחיד של הנתונים  כאשר משנים בלוק (data, header) פשוט כותבים את הבלוק.
מרץ 2002אלן אזאגורי ©1 קיפאון Deadlock. מרץ 2002 אלן אזאגורי ©2עמוד נושאים בעית הקיפאון –דוגמא –תנאים לקיפאון טיפול בקיפאון –מניעה, זיהוי,התחמקות –אלגורימים.
תהליכים  מהו תהליך ?  מבני הנתונים לניהול תהליכים.  החלפת הקשר.  ניהול תהליכים ע " י מערכת ההפעלה.
ניהול זיכרון  מבוא : מטרות ניהול הזיכרון.  מנגנונים : מרחב כתובות וירטואלי / פיזי. ניהול טבלת הדפים. מדיניות החלפת דפים.
תהליכים - דייאט : חוטים  מוטיבציה  חוטי משתמש וחוטי מערכת  תמיכת מערכת ההפעלה  דוגמאות.
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 טיפול בקיפאון  בעיית הקיפאון  הימנעות מקיפאון  זיהוי קיפאון באמצעות מציאת מעגלים  אלגוריתם להתחמקות מקיפאון.
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 ניהול זיכרון  מבוא : מטרות ניהול הזיכרון.  מנגנונים : מרחב כתובות וירטואלי / פיזי. חלוקת זכרון קבועה מול דפדוף.
נובמבר קיפאון Deadlock. נובמבר עמוד נושאים בעית הקיפאון –דוגמא –תנאים לקיפאון טיפול בקיפאון –מניעה, זיהוי,התחמקות –אלגוריתמים למניעה והתחמקות.
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 זימון תהליכים  מדיניות בסיסיות : RR, FCFS, SJF  הערכת זמן ריצה ושימוש בעדיפויות  ריבוי תורים ודוגמאות.
מרץ 2002אלן אזאגורי ©1 חוטים Threads. מרץ 2002 אלן אזאגורי ©2עמוד נושאים הגדרות –חוטים –חוטים לעומת תהליכים תמיכת מערכת ההפעלה בחוטים דוגמאות –Mach –Windows.
The Cyclic Multi-peg Tower of Hanoi מעגלי חד-כווני סבוכיות הפתרון בגרסאות עם יותר מ-3 עמודים.
גרפים - Graphs גרף G(V,E) מורכב מקבוצת צמתים V וקבוצת קשתות E.
משטר דינמי – © Dima Elenbogen :14. הגדרת cd ו -pd cd - הזמן שעובר בין הרגע שראשון אותות הכניסה יוצא מתחום לוגי עד אשר אות המוצא יוצא מתחום.
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 טיפול בקיפאון  בעיית הקיפאון  הימנעות מקיפאון  זיהוי קיפאון באמצעות מציאת מעגלים  אלגוריתם להתחמקות מקיפאון.
מערכים עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר int grade1, grade2, …, grade20; int grade1, grade2, …, grade20;
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א מודל הלמידה מדוגמאות Learning.
מערכות הפעלה קורס מס' מערכות הפעלה (אביב 2009) חגית עטיה ©
עקרון ההכלה וההדחה.
יחס סדר חלקי.
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 סיכום הקורס.
1 Formal Specifications for Complex Systems (236368) Tirgul Hazara.
תיאום בין תהליכים : יסודות  דוגמאות לבעיות תיאום  הגדרות : קטע קריטי, מנעולים  אלגוריתם קופת - חולים.
תחשיב היחסים (הפרדיקטים)
Markov Decision Processes (MDP) תומר באום Based on ch. 14 in “Probabilistic Robotics” By Thrun et al. ב"הב"ה.
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 תהליכים  מהו תהליך ?  מבני הנתונים לניהול תהליכים.  החלפת הקשר.  ניהול תהליכים ע " י מערכת ההפעלה.
ניהול זיכרון  מבוא : מטרות ניהול הזיכרון.  מנגנונים : מרחב כתובות וירטואלי / פיזי. ניהול טבלת הדפים. מדיניות החלפת דפים.
1 מבוא למדעי המחשב רקורסיה. 2 רקורסיה היא שיטה לפתרון בעיות המבוססת על העיקרון העומד ביסוד אינדוקציה מתמטית: אם ידועה הדרך לפתור בעיה עבור המקרים הבסיסיים.
Kashrut is a mitzvah in the Torah and has been passed on through generations. Kashrut is a chok. this means that we don’t know why we do it but we.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 7. סברוטינות subroutines.
1 Formal Specifications for Complex Systems (236368) Tutorial #1 Course site:
שיתוף PDT בין חוטים PDT Thread A Process Descriptor File Object 1 File Object 2 File 1 File 2 pthread_create Thread B Process Descriptor ה PDT משותף לכל.
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 1 פרק 5 תרשימי מצבים Statecharts למחלקות תגובתיות Reactive Classes הקדמה ודוגמא.
FAA FAA (int s, int val) { temp = s; s = s + val; return temp; }
Formal Specifications for Complex Systems (236368) Tutorial #1
פרוקטוז, C6H12O6 , חד-סוכר מיוחד
Marina Kogan Sadetsky –
תרגול 11 NP complete.
בחירת חומר גלם כתב: עמרי שרון.
תהליכים-דייאט: חוטים מוטיבציה חוטי משתמש וחוטי מערכת
חזרה חלקית על תרגול 12 גרף G=(V,E)
Presentation transcript:

מערכות הפעלה ( אביב 2008) חגית עטיה © 1 טיפול בקיפאון  בעיית הקיפאון  הימנעות מקיפאון  זיהוי קיפאון באמצעות מציאת מעגלים  אלגוריתם הבנקאי להתחמקות מקיפאון

מערכות הפעלה ( אביב 2008) חגית עטיה ©2 דוגמא : הפילוסופים הסועדים  כל פילוסוף מעביר את חייו ב - חשיבה (thinking) ניסיון להשיג מזלגות (hungry) אוכל (eating)

מערכות הפעלה ( אביב 2008) חגית עטיה ©3 פילוסופים סועדים : עם סמפורים ריצה פשוטה ? פיתרון פשוט סמפור fork[i] לכל מזלג wait(fork[i]) wait(fork[i+1]) eat signal(fork[i]) signal(fork[i+1]) בביצוע מסונכרן כל פילוסוף משתלט כל המזלג שמימינו ואז ממתין למזלג שמשמאלו  קיפאון

מערכות הפעלה ( אביב 2008) חגית עטיה ©4 גרף בקשות - הקצאות גרף מכוון ( דו - צדדי ) המתאר את מצב המערכת בזמן כלשהו עיגול לכל תהליך מלבן עם n נקודות למשאב עם n עותקים קשת מתהליך למשאב  התהליך ממתין למשאב קשת מעותק של משאב לתהליך  עותק של המשאב הוקצה לתהליך

מערכות הפעלה ( אביב 2008) חגית עטיה ©5 גרף בקשות - הקצאות : דוגמא  P1 מחזיק עותק של R2 ומחכה ל -R1  P2 מחזיק עותקים של R1 ו -R2 ומחכה ל -R3  P3 מחזיק עותק של R3 P1P1P2P2P3P3 R1R1 R2R2 R3R3

מערכות הפעלה ( אביב 2008) חגית עטיה ©6 עותק יחיד מכל משאב ניתן לפשט את גרף בקשות - הקצאות P1P1 P2P2P3P3 R1R1R2R2R3R3

מערכות הפעלה ( אביב 2008) חגית עטיה ©7 גרף לבעיית הפילוסופים הסועדים P5P5 P4P1P1 P3P3P2

מערכות הפעלה ( אביב 2008) חגית עטיה ©8 קיפאון קבוצת תהליכים / חוטים שבה כל אחד ממתין למשאב המוחזק על - ידי מישהו אחר בקבוצה. מתקיימים התנאים הבאים : 1. יש מניעה הדדית משאבים שרק תהליך אחד יכול לעשות שימוש בהם בו - זמנית  כמה עותקים של אותו משאב נחשבים למשאבים נפרדים משאבים שאין צורך במניעה הדדית עבורם אינם יכולים לגרום לקפאון ( למשל, read only file)

מערכות הפעלה ( אביב 2008) חגית עטיה ©9 קיפאון קבוצת תהליכים / חוטים שבה כל אחד ממתין למשאב המוחזק על - ידי מישהו אחר בקבוצה. מתקיימים התנאים הבאים : 1. יש מניעה הדדית 2. החזק והמתן תהליך מחזיק משאב ומחכה למשאב אחר שבשימוש אצל תהליך אחר

מערכות הפעלה ( אביב 2008) חגית עטיה ©10 קיפאון קבוצת תהליכים / חוטים שבה כל אחד ממתין למשאב המוחזק על - ידי מישהו אחר בקבוצה. מתקיימים התנאים הבאים : 1. יש מניעה הדדית 2. החזק והמתן 3. לא ניתן להפקיע משאבים

מערכות הפעלה ( אביב 2008) חגית עטיה ©11 קיפאון קבוצת תהליכים / חוטים שבה כל אחד ממתין למשאב המוחזק על - ידי מישהו אחר בקבוצה. מתקיימים התנאים הבאים : 1. יש מניעה הדדית 2. החזק והמתן 3. לא ניתן להפקיע משאבים 4. המתנה מעגלית... תהליכים P 0,P 1, …,P n-1 P i מחכה למשאב המוחזק ע " י P (i+1) mod n

מערכות הפעלה ( אביב 2008) חגית עטיה ©12 דרכי התמודדות עם הקיפאון  מניעה (prevention), על - ידי מדיניות שתימנע קיפאון מניעת המתנה מעגלית לחכות לכל המשאבים ביחד  פקודת WaitForMultipleObjects ב -Windows NT  מקצה את כל המשאבים בבת - אחת, אם כולם פנויים.  גילוי קפאון (detection)  היחלצות מקפאון (recovery)  התחמקות מקפאון (aviodance) שימוש בידע מוקדם על צרכיו של כל תהליך  רוב מערכות ההפעלה לא דואגות למנוע קיפאון ( התעלמות ) פעולה כבדה. האחריות נשארת אצל המתכנת. הריגת תהליך מאפשרת להיחלץ מקיפאון.  אך עלולה להשאיר את המערכת במצב לא תקין.

מערכות הפעלה ( אביב 2008) חגית עטיה ©13 מניעת המתנה מעגלית תהליכים P 0,P 1, …,P n-1 P i מחכה למשאב המוחזק ע " י P (i+1) mod n  נקבע סדר מלא בין המשאבים F(tape)=1, F(printer)=2, F(scanner)=3, …  תהליכים יבקשו משאבים רק בסדר עולה תהליך שמחזיק את ה -printer לא יוכל לבקש את ה -tape או... תהליך שמבקש משאב מסדר נמוך חייב לשחרר קודם משאבים מסדר גבוה

מערכות הפעלה ( אביב 2008) חגית עטיה ©14 מניעת המתנה מעגלית בבעיית הפילוסופים הסועדים בקשת מזלגות בסדר עולה... if ( i = 5) then wait(fork[1]) wait(fork[5]) else wait(fork[i]) wait(fork[i+1]) eat signal(fork[i+1]) signal(fork[i])

מערכות הפעלה ( אביב 2008) חגית עטיה ©15 גילוי קיפאון עם עותק יחיד קיפאון קורה כשיש מעגל מכוון בגרף בקשות - הקצאות נובע מתנאי " החזק והמתן " ו -" המתנה מעגלית " גילוי קיפאון על - ידי זיהוי מעגל  אלגוריתם ידוע למציאת מעגל בגרף מכוון, המבוסס על מיון טופולוגי  סיבוכיות O(m), כאשר m מספר הקשתות P1P1 P2P2 P3P3 P4P4

מערכות הפעלה ( אביב 2008) חגית עטיה ©16 מספר עותקים מכל משאב לא חייב להיות קיפאון כאשר יש מעגל מכוון בגרף בקשות - הקצאות עם כמה עותקים מכל משאב יכול להיות מעגל אבל לא קיפאון. גם עבור מערכת עם כמה עותקים מכל משאב קיים אלג ' לגילוי קפאון P1P1P2P2P3P3 R1R1 R2R2

מערכות הפעלה ( אביב 2008) חגית עטיה ©17 היחלצות מקיפאון Recovery  ביטול כל התהליכים המצויים במצב קיפאון.  ביטול תהליכים אחד - אחד עד להיחלצות.  הפקעת משאבים. מציאת קבוצה אופטימאלית ( של תהליכים או משאבים ) לביטול היא בעיה קשה מאוד.

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

מערכות הפעלה ( אביב 2008) חגית עטיה ©19 התחמקות מקיפאון : דוגמא  P 1 ו -P 2 מצהירים על כוונה לבקש את המדפסת והדיסק  P 1 מבקש את המדפסת הבקשה נענית  P 2 מבקש את הדיסק הבקשה נדחית... אם בהמשך P 2 יבקש את המדפסת ו - P 1 את הדיסק, אזי יהיה קיפאון  בבעית הפילוסופים הסועדים - שמים את המזלגות במרכז השולחן לוקח מזלג, אלא אם כן : זה המזלג האחרון ולאחד הממתינים עדיין חסר מזלג אחד ובאופן כללי, אלגוריתם הבנקאי...

מערכות הפעלה ( אביב 2008) חגית עטיה ©20 התחמקות : אלגוריתם הבנקאי  כאשר תהליך מגיע למערכת, מצהיר כמה עותקים ירצה ( לכל היותר ) מכל משאב.  אם תהליך מבקש עותק ממשאב, הבקשה תיענה רק אם יש מספיק עותקים פנויים. לא חורג מההצהרה ההתחלתית. ההקצאה משאירה את המערכת במצב בטוח : תוכל לספק את הבקשות של תהליכים שכבר נמצאים במערכת עד למקסימום המוצהר לכל סוג משאב

מערכות הפעלה ( אביב 2008) חגית עטיה ©21 אלגוריתם הבנקאי : משתנים m מספר המשאבים, n מספר התהליכים Available :vector of size m the number of available copies of each resource type Max : n x m matrix the maximum demand of each process for each resource type Allocation : n x m matrix number of currently allocated copies of each resouce type to each process Need: n x m matrix the remaining copies that might be needed by each process Need = Max - Allocation Work and Finish : (temporary) vectors of size n

מערכות הפעלה ( אביב 2008) חגית עטיה ©22 אלגוריתם הבנקאי : פסאודו - קוד Initialize Work := Available; Finish := [false,…,false]; While (Finish[i] = false & Need[i] ≤ Work), for some i Work := Work + Allocation[i]; Finish[i] := true; End while The system is safe if and only if Finish[i] = true, for all i לפני אישור בקשה למשאב : ודא שהמערכת נשארת במצב בטוח אם הבקשה מתקבלת ניתן יהיה להיענות לדרישותיו בעתיד שחרר את המשאבים שמחזיק כעת

מערכות הפעלה ( אביב 2008) חגית עטיה ©23 אלגוריתם הבנקאי – דוגמא  האם המצב הבא של המערכת הוא " בטוח “?  ניתן לצמצם את P2 ABC P1010 P2210 P3103 Total 323 ABC ABC 034 ABC AllocationMaxAvailableNeed 034 Work F F F Finish

מערכות הפעלה ( אביב 2008) חגית עטיה ©24 אלגוריתם הבנקאי – דוגמא  האם המצב הבא של המערכת הוא " בטוח “?  ניתן לצמצם את P2  עכשיו, ניתן לצמצם את P3 ABC P1010 P2210 P3103 Total 323 ABC ABC 034 ABC AllocationMaxAvailableNeed 244 Work F T F Finish

מערכות הפעלה ( אביב 2008) חגית עטיה ©25 אלגוריתם הבנקאי – דוגמא  האם המצב הבא של המערכת הוא " בטוח “?  ניתן לצמצם את P2  עכשיו, ניתן לצמצם את P3  עכשיו, ניתן לצמצם את P1 ABC P1010 P2210 P3103 Total 323 ABC ABC 034 ABC AllocationMaxAvailableNeed 347 Work F T T Finish

מערכות הפעלה ( אביב 2008) חגית עטיה ©26 אלגוריתם הבנקאי – דוגמא  האם המצב הבא של המערכת הוא " בטוח “?  ניתן לצמצם את P2  עכשיו, ניתן לצמצם את P3  עכשיו, ניתן לצמצם את P1 ABC P1010 P2210 P3103 Total 323 ABC ABC 034 ABC AllocationMaxAvailableNeed 357 Work T T T Finish

מערכות הפעלה ( אביב 2008) חגית עטיה ©27 Watchdog  מכניזם פרקטי, הממומש בחומרה מונה חומרה מיוחד שסופר אחורה כשהמונה מתאפס, מבצע reset להתקן ( מכבה ומדליק ההתקן מחדש ) החוטים מדי פעם ומעדכנים את המונה לערך גבוה התחלתי אם יש קפאון – החוטים לא יוכלו לעדכן את המונה ויהיה reset  מחייב שיתוף פעולה של החוטים העובדים  אם רוצים לוודא שאף חוט לא מעורב בשום קפאון, צריך להשתמש ברגיסטר נפרד לכל חוט

מערכות הפעלה ( אביב 2008) חגית עטיה ©28 מימוש Watchdog בתוכנה שיטה 1: כמו בחומרה, רק שחוט מיוחד בודק את המונה ואם מגלה שלא עודכן הרבה זמן, הורג את התהליך מחייב שיתוף פעולה של כל החוטים העובדים שיטה 2: חוט מיוחד A מנסה, אחת לכמה זמן, לתפוס את כל המשאבים במערכת לפי סדר נתון ואז לשחרר אחת לכמה זמן כותב את הזמן הנוכחי למונה חוט אחר B בודק את המונה, ואם מגלה שלא עודכן הרבה זמן, מניח שחוט A בקיפאון, הורג את התהליך ( וכל החוטים ) מחייב ידע של חוט A לגבי כל משאבי התוכנית, אבל לא מחייב שיתוף פעולה של כל החוטים העובדים השיטה פוגעת קצת בביצועי התוכנית (intrusive) כי A תופס משאבים