মেমোরি অ্যালোকেশন কী? স্টাটিক মেমোরি অ্যালোকেশন এবং ডায়নামিক মেমোরি অ্যালোকেশন কী?


প্রশ্নঃ মেমোরি অ্যালোকেশন কী? 
স্টাটিক মেমোরি অ্যালোকেশন এবং ডায়নামিক মেমোরি অ্যালোকেশন কী?

উত্তরঃ কোন প্রোগ্রামের মধ্যে ব্যবহৃত বিভিন্ন ধরনের ভেরিয়েবল স্ট্রাকচার এবং ক্লাসসমূহ সংরক্ষণ করার জন্য মেমোরিকে বিভিন্ন ব্লকে ভাগ করাই হচ্ছে মেমোরি অ্যালোকেশন।

প্রোগ্রামিং ল্যাংগুয়েজের উপর ভিত্তি করে মেমোরি অ্যালোকেশন কে দুই ভাগে ভাগ করা যায়।
যথা-
  • কম্পাইল টাইম বা স্টাটিক মেমোরি অ্যালোকেশন
  • রানটাইম বা ডায়নামিক মেমোরি অ্যালোকেশন

কম্পাইল টাইম বা স্টাটিক মেমোরি অ্যালোকেশন

কম্পাইলেশন এর সময় যখন মেমোরি অ্যালোকেশন করা হয় তখন তাকে স্টাটিক মেমোরি অ্যালোকেশন বলা হয়। এই মেমোরি সাধারণত ফিক্সট বা অ্যালোকেশন করার পর বাড়ানো বা কমানো যায় না। যদি প্রয়োজনের চেয়ে বেশি মেমোরি বরাদ্দ করা হয় তাহলে মেমোরির জায়গা নষ্ট হয়। যদি প্রয়োজনের চেয়ে কম মেমোরি বরাদ্দ করা হয় তাহলে প্রোগ্রাম সফলভাবে রান করবে না। তাই সঠিক মেমোরির প্রয়োজনীয়তা আগে থেকেই জানা থাকতে হবে। যেমনঃ FORTRAN এবং PASCAL ল্যাঙ্গুয়েজ।

রানটাইম বা ডায়নামিক মেমোরি অ্যালোকেশন

রান বা এক্সেকিউশনের সময় যখন মেমোরি বরাদ্দ করা হয় তখন তাকে ডায়নামিক মেমোরি অ্যালোকেশন বলা হয়। এই মেমোরি সাইজ ফিক্সড নয় এবং প্রয়োজন অনুযায়ী মেমোরি বরাদ্দ করা হয়। ফলে এই মেমোরি অ্যালোকেশনে মেমোরির অপচয় হয় না। তাই আগে থেকে মেমোরির সঠিক প্রয়োজনীয়তা জানার দরকার হয় না। যেমনঃ C এবং C++ ল্যাঙ্গুয়েজ।

Leave a Comment