অধ্যায় ৭ঃ মেমরি ম্যানেজমেন্ট
অতি সংক্ষিপ্ত
১. Fragmentation বলতে কী বোঝায়?
উত্তরঃ পার্টিশন অ্যালোকেশনের সবচেয়ে বড় সমস্যাটির নাম ফ্র্যাগমেন্টেশন। যখন কোন পার্টিশনে প্রোগ্রামের কাজ শেষ হয়ে যায়, তখন নতুন কোন প্রোগ্রামকে উক্ত স্থানে লোড করার ক্ষেত্রে যদি প্রোগ্রামটির দৈর্ঘ্য বেশি হয়, তাহলে তাকে স্মৃতিতে লোড করা যায় না। আবার প্রোগ্রামিং দৈর্ঘ্য উক্ত পার্টিশনের তুলনায় কম হলে অতি সামান্য অংশ ব্যবহৃত এবং বাকি অংশে অন্য কোন প্রোগ্রাম লোড করা যায়। এ অব্যবহৃত অংশই ফ্র্যাগমেন্টট, এবং স্মৃতিতে অব্যবহৃত ফ্রাগমেন্টের সংখ্যা বৃদ্ধি পাওয়াকে ফ্র্যাগমেন্টেশন বলা হয়।
যখন কোন প্রেগ্রামের মেমরি স্পেস (Space) প্রয়োজন তখন প্রেগ্রামটি সিপিউ কে অনুরোধ করে যে তার নির্দিষ্ট সংখ্যক মেমরির স্পেস/জায়গা(বাইট) প্রয়োজন। তখন মেমরি ম্যানেজমেন্ট ইউনিট (MMU) ওই প্রেগ্রামের জন্য স্পেস বা জায়গা হবে কি না তা চেক করে। যদি স্পেস বা জায়গা খালি থাকি, তবে সেই প্রেগ্রামের প্রসেসকে মেমরিতে স্পেস বা জায়গা বরাদ্ধ করে। এই ঘটনাকে অ্যালোকেশন (Allocation) বলে। মেমরি অনেক সংখ্যক ব্লক নিয়ে গঠিত। মেমরিতে যখন কোন প্রসেস বা ফাইল বরাদ্ধ হয় তখন তা মেমরি কোন খালি ব্লকে জায়গা বা স্পেস বরাদ্ধ করে। যদি এমন হয় যে, মেমরির একটি ব্লকের সাইজ ১০০ বাইট আর যে প্রসেসটি জমা হবে তার সাইজ ৮০ বাইট তবে ২০ বাইট ঐ ব্লকে ফাকা থাকে আর মেমরির এই খালি/ফাঁকা থাকা অবস্থাকে ফ্রাগমেন্টেশন বলে।