טיפול בקיפאון בעיית הקיפאון הימנעות מקיפאון

Slides:



Advertisements
Similar presentations
שיטות ניתוח - דוגמא משווה
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 תיאום בין תהליכים : יסודות  דוגמאות לבעיות תיאום  הגדרות : קטע קריטי, מנעולים  אלגוריתם קופת - חולים.
תיאום בין תהליכים: שיטות מתקדמות
אביב תשס " ה JCT תיכון תוכנה ד " ר ר ' גלנט / י ' לויאןכל הזכויות שמורות 1 פרק 10 Packages.
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 פסיקות  סוגי פסיקות  איך מערכת ההפעלה מטפלת בפסיקות  דוגמא : קלט בעזרת פסיקות.
מערכות הפעלה ( אביב 2008) חגית עטיה © 1 טיפול בקיפאון  בעיית הקיפאון  הימנעות מקיפאון  זיהוי קיפאון באמצעות מציאת מעגלים  אלגוריתם הבנקאי להתחמקות.
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 מערכות קבצים מבוזרות  מבוא : שקיפות ושמירת מצב.  דוגמה : Network File System.
1 2 קצת מידע על הבעייה נהגתה ונפתרה על ידי דייקסטרה חומרים בעברית – דוד הראל, אלגוריתמיקה.
יפעת קוליקנט, מכון ויצמן למדע1 פרק 7, אלגוריתם Ra לפתרון בעית הקטע הקריטי במערכות מבוזרות.
נובמבר ניהול תהליכים במערכת מרובת מעבדים Process Management in Multiprocessor Systems.
R. Bar-Yehuda © 1 קומבינטוריקה למדעי - המחשב – הרצאה #14 Graph theory – תורת הגרפים Chapter 1: PATHS IN GRAPHS – 1. מסלולים.
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 אפליקציות שרת - לקוח  פרדיגמת שרת לקוח  מושג ה socket  מבנה שרת - לקוח  קצת יותר על רשתות.
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 ניהול זיכרון  מבוא : מטרות ניהול הזיכרון.  מנגנונים : מרחב כתובות וירטואלי / פיזי. חלוקת זכרון קבועה מול דפדוף.
אוטומט מחסנית הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 11.
מערכות הפעלה תרגול 6 – חוטים ב-Linux.
מערכות הפעלה ( אביב 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 תהליכים - דייאט : חוטים  מוטיבציה  חוטי משתמש וחוטי מערכת  תמיכת מערכת ההפעלה  דוגמאות ושימושים.
מערכות הפעלה ( אביב 2008) חגית עטיה © 1 מימוש מערכת הקבצים  תכונות של דיסקים.  מימושים בסיסיים.  קצת על מימושים מתקדמים.  אמינות מערכת הקבצים.
1 Formal Specifications for Complex Systems (236368) Tutorial #5 Refinement in Z: data refinement; operations refinement; their combinations.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
משטר סטטי שערים לוגיים Wired Drives – © Dima Elenbogen 2009, Moshe Malka :29.
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
מרץ 2002אלן אזאגורי ©1 זימון תהליכים Process Scheduling.
מערכות הפעלה ( אביב 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 ניהול זיכרון  מבוא : מטרות ניהול הזיכרון.  מנגנונים : מרחב כתובות וירטואלי / פיזי. חלוקת זכרון קבועה מול דפדוף.
מבני בקרה לולאות. שאלה #1 שאלה ב' – תכתוב תוכנה הכותבת את תפריט הבאה Type 1 to find the area of a circle Type 2 to find the circumference of a circle.
נובמבר קיפאון Deadlock. נובמבר עמוד נושאים בעית הקיפאון –דוגמא –תנאים לקיפאון טיפול בקיפאון –מניעה, זיהוי,התחמקות –אלגוריתמים למניעה והתחמקות.
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 זימון תהליכים  מדיניות בסיסיות : RR, FCFS, SJF  הערכת זמן ריצה ושימוש בעדיפויות  ריבוי תורים ודוגמאות.
מרץ 2002אלן אזאגורי ©1 חוטים Threads. מרץ 2002 אלן אזאגורי ©2עמוד נושאים הגדרות –חוטים –חוטים לעומת תהליכים תמיכת מערכת ההפעלה בחוטים דוגמאות –Mach –Windows.
The Cyclic Multi-peg Tower of Hanoi מעגלי חד-כווני סבוכיות הפתרון בגרסאות עם יותר מ-3 עמודים.
מערכות הפעלה תרגול 6 – חוטים ב-Linux. מערכות הפעלה - תרגול 62 (c) ארז חדד 2003 תוכן התרגול סינכרוניזציה בגרעין של Linux מבוא לחוטים ב-Linux כיצד גרעין.
משטר דינמי – © Dima Elenbogen :14. הגדרת cd ו -pd cd - הזמן שעובר בין הרגע שראשון אותות הכניסה יוצא מתחום לוגי עד אשר אות המוצא יוצא מתחום.
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 טיפול בקיפאון  בעיית הקיפאון  הימנעות מקיפאון  זיהוי קיפאון באמצעות מציאת מעגלים  אלגוריתם להתחמקות מקיפאון.
מערכות הפעלה קורס מס' מערכות הפעלה (אביב 2009) חגית עטיה ©
יחס סדר חלקי.
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 סיכום הקורס.
1 Formal Specifications for Complex Systems (236368) Tirgul Hazara.
תיאום בין תהליכים : יסודות  דוגמאות לבעיות תיאום  הגדרות : קטע קריטי, מנעולים  אלגוריתם קופת - חולים.
תחשיב היחסים (הפרדיקטים)
אוקטובר זימון תהליכים Process Scheduling. אקטובר עמוד נושאים מבוא לזימון תהליכים –מצבי תהליך –בעיית זימון התהליכים –מדדים לאיכות זימון תהליכים.
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 תהליכים  מהו תהליך ?  מבני הנתונים לניהול תהליכים.  החלפת הקשר.  ניהול תהליכים ע " י מערכת ההפעלה.
Safari On-line books. מה זה ספארי ספארי זו ספריה וירטואלית בנושא מחשבים היא כוללת יותר מ כותרים כל הספרים הם בטקסט מלא ניתן לחפש ספר בנושא מסוים.
ניהול זיכרון  מבוא : מטרות ניהול הזיכרון.  מנגנונים : מרחב כתובות וירטואלי / פיזי. ניהול טבלת הדפים. מדיניות החלפת דפים.
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
טרנזיסטור כמתג דו מצבי ממסר - RELAY הפעלה רציפה , PWM
Asynchronous programming
Marina Kogan Sadetsky –
פרק רביעי – תקשורת בין תהליכים פנימיים
בחירת חומר גלם כתב: עמרי שרון.
תהליכים-דייאט: חוטים מוטיבציה חוטי משתמש וחוטי מערכת
Presentation transcript:

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

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

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

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

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

עותק יחיד מכל משאב ניתן לפשט את גרף בקשות-הקצאות P1 P2 P3 R1 R2 R3 מערכות הפעלה (אביב 2004) חגית עטיה ©

גרף לבעיית הפילוסופים הסועדים P5 P4 P1 P3 P2 מערכות הפעלה (אביב 2004) חגית עטיה ©

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

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

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

קיפאון קבוצת תהליכים / חוטים שבה כל אחד ממתין למשאב המוחזק על-ידי מישהו אחר בקבוצה. מתקיימים התנאים הבאים: יש מניעה הדדית החזק והמתן לא ניתן להפקיע משאבים המתנה מעגלית... תהליכים P0,P1,…,Pn-1 Pi מחכה למשאב המוחזק ע"י P(i+1) mod n מערכות הפעלה (אביב 2004) חגית עטיה ©

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

מניעת המתנה מעגלית בבעיית הפילוסופים הסועדים בקשת מזלגות בסדר עולה... 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]) 5 1 1 5 2 4 4 3 2 3 מערכות הפעלה (אביב 2004) חגית עטיה ©

גילוי קיפאון עם עותק יחיד קיפאון  יש מעגל מכוון בגרף בקשות-הקצאות נובע מתנאי "החזק והמתן" ו-"המתנה מעגלית" גילוי קיפאון על-ידי זיהוי מעגל. P2 P3 P1 אלגוריתם ידוע (קורס "אלגוריתמים בתורת הגרפים"), בסיבוכיות O(m), כאשר m מספר הקשתות P4 מערכות הפעלה (אביב 2004) חגית עטיה ©

מספר עותקים מכל משאב קיפאון  יש מעגל מכוון בגרף בקשות-הקצאות עם כמה עותקים מכל משאב יכול להיות מעגל אבל לא קיפאון. P1 P2 P3 R1 R2 מערכות הפעלה (אביב 2004) חגית עטיה ©

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

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

התחמקות מקיפאון: דוגמא P1 ו-P2 מצהירים על כוונה לבקש את המדפסת והדיסק P1 מבקש את המדפסת הבקשה נענית P2 מבקש את הדיסק הבקשה נדחית... אם P2 יבקש את המדפסת בהמשך, יהיה קיפאון ובאופן כללי, אלגוריתם הבנקאי... מערכות הפעלה (אביב 2004) חגית עטיה ©

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

קיפאון: הערות רוב מערכות ההפעלה לא דואגות למנוע קיפאון. ב-Windows NT פעולה כבדה. האחריות נשארת אצל המתכנת . הריגת תהליך מאפשרת להיחלץ מקיפאון. אך עלולה להשאיר את המערכת במצב לא תקין. ב-Windows NT פקודת WaitForMultipleObjects. מקצה את כל המשאבים בבת-אחת, אם כולם פנויים. מערכות הפעלה (אביב 2004) חגית עטיה ©