27-03-2008, 20:32
|
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
|
|
חבר מתאריך: 25.10.01
הודעות: 42,775
|
|
אין כזה דבר "הרשאה לתהליך להתרחב כמה שהוא רוצה". הרחבת השימוש בזיכרון נעשית על ידי בקשת הקצאה ממערכת ההפעלה, שיכולה לאשר, או לא לאשר את ההקצאה. אם היא לא מאשרת, פונקציית ההקצאה מחזירה NULL במקום מצביע לכתובת בזיכרון, והתוכנה, שביקשה את ההקצאה, לפני שהיא משתמשת בזיכרון, אמורה לבדוק שמה שחזר מפונקצית ההקצאה הוא לא NULL, ואם הוא כן, לא לבצע את הפעולה שהיא רצתה לבצע על הזיכרון הזה...
פלאגין, כשמו כן הוא, נכנס לתוך התוכנה ומהווה חלק מה Image הבינארי שלה שרץ. לצורך העניין, הוא התוכנה, אפילו שזו לא התוכנה כפי שהיא יצאה מהיצרן. ההתנהגות של פלאגין ושל התוכנה שבתוכה הוא יושב זהים לחלוטין, ואי אפשר לדעת על פי סוג קריסה כלשהוא מאיפה הוא נובע (אלא אם כן, אתה רץ עם Debugger או Profiler...)
לגבי מערכת הפעלה, כן, אני מודע לכך. כוונתי הייתה למשהו שאפשר להשתמש בו בלי לקבל כאב ראש...
|