د. خالد بن عبد العزيز العتيبي
د. خالد بن عبد العزيز العتيبي

@DrKhaledUtaibi

6 تغريدة 25 قراءة Jun 23, 2021
#سلسلة_مصطلحات_برمجية
@PrograminLovers
ذاكرة المكدس stack memory
يتم استخدام المكدس لتخزين المتغيرات المستخدمة داخل الدوال (functions). وهو هيكل من نوع ما يأتي أخيرًا يخرج أولاً (LIFO).
في كل مرة تقوم الدالة بإنشاء متغير جديد يتم دفعه (pushed) إلى المكدس، وعند انتهاء الدالة يتم حذف جميع المتغيرات المرتبطة بها الوظيفة من ذاكرة المكدس، ويتم تحرير الذاكرة (free up) التي تستخدمها.
المكدس عبارة عن منطقة خاصة من الذاكرة، تتم إدارتها تلقائيًا بواسطة وحدة المعالجة المركزية، لذلك لا نحتاج إلى تخصيص (allocate) الذاكرة أو إلغاء تخصيصها (deallocate).
بشكل عام يوجد حد لحجم المكدس، والذي يمكن أن يختلف باختلاف نظام التشغيل. إذا حاولت الدالة وضع الكثير من المعلومات على المكدس، فسيحدث تجاوز سعة المكدس (stack overflow).
يحدث تجاوز سعة المكدس في حالتين: الأولى عندما يتم تخصيص (allocate) كامل الذاكرة الموجودة في المكدس، والثانية عندما استخدام العودية (recursion) بشكل غير صحيح.
ملخص:
يتم إدارة المكدس بواسطة وحدة المعالجة المركزية
يتم تخصيص المتغيرات وتحريرها تلقائيًا
يوجد حد أعلى لذاكرة المكدس يختلف حسب نظام التشغيل
ينمو المكدس ويتقلص مع إنشاء المتغيرات وتدميرها
تتواجد متغيرات المكدس فقط أثناء وجود الدالة التي أنشأتها

جاري تحميل الاقتراحات...