هل تتفتت ذاكرة الوصول العشوائي؟

جدول المحتويات:

هل تتفتت ذاكرة الوصول العشوائي؟
هل تتفتت ذاكرة الوصول العشوائي؟
Anonim

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

هل يمكن أن تصبح ذاكرة الوصول العشوائي مجزأة؟

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

ما الذي يسبب تجزئة الذاكرة؟

تجزئة الذاكرة هي عندما يتم تخصيصمعظم ذاكرتك في عدد كبير من الكتل غير المتجاورة ، أو القطع- مما يترك نسبة جيدة من إجمالي الذاكرة غير مخصصة ، ولكنها غير قابلة للاستخدام لمعظم السيناريوهات النموذجية. ينتج عن هذا استثناءات نفاد الذاكرة ، أو أخطاء في التخصيص (أي إرجاع malloc فارغًا).

هل تجزئة الذاكرة سيء؟

بشكل عام برمجة c ++لا توجد مشكلة في تجزئة الذاكرة. تشاهد دائمًا الذاكرة الافتراضية وتقوم دائمًا بتخصيص أجزاء متجاورة من الذاكرة الظاهرية. الشيء الوحيد الذي يمكنك ملاحظته هو أن الأجزاء المخصصة بشكل تسلسلي ليست بالضرورة متجاورة في الذاكرة.

كيف تمنع تجزئة الذاكرة؟

إذا كان بإمكانك عزل تلك الأماكن التي من المحتمل أن تخصص فيها كتل كبيرة ، يمكنك (على Windows) مباشرةالاتصال بـ VirtualAlloc بدلاً من المرور عبر مدير الذاكرة. هذا سوف يتجنبتجزئة داخل مدير الذاكرة العادية.

موصى به: