כותב |
|
אין לי שם חח אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 08 May 2005 בשעה 23:20 | | IP רשוּם
|
|
|
|
היי לכולם...יש לי שאלה במערכות הפעלה למי שלמד
אז ככה,
תהליך מסוים יכול לחסום את עצמו ולהמתין לאירוע אשר יעיר אותו (block wake up)
תהליך אחר צריך לגלות את האירוע ואז יעיר את התהליך החסום.
בהחלט,יתכן שהתהליך יחסום את עצמו וימתין לאירוע שלא יתרחש לעולם.
א.האם מערכת ההפעלה יכולה לגלות שתהליך ממתין לאירוע שלא יקרה לעולם.
מידות זמן-כמה זמן תהליך עובד ולא נפסק,כמה זמן מחכה.
ב.איזה אמצעי ביטחון יש להוסיף למערכת ההפעלה כדי למנוע המתנה ללא קץ לאירועים שלא יתרחשו לעולם. |
|
|
חזרה לתחילת העמוד |
|
|
ניר מנהל האתר
הצטרף / הצטרפה: 12 January 2005 מדינה: Israel
משתמש: מנותק/ת הודעות: 3296
|
נשלח בתאריך: 09 May 2005 בשעה 05:43 | | IP רשוּם
|
|
|
|
א. כמובן שאולי כתלות באיזה אירוע מדובר, יהיה אפשר לארגן פתרון שיזהה
שהתהליך ממתין לעולם, ולהרוג / לשחרר אותו. בפועל - אין מערכת המסוגלת
להכריע באופן מוחלט האם תהליך ייסתיים. ההרגשה שלי (וזו רק הרגשה) שמדובר
כאן בכלל על בעיה בלתי כריעה.
ב. בתור כותב מערכת ההפעלה אתה אחראי לדאוג שלא יווצרו deadlocks . מערכות
הפעלה, בעיקר הישנות יותר, נתקעו פעמים רבות עקב באגים בהן, בין היתר כאלו
שגרמו להמתנות שלא נגמרו. ברמת המשתמש - אם תוכנית ממתינה לעד, תמיד תוכל
דרך task manager לסגור אותה - ושאר מערכת ההפעלה לא תהיה מושפעת.
כאשר אתה מתכנת - אתה האחראי לחשוב על ההגיון של התוכנית שלך, ולוודא שבכל פעם שתהליך הולך לישון, יהיה מי שיעיר אותו.
עניתי לשאלה?
|
חזרה לתחילת העמוד |
|
|
|
|
אם ברצונך להגיב לנושא זה עליך קודם להתחבר
אם אינך רשום/ה כבר עליך להרשם
|
אינך יכול/ה לשלוח נושאים חדשים בפורום זה אינך יכול/ה להגיב לנושאים בפורום זה אינך יכול/ה למחוק את הודעותיך ותגוביך בפורום זה אינך יכול/ה לערוך את הודעותיך ותגובותיך בפורום זה אינך יכול/ה לצור סקרים בפורום זה אינך יכול/ה להצביע בסקרים בפורום זה
|