פרסומת

מרבית המחשבים כיום נשלחים עם גרסת 64 סיביות של Windows, ולעתים קרובות כמות מינימאלית של זיכרון RAM. זה מביא בסימן שאלה את הביצועים של המערכות הללו. זה נכון במיוחד כאשר משתמשים רוצים להריץ את תוכנת 32 הסיביות שלהם מדור קודם במחשבים חדשים אלה.

מה שמעלה שאלה מעניינת. האם אתה צריך זיכרון RAM פחות או יותר כמה RAM אתה באמת צריך?זיכרון RAM הוא כמו זיכרון לטווח קצר. ככל שאתה רב משימות, אתה צריך יותר. גלה כמה יש במחשב שלך, כיצד להפיק את המרב ממנו, או כיצד להפיק יותר. קרא עוד להפעלת יישום 32 סיביות ב- גרסת 64 סיביות של Windows מהי מחשוב 64 סיביות?האריזה של מחשב או חומרת מחשב עמוסה במונחים טכניים ותגים. אחד הבולטים שבהם הוא 64 סיביות. קרא עוד ? השבוע מגלה ברוס אפרר.

קורא שואל:

האם זה נכון שהפעלת אפליקציות של 32 סיביות במערכת חלונות של 64 סיביות צריכת פי 1.5 יותר זיכרון לעומת הפעלת האפליקציה 32 סיביות תחת מערכת הפעלה של Windows 32 סיביות?

התשובה של ברוס:

דיברנו בעבר על היתרונות והחסרונות של שמירה על כל 64 סיביות בכל חלקי לוח וחלקם השפעות של "ערבוב והתאמה" כיצד מושפעים ביצועי Windows על ידי חומרה ותוכנה

instagram viewer
בתיאוריה, תוכנת 32 סיביות עשויה להעלות על ביצועה של מקבילו 64 סיביות, בהתאם להגדרת החומרה. נשמע מסובך? אנחנו כאן כדי להיות הגיוניים ולעזור לך להפיק את הביצועים הטובים ביותר מהמערכת שלך. קרא עוד . היום אנו נבדוק כיצד יישומי 32 סיביות מבוצעים בגירסאות 64 סיביות של Windows.

מערכת הפעלה של Windows 64 סיביות אינה יכולה להריץ תוכנית Windows של 32 סיביות ללא עזרה נוספת. הם פשוט שונים מדי: מצביעים וסוגי נתונים, לאיך שיחות מערכת (כיצד תוכניות משתמשות במשאבים של מערכת ההפעלה הבסיסית). אתה צריך דרך כלשהי כדי להפוך אותם תואמים.

הבנת WoW64

Windows משתמשת במערכת המשנה WoW64 (Windows32 במערכת Windows64) כדי לפצות על ההבדלים. זה עובד למעשה כ- 32 סיביות מיני אמולטור של Windows במערכות x64 וכאמולטור מן המניין במערכות Itanium (IA64).

מערכות IA64 דורשות אמולטור מלא בגלל ההבדלים בהוראות המעבד וגדלי דפי הזיכרון (4K ב- x86 ו- x64, 8K ב- IA64). מכיוון שלמעבדי x64 יש את כל ההוראות של מעבדי x86 ומשתמשים באותו גודל עמוד זיכרון, אין לו צורך באמולטור מלא.

בשני המקרים WoW64 מספק ממשק בין גרעין Windows 64 סיביות לגירסת 32 סיביות של ntdll.dll (זה מכיל רשימה של גרעין הליבה פונקציות גרעין Windows), יירוט שיחות גרעין ושינוין כך שניתן יהיה לעבד אותן על ידי פונקציות ה- 64 סיביות המקוריות המסופקות על ידי Windows גרעין.

ישנם 3 קבצי DLL המשמשים במערכות x64 / IA64 כדי להשיג זאת: wow64cpu.dll, wow64win.dll ו- wow64.dll. תפקידיהם הם להפשיט את מאפייני המעבד ולספק גוונים (נגיע אליהם בהמשך) לתוך win32k.sys המספק את הפונקציונליות "חלון" ו- ntoskrnl.exe שמכיל את מנהל ההנהלה, הגרעין, מנהל הזיכרון, מתזמן תהליכים (אין להתבלבל עם מתזמן המשימות הנגיש מלוח הבקרה) ואלמנטים מרכזיים אחרים של ההפעלה מערכת.

טעונים- dlls

תא המטען הוא תת-רוטינה (חשוב על אלה כסדרת הוראות המבצעות משימה יחידה) המאפשרת לתוכנית לבצע תת -rutine משותף או פונקציה במערכת.

במקרה זה, הוא מחלץ את הטיעונים מערימת השיחות של תוכנית הסיביות של 32 סיביות, ממיר אותם למקביליהם של 64 סיביות, ומבצע שיחה מערכתית של 64 סיביות. עם החזרה מהשיחה היא תמיר את תוצאות 64 הסיביות בחזרה ל -32 ביטים ותדחוף אותם בחזרה אל ערימת השיחות של התוכנית כדי להשתמש במתקשר.

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

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

כשחוזרים למערכות Itanium, ישנם כמה הבדלים חשובים אחרים שיש לציין. מערכות IA64 משתמשות בשני קבצים נוספים. IA32exec.bin הוא אמולטור התוכנה x86 ו- Wowia32x.dll מספק את הממשק בין WoW64 לבין אמולטור התוכנה.

תהליך 32 סיביות יטען קבצים אלה כמו גם את גרסת 64 הסיביות של ntdll.dll. אלה הם הקבצים הבינאריים היחידים של 64 סיביות שעשויים להיטען בתהליך 32 סיביות לפני Windows 7. לחלונות 7 ואילך יש גם DLL אחר, apisetschema.dll, שיועלה לכל התהליכים.

חוקר תהליכים

כאשר מתחיל תהליך 32 סיביות, הוא יטען את Wow64.dll שבתורו טוען את גרסת ה- 32 סיביות של ntdll.dll וכל קובצי ה- DLL הנדרשים של 32 סיביות מ % systemroot% \ SysWOW64. מרבית הקבצים הללו זהים לבינאריים במערכת 32 סיביות אם כי חלקם נכתבו מחדש כדי להתנהג אחרת תחת WOW64.

אם מסתכלים על רשימת קבצי ה- DLL שנטענו אנו יכולים לראות שיש 9 קבצי DLL הטעונים בתהליך תחת Win64 שאינם קיימים עבור מערכת Win32.

כעת, יתכן שתתפתה להתבונן בגדלי הקבצים, להוסיף אותם ולהשתמש בהם כבסיס לכמות הזיכרון הנוסף שתשתמש בה, אך בסופו של דבר תגיע לתוצאות לא מדויקות. קבצים אלה מטבעם נועדו להיות רכיבים משותפים וכתוצאה מכך הקובץ הראשון שדורש DLL טוען אותו בזיכרון.

תוכניות עוקבות הדורשות אותה DLL אינן טוענות את כל הרכיב לזיכרון. הם מקבלים מצביע לרכיב שהועמס כבר, ומקצים זיכרון RAM עבור האלמנטים הנוספים שנטענים בתהליך.

מערך הבדיקה שלנו

כדי לראות מה קורה, הקמתי שתי מכונות וירטואליות שמריצות את Windows 7 Ultimate עם הקצאת זיכרון RAM של 2 GB לכל אחת. אחת מהן היא גרסת 32 סיביות והשנייה 64 סיביות. שניהם עברו את אותו תהליך ההתקנה והטלאים.

לאחר שתיקון של שתי המערכות השבתתי את קובץ ההחלפה על שתיהן כדי לקבל תמונה טובה יותר של השימוש בזיכרון על ידי הבטחת שלא ניתן להעביר זיכרון RAM לדיסק. לאחר השלמתה הותקנה LibreOffice 5.0.3.2.

lo calc

עותק של סייר התהליכים של Sysinternals סייר תהליכים - החלפת מנהל המשימות החזק ביותר [Windows]בואו נהיה כנים, מנהל המשימות של חלונות אינו כה טוב להבנה וניהול של התהליכים הפועלים במחשב שלך. אפילו ב- Windows 8, שם הוא משופר בהרבה, מנהל המשימות לא יכול להתקרב אל ... קרא עוד הונח גם בשתי המכונות. זה הכלי בו השתמשתי כדי לאסוף מידע על שימוש בזיכרון. הגדרת עמודת ברירת המחדל שונתה כך שאוכל להסתכל על ערכת העבודה והשימוש הפרטי WS.

מספרים אלה של מערכות עבודה משקפים את כמות ה- RAM המשמש את התוכניות. זה הסתבך עוד יותר על ידי שיקוף של כמות הזיכרון המשמשת את הספריות המשותפות, גם אם כבר היו טעונים בתהליך אחר. בגלל זה, אם מוסיפים את העמודה כולה, אפשר בסופו של דבר בסך הכל גדול מה- RAM המותקן. מערכת העבודה היא עדיין המדד הטוב ביותר לכמה זיכרון נדרש לתהליך.

התהליכים שאנו בוחנים אינם עומדים לבדם. התוכניות השונות של LibreOffice מפעילות תהליך נוסף, soffice.exe, שיבצע תהליך נוסף, soffice.bin. עלינו לבחון את סך כל שלושת התהליכים כדי לראות את השימוש בזיכרון היעיל של כל תוכנית.

לצורך הבדיקה הראשונית פשוט פתחתי את Writer, Calc, and Impress בנפרד כדי לבדוק כמה זיכרון הם צורכים מבלי שטענו נתונים וייצאתי את הנתונים מ- Explorer Explorer. עם Calc ו- Impress, פתחתי קובץ .Xls בקובץ 3.7 מגה-בתים ו -3.9 מגה-בתים .pptx בהתאמה ורשמתי את השימוש בזיכרון החדש. את התוצאות ניתן לראות בטבלה שלהלן. כל הנתונים נמצאים ב- KB.

שימוש בזיכרון

ההפתעה הגדולה התרחשה עם אימפרס. ללא מסמך הוא השתמש ב -4.1% יותר זיכרון RAM במערכת 64 סיביות ו -9.9% פחות עם המסמך טעון. ערכתי כמה מצגות אחרות והיו לי תוצאות דומות עם כולן. מערכת 64 סיביות בסופו של דבר השתמשה פחות RAM מאשר מערכת 32 סיביות.

אז האם גירסאות 64 סיביות של Windows דורשות יותר זיכרון RAM מאשר מקביליהם 32 סיביות בעת הפעלת אפליקציות 32 סיביות? באופן כללי כן.

אבל האם אתה צריך לשדרג את ה- RAM שלך? כנראה שלא. ההבדל באמת זה לא כזה מסיבי. זה בהחלט לא שונה פי 1.5.

ברוס שיחק באלקטרוניקה מאז שנות ה -70, מחשבים מאז שנות ה -80 המוקדמות, ועונה במדויק על שאלות על טכנולוגיה שלא השתמש בהן ולא ראה כל הזמן. הוא גם מרגיז את עצמו בכך שהוא מנסה לנגן בגיטרה.