שתי שאלות אתגריות...

Dancho

New member
שתי שאלות אתגריות...

1. יש לי תוכנית שכתבתי ואני רוצה שהיא לא תשתמש בפייג' פייל, יש לי 8 ג'יגה זיכרון ואין צורך שתכתוב לפייג' פייל, מישהו יודע איך לבטל את זה בצורה חכמה? 2. אותה תוכנית נחמדה שדיברתי עליה קודם עובדת על מחשב עם 6 מעבדים, אני רוצה שעל מעבד אחד ספיציפי תרוץ התוכנית שלי(כל הפרוססים שלה) ושאר הפרוססים של המערכת, גם הקיימים וגם כאלו שיפתחו חדשים.. לא יגעו לי במעבד הזה שרצה עליו התוכנית, האם זה אפשרי? מבחינת התוכנית שלי אין בעיה לעבוד רק על מעבד אחד, השאלה אם אפשרי לגרום לחלונות לא לגעת במעבד הזה. יש דבר שנקרא affinity, אבל אני לא באמת יכול לשלוט על כל פרוסס חדש שיווצר.
 

antidot

New member
---->

אזהרה: אני לא מתכנת ולא מכיר את הAPI הספציפי. תתיחס בערבון מוגבל. 1. אתה לא יכול בלי לבטל לגמרי את page file. מערכת ההפעלה מנהלת לבד את הזיכרון בצורה שקופה ותבצע paging לתהליכים מושהים/בעלי עדיפות נמוכה על דעת עצמה. ע"י perfmon אתה יכול לנטר את התהליך שלך ולראות אם הוא באמת מגיע לpage file. ועכשיו לגרסה יותר מסובכת: כעקרון ניתן להשתמש ב non paged area של הזיכרון. את זה ניתן לבצע תוך שימוש בAPI של AWE (חלק מPAE) ולבקש לשמר לטובתך איזורי זיכרון בnon paged memory http://msdn.microsoft.com/library/default.asp?url=/library/en-us/memory/base/address_windowing_extensions.asp 2. כנ"ל. כמה שידוע לי לא ניתן לבצע reservation של מעבד עבור תהליך משלך. אני לא מתכנת, אבל אולי אתה יכול בתחילת הריצה לעבור על התהליכים שרצים על המעבד שקבעת עבור האפליקציה שלך ולקבוע להם affinity. תשובות יותר רציניות לדעתי תקבל בפורום תכנות.
 
למעלה