سؤال

بعض الأنظمة مثل سيمبيان يصر الناس على استخدام كومة الذاكرة المؤقتة بدلا من كومة عند تخصيص
الأجسام الكبيرة(مثل pathnames ، والتي قد تكون أكثر من 512 بايت).هل هناك أي سبب محدد لهذا ؟

هل كانت مفيدة؟

المحلول

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

نصائح أخرى

وعموما مكدس على جهاز جزءا لا يتجزأ من هو ثابت أن تكون صغيرة جدا أي 8K هو حجم كومة الافتراضي على سيمبيان.

إذا كنت تنظر في الحد الأقصى لطول اسم الملف هو 256bytes، لكن ضعف ذلك لليونيكود أن ل512bytes بالفعل (1/16 من كومة كله) فقط ل1 اسم الملف. لذلك يمكنك أن تتخيل أنه من السهل جدا لاستخدام ما يصل إلى كومة إذا كنت غير دقيق.

ومعظم أجهزة سيمبيان لا تأتي مع MMU، ولكن حتى وقت قريب جدا، لا تدعم الترحيل. وهذا يعني أن الذاكرة RAM الفعلية تلتزم لكل عملية قيد التشغيل. كل موضوع على سيمبيان له (عادة) و8KB كومة الثابتة. إذا كان كل موضوع لديه كومة، ثم زيادة حجم هذا كومة من 8KB، ويقول 32KB، سيكون له تأثير كبير على متطلبات ذاكرة الجهاز.

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

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

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top