الفرق بين المكدس وكومة

مؤلف: Laura McKinney
تاريخ الخلق: 1 أبريل 2021
تاريخ التحديث: 9 قد 2024
Anonim
45  Stack and Heap
فيديو: 45 Stack and Heap

المحتوى


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

السرعة هي المعلمة الرئيسية التي تميز المكدس وكومة. مكدس هو أسرع بكثير من كومة الذاكرة المؤقتة.

  1. رسم بياني للمقارنة
  2. تعريف
  3. الاختلافات الرئيسية
  4. خاتمة

رسم بياني للمقارنة

أساس للمقارنةكومةكومة
الأساسييتم تخصيص الذاكرة في (LIFO) في آخر خارج الموضة.يتم تخصيص الذاكرة في ترتيب عشوائي.
التخصيص والإلغاءتلقائيكتيب
كلفةأقلأكثر
التنفيذالصعبسهل
استحضارعلى)O (1)
القضيةنقص الذاكرةتجزئة الذاكرة
مكان المرجعيةممتازكاف
المرونةحجم ثابت وغير مرنتغيير حجم ممكن
وقت الوصولبسرعةأبطأ


تعريف المكدس

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

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

يتكون إطار المكدس من عناوين أو قيم معلمة الوظيفة وعنوان المرسل الذي يشير إلى المكان الذي يجب أن يتم إرجاع عنصر التحكم فيه بعد إكمال تنفيذ الوظيفة.

تعريف الكومة

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


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

  1. في الرصة ، يتم التخصيص والإلغاء بواسطة وحدة المعالجة المركزية ويتم تلقائيًا ، في الكومة ، يجب أن يتم بواسطة المبرمج يدويًا.
  2. معالجة إطار كومة الذاكرة أغلى من معالجة إطار مكدس.
  3. تنفيذ المكدس معقد. على العكس من ذلك ، فإن تنفيذ كومة بسيط.
  4. استدعاء دالة في مكدس يستغرق وقت O (N). في المقابل ، يستغرق وقت O (1) في كومة.
  5. تنفيذ مكدس يعاني بشكل رئيسي من مشكلة نقص الذاكرة. على العكس من ذلك ، فإن القضية الرئيسية في كومة هي التجزئة.
  6. يعد الوصول إلى إطار مكدس أسهل من كومة الذاكرة المؤقتة نظرًا لأن المكدس محصور في المنطقة الصغيرة من الذاكرة ويضرب دائمًا ذاكرة التخزين المؤقت ، ولكن يتم توزيع إطارات كومة الذاكرة المؤقتة عبر الذاكرة بحيث يمكن أن يؤدي الوصول إلى الذاكرة إلى حدوث المزيد من حالات فقدان ذاكرة التخزين المؤقت.
  7. المكدس غير مرن ، لا يمكن تغيير حجم الذاكرة المخصص. من ناحية أخرى ، الكومة مرنة ، ويمكن تغيير الذاكرة المخصصة.
  8. يستغرق كومة الذاكرة المؤقتة وقت وصول أكثر من مكدس.

خاتمة

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