الإعلانات

يتم شحن معظم أجهزة الكمبيوتر اليوم مع إصدار 64 بت من Windows ، وكثيرًا ما يكون الحد الأدنى من RAM. وهذا يثير التساؤل حول مدى جودة أداء هذه الأنظمة. وينطبق هذا بشكل خاص عندما يرغب المستخدمون في تشغيل برامجهم القديمة 32 بت على أجهزة الكمبيوتر الجديدة هذه.

مما يثير سؤالا مثيرا للاهتمام. هل تحتاج إلى ذاكرة وصول عشوائي (RAM) أكثر أو أقل ما مقدار ذاكرة الوصول العشوائي التي تحتاجها حقًا؟ذاكرة الوصول العشوائي مثل الذاكرة قصيرة المدى. كلما زادت المهام المتعددة ، كلما احتجت أكثر. تعرف على مقدار ما يحتويه جهاز الكمبيوتر الخاص بك ، وكيفية تحقيق أقصى استفادة منه ، أو كيفية الحصول على المزيد. قراءة المزيد لتشغيل تطبيق 32 بت على إصدار 64 بت من Windows ما هي الحوسبة 64 بت؟إن تعبئة جهاز الكمبيوتر أو أجهزة الكمبيوتر مزدحمة بالمصطلحات الفنية والشارات. واحدة من أبرزها هي 64 بت. قراءة المزيد ? هذا الأسبوع ، اكتشف بروس إبر.

يسأل قارئ:

هل صحيح أن تشغيل تطبيقات 32 بت على نظام Windows 64 بت يستهلك 1.5 مرة ذاكرة أكبر مقارنة بتشغيل التطبيق 32 بت تحت نظام تشغيل ويندوز 32 بت؟

رد بروس:

لقد ناقشنا من قبل مزايا وعيوب الاحتفاظ بكل شيء 64 بت في جميع المجالات وبعض

instagram viewer
آثار "الخلط والمطابقة" كيف يتأثر أداء Windows بالأجهزة والبرامجمن الناحية النظرية ، يمكن أن يتفوق برنامج 32 بت على نظيره 64 بت ، اعتمادًا على إعداد الأجهزة. تبدو معقدة؟ نحن هنا لفهم الأمر ومساعدتك في الحصول على أفضل أداء من نظامك. قراءة المزيد . سنقوم اليوم بفحص كيفية تنفيذ تطبيقات 32 بت على إصدارات 64 بت من Windows.

لا يمكن لنظام تشغيل Windows 64 بت تشغيل برنامج Windows 32 بت بدون بعض المساعدة الإضافية. إنها مختلفة تمامًا: من المؤشرات وأنواع البيانات إلى كيفية استدعاء النظام (كيف تستخدم البرامج موارد نظام التشغيل الأساسي). أنت بحاجة إلى طريقة لجعلها متوافقة.

فهم WoW64

يستخدم Windows النظام الفرعي WoW64 (Windows32 على Windows64) لتعويض الاختلافات. يعمل بشكل فعال كمحاكي mini Windows 32 بت على أنظمة x64 ومحاكي كامل على أنظمة Itanium (IA64).

تتطلب أنظمة IA64 محاكيًا كاملًا بسبب الاختلافات في تعليمات المعالج وأحجام صفحات الذاكرة (4K في x86 و x64 ، 8K في IA64). نظرًا لأن معالجات x64 تحتوي على جميع تعليمات معالجات x86 وتستخدم نفس حجم صفحة الذاكرة ، فلا تحتاج إلى محاكي كامل.

في كلتا الحالتين ، يوفر WoW64 واجهة بين الإصدار 64 بت من Windows kernel والإصدار 32 بت من ntdll.dll (يحتوي هذا على قائمة أساسية وظائف Windows kernel) ، اعتراض مكالمات kernel وتعديلها حتى يمكن معالجتها بواسطة وظائف 64 بت الأصلية التي يوفرها Windows نواة.

هناك 3 ملفات DLL تستخدم على أنظمة x64 / IA64 لتحقيق ذلك: wow64cpu.dll و wow64win.dll و wow64.dll. وظائفها هي تجريد خصائص المعالج وتوفير thunks (سنصل إليهم لاحقًا) إلى win32k.sys الذي يوفر وظيفة "النافذة" و ntoskrnl.exe الذي يحتوي على مدير الذاكرة التنفيذي ، kernel ، مدير الذاكرة ، جدولة العملية (يجب عدم الخلط بينها وبين جدولة المهام التي يمكن الوصول إليها من لوحة التحكم) ، والعناصر الأساسية الأخرى للتشغيل النظام.

تحميل dlls

thunk هو روتين فرعي (فكر في هذه كسلسلة من التعليمات التي تؤدي مهمة واحدة) التي تسمح للبرنامج بتنفيذ روتين أو وظيفة شائعة في النظام.

في هذه الحالة ، يستخرج الوسيطات من حزمة مكالمات برنامج 32 بت ، ويحولها إلى نظيراتها 64 بت ، ويجعل استدعاء نظام 64 بت. عند العودة من المكالمة ، سيتم تحويل نتائج 64 بت مرة أخرى إلى 32 بت ودفعها مرة أخرى إلى مكدس مكالمات البرنامج ليستخدمها المتصل.

تتم جميع عمليات التصويب في وضع المستخدم (الذي له أذونات محدودة) لسببين. أولاً ، يقلل من آثار الأخطاء في التعليمات البرمجية التي يمكن أن تؤدي إلى ثغرة أمنية أو تلف البيانات أو تعطل النظام إذا تم تشغيله في وضع kernel.

ثانيًا ، يقلل من تأثير الأداء الذي قد يحدث إذا تم تشغيله في وضع kernel (الوضع الذي تستخدمه الأجزاء الأساسية من نظام التشغيل) بسبب الحمل الزائد المتضمن عند التبديل بين وضع المستخدم و وضع النواة والعودة.

بالعودة إلى أنظمة Itanium ، هناك بعض الاختلافات المهمة الأخرى التي يجب ملاحظتها. تستخدم أنظمة IA64 ملفين إضافيين. IA32exec.bin هو محاكي برامج x86 ويوفر Wowia32x.dll الواجهة بين WoW64 ومحاكي البرامج.

ستقوم عملية 32 بت بتحميل هذه الملفات بالإضافة إلى إصدار 64 بت من ntdll.dll. هذه هي ثنائيات 64 بت الوحيدة التي يمكن تحميلها في عملية 32 بت قبل Windows 7. يحتوي Windows 7 والإصدارات الأحدث أيضًا على ملف DLL آخر ، apisetschema.dll ، والذي سيتم تحميله في جميع العمليات.

عملية المستكشف

عند بدء عملية 32 بت ، سيتم تحميل Wow64.dll الذي بدوره يقوم بتحميل إصدار 32 بت من ntdll.dll وأي ملفات DLL 32 بت ضرورية من ٪ systemroot٪ \ SysWOW64. معظم هذه الملفات مماثلة للثنائيات في نظام 32 بت على الرغم من أن بعضها قد أعيد كتابته ليعمل بشكل مختلف تحت WOW64.

بالنظر إلى قائمة ملفات DLL التي تم تحميلها ، يمكننا أن نرى أن هناك 9 ملفات DLL تم تحميلها في العملية ضمن Win64 غير موجودة لنظام Win32.

الآن ، قد تميل إلى إلقاء نظرة على أحجام الملفات ، وإضافتها واستخدامها كأساس لمقدار الذاكرة الإضافية المستخدمة ، ولكنك ستنتهي بنتائج غير دقيقة. تم تصميم هذه الملفات بطبيعتها لتكون مكونات مشتركة ونتيجة لذلك ، يقوم الملف الأول الذي يتطلب ملف DLL بتحميله في الذاكرة.

لا تقوم البرامج اللاحقة التي تتطلب نفس DLL بتحميل المكون بالكامل في الذاكرة. يحصلون على مؤشر للمكون الذي تم تحميله بالفعل ، ويخصصون ذاكرة الوصول العشوائي للعناصر الإضافية التي يتم تحميلها في العملية.

إعداد الاختبار لدينا

لمعرفة ما يجري ، قمت بإعداد جهازين افتراضيين يعملان بنظام التشغيل Windows 7 Ultimate مع 2 غيغابايت من ذاكرة الوصول العشوائي المخصصة لكل منهما. أحدهما هو الإصدار 32 بت والآخر 64 بت. كلاهما مر بنفس عملية التثبيت والتصحيح.

بعد تصحيح كلا النظامين ، قمت بتعطيل ملف المبادلة على كليهما للحصول على صورة أفضل لاستخدام الذاكرة من خلال ضمان عدم إمكانية ترحيل ذاكرة الوصول العشوائي إلى القرص. بمجرد الانتهاء من تثبيت LibreOffice 5.0.3.2.

لو كالك

نسخة من مستكشف عملية Sysinternals مستكشف العمليات - أقوى بديل لإدارة المهام [Windows]لنكن صادقين ، إدارة مهام Windows ليست رائعة لفهم وإدارة العمليات التي تعمل على جهاز الكمبيوتر الخاص بك. حتى في Windows 8 ، حيث تم تحسينه كثيرًا ، لا يمكن أن يقترب مدير المهام من ... قراءة المزيد تم وضعها أيضًا على كلا الجهازين. هذه هي الأداة التي استخدمتها لجمع معلومات استخدام الذاكرة. تم تغيير إعداد العمود الافتراضي حتى أتمكن من إلقاء نظرة على استخدام مجموعة العمل واستخدام WS الخاص.

تعكس أرقام مجموعة العمل هذه مقدار ذاكرة الوصول العشوائي التي تستخدمها البرامج. لقد زاد الأمر تعقيدًا بعض الشيء من خلال عكس مقدار الذاكرة المستخدمة من قبل المكتبات المشتركة حتى لو تم تحميلها بالفعل بواسطة عملية أخرى. وبسبب هذا ، إذا قمت بإضافة العمود بأكمله ، فمن الممكن أن ينتهي به الأمر بإجمالي أكبر من ذاكرة الوصول العشوائي المثبتة. لا تزال مجموعة العمل هي أفضل مقياس لمقدار الذاكرة المطلوبة للعملية.

العمليات التي نفحصها لا تقف وحدها أيضًا. تطلق برامج LibreOffice المختلفة عملية أخرى ، soffice.exe ، والتي ستنفذ عملية أخرى ، soffice.bin. نحن بحاجة إلى النظر في مجاميع العمليات الثلاث لمعرفة الاستخدام الفعال للذاكرة لكل برنامج.

بالنسبة للاختبار الأولي ، قمت ببساطة بفتح Writer و Calc و Impress بشكل فردي للنظر في مقدار الذاكرة التي يستهلكونها دون تحميل أي بيانات وتصدير البيانات من Process Explorer. مع Calc و Impress ، قمت بفتح ملف .xls سعة 3.7 ميجابايت وملف .pptx بحجم 3.9 ميجابايت على التوالي وسجلت استخدام الذاكرة الجديد. يمكن رؤية النتائج في الجدول أدناه. جميع البيانات بالكيلوبايت.

استخدام الذاكرة

حدثت المفاجأة الكبرى مع Impress. بدون مستند ، كان يستخدم ذاكرة وصول عشوائي أكبر بنسبة 4.1٪ على نظام 64 بت و 9.9٪ أقل مع تحميل المستند. حفرت بعض العروض التقديمية الأخرى وحصلت على نتائج مماثلة مع كل منها. انتهى نظام 64 بت باستخدام ذاكرة وصول عشوائي أقل من نظام 32 بت.

لذا ، هل تتطلب إصدارات 64 بت من Windows ذاكرة وصول عشوائي أكبر من نظيراتها 32 بت عند تشغيل تطبيقات 32 بت؟ بشكل عام ، نعم.

ولكن هل تحتاج إلى ترقية ذاكرة الوصول العشوائي الخاصة بك؟ على الاغلب لا. القرق هل حقا ليس بهذه الضخامة. إنها بالتأكيد ليست مختلفة 1.5 مرة.

كان بروس يلعب بالإلكترونيات منذ السبعينيات ، وأجهزة الكمبيوتر منذ أوائل الثمانينيات ، ويجيب بدقة على الأسئلة حول التكنولوجيا التي لم يستخدمها أو يشاهدها طوال الوقت. كما أنه يزعج نفسه بمحاولة العزف على الجيتار.