পেজিং (Paging), সেগমেন্টেশন (Segmentation), এবং পেজ টেবিল (Page Table) হলো মেমোরি ম্যানেজমেন্টের বিভিন্ন কৌশল যা অপারেটিং সিস্টেমে মেমোরির কার্যকর ব্যবস্থাপনার জন্য ব্যবহৃত হয়। এগুলো ফ্র্যাগমেন্টেশন সমস্যা কমায় এবং মাল্টিপ্রোগ্রামিংয়ের কার্যক্ষমতা বাড়ায়।
পেজিং (Paging)
সংজ্ঞা: পেজিং হলো একটি মেমোরি ম্যানেজমেন্ট কৌশল, যা মেমোরিকে ছোট ছোট সমান আকারের ব্লকে (পেজ) ভাগ করে। এই পদ্ধতিতে লজিক্যাল মেমোরি এবং ফিজিক্যাল মেমোরি উভয়ই সমান আকারের ব্লকে বিভক্ত হয়।
বৈশিষ্ট্য:
- পেজ (Page): লজিক্যাল মেমোরির ছোট ছোট ব্লক।
- ফ্রেম (Frame): ফিজিক্যাল মেমোরির ছোট ছোট ব্লক, যা পেজের সমান আকারের।
- পেজ ফিট: লজিক্যাল মেমোরির পেজগুলো ফিজিক্যাল মেমোরির ফ্রেমে ম্যাপ করা হয়।
সুবিধা:
- ইন্টার্নাল ফ্র্যাগমেন্টেশন কম হয়।
- প্রোগ্রাম চলাকালীন পুরো প্রোগ্রামকে মেমোরিতে লোড করা প্রয়োজন হয় না।
অসুবিধা:
- পেজ টেবিল ব্যবহারের ফলে মেমোরি ওভারহেড হতে পারে।
- পেজিংয়ে কিছুটা ইন্টার্নাল ফ্র্যাগমেন্টেশন হতে পারে।
সেগমেন্টেশন (Segmentation)
সংজ্ঞা: সেগমেন্টেশন হলো মেমোরি ম্যানেজমেন্টের একটি কৌশল, যা মেমোরিকে ভিন্ন আকারের লজিক্যাল সেগমেন্টে ভাগ করে। প্রতিটি সেগমেন্ট একটি নির্দিষ্ট প্রোগ্রাম বা ডেটার নির্দিষ্ট অংশ সংরক্ষণ করে।
বৈশিষ্ট্য:
- সেগমেন্ট: ভিন্ন আকারের লজিক্যাল ব্লক।
- অ্যাড্রেসিং: প্রতিটি সেগমেন্টের একটি সেগমেন্ট নাম্বার এবং একটি অফসেট থাকে।
- ম্যাপিং: সেগমেন্ট টেবিলের মাধ্যমে লজিক্যাল মেমোরিকে ফিজিক্যাল মেমোরিতে ম্যাপ করা হয়।
সুবিধা:
- এক্সটার্নাল ফ্র্যাগমেন্টেশন কম হয়।
- প্রোগ্রামের লজিক্যাল অংশগুলির (যেমন: কোড, ডেটা, স্ট্যাক) জন্য স্বতন্ত্র সেগমেন্ট ব্যবহার করা যায়।
অসুবিধা:
- বড় আকারের সেগমেন্ট টেবিল ব্যবস্থাপনা কঠিন হতে পারে।
- এক্সটার্নাল ফ্র্যাগমেন্টেশন হতে পারে।
পেজ টেবিল (Page Table)
সংজ্ঞা: পেজ টেবিল হলো একটি ডেটা স্ট্রাকচার, যা লজিক্যাল পেজ নম্বরকে ফিজিক্যাল ফ্রেম নম্বরের সাথে ম্যাপ করে। এটি MMU (Memory Management Unit) দ্বারা ব্যবহৃত হয়, যাতে লজিক্যাল অ্যাড্রেসকে ফিজিক্যাল অ্যাড্রেসে রূপান্তর করা যায়।
বৈশিষ্ট্য:
- এন্ট্রি: প্রতিটি এন্ট্রিতে একটি পেজ নম্বর এবং সংশ্লিষ্ট ফ্রেম নম্বর থাকে।
- অ্যাড্রেস ট্রান্সলেশন: লজিক্যাল অ্যাড্রেসের পেজ নম্বর পেজ টেবিলে খুঁজে ফিজিক্যাল ফ্রেম নম্বর পাওয়া যায় এবং ফ্রেমের শুরুতে অফসেট যোগ করে ফিজিক্যাল অ্যাড্রেস তৈরি হয়।
- হিরারকিক্যাল পেজ টেবিল: বড় মেমোরি স্পেসের জন্য একাধিক স্তরের পেজ টেবিল ব্যবহৃত হয়।
পেজ টেবিলের সুবিধা:
- মেমোরি ব্যবস্থাপনার প্রক্রিয়াটি সহজ করে এবং ফ্রেম বরাদ্দে কার্যকরভাবে কাজ করে।
- মাল্টিপ্রোগ্রামিং-এর পারফরম্যান্স উন্নত করে।
পেজ টেবিলের অসুবিধা:
- বড় পেজ টেবিলের জন্য অতিরিক্ত মেমোরি দরকার।
- পেজ টেবিল অ্যাক্সেসের কারণে কিছুটা পারফরম্যান্স ওভারহেড হতে পারে।
পেজিং এবং সেগমেন্টেশনের তুলনা:
| বৈশিষ্ট্য | পেজিং | সেগমেন্টেশন |
|---|---|---|
| বিভাজনের আকার | সমান আকারের পেজে বিভক্ত | ভিন্ন আকারের সেগমেন্টে বিভক্ত |
| অ্যাড্রেস গঠন | পেজ নম্বর + অফসেট | সেগমেন্ট নম্বর + অফসেট |
| ফ্র্যাগমেন্টেশন | ইন্টার্নাল ফ্র্যাগমেন্টেশন | এক্সটার্নাল ফ্র্যাগমেন্টেশন |
| অ্যাড্রেস ট্রান্সলেশন | পেজ টেবিলের মাধ্যমে | সেগমেন্ট টেবিলের মাধ্যমে |
উপসংহার:
পেজিং এবং সেগমেন্টেশন উভয়ই মেমোরি ব্যবস্থাপনার জন্য গুরুত্বপূর্ণ কৌশল। পেজিং সমান আকারের ব্লক তৈরি করে ফ্র্যাগমেন্টেশন কমায়, যেখানে সেগমেন্টেশন ভিন্ন আকারের ব্লক তৈরি করে প্রোগ্রামের লজিক্যাল অংশগুলোর জন্য আরও স্বতন্ত্র মেমোরি বরাদ্দ নিশ্চিত করে। পেজ টেবিল পেজিং-এর মূল অংশ, যা মেমোরি ট্রান্সলেশনে গুরুত্বপূর্ণ ভূমিকা পালন করে।
Read more