ভার্চুয়াল মেমরি / পেজিং সুবিধা কার্নেলটিকে ব্যবহারকারী স্পেস প্রক্রিয়াগুলিতে মেমরির "ভার্চুয়ালাইজ" করতে দেয়। কার্নেল পৃষ্ঠাগুলি শারীরিক স্মৃতি থেকে নিতে পারে এবং সেগুলি পেজিংয়ের মাধ্যমে সাজিয়ে তুলতে পারে যাতে তারা কোনও ব্যবহারকারীর প্রক্রিয়াতে সামঞ্জস্যপূর্ণ হয়।
ইউজারস্পেস প্রসেসের মেমোরিতে একটি সীমা নির্ধারণ করা যেতে পারে এবং প্রক্রিয়াটি যদি এর বাইরে চলে যায় তবে "পৃষ্ঠার ত্রুটি" দেখা দেয় যা একটি সিপিইউ ব্যতিক্রম ঘটায় যা কার্নেলের কাছে ফিরে আসে। এটি কার্নেলের অনুমতি ছাড়াই কার্নেল বা অন্যান্য প্রোগ্রামগুলিতে বরাদ্দ হওয়া মেমরির সাথে ইউজারস্পেস প্রোগ্রামকে গণ্ডগোল করা থেকে বাধা দেয়।
সাধারণত ইউজারস্পেস প্রোগ্রামগুলি সুস্পষ্ট সংজ্ঞাযুক্ত ইন্টারফেসের মাধ্যমে কর্নেলকে এই সীমাটি বাড়িয়ে দিতে বলে (সি ফাংশন দ্বারা ডাকা হয় malloc()
এবং free()
উদাহরণস্বরূপ))। কোনও প্রোগ্রাম কত এবং কী মেমোরি বরাদ্দ করা হয় তার উপর নজর রাখার জন্য কার্নেল দায়বদ্ধ।
এই "পৃষ্ঠার ত্রুটি" প্রক্রিয়াটি কার্নেলটি পৃষ্ঠাটি ডিস্ক থেকে কোনওটির সাথে অ্যাক্সেস করার চেষ্টা করছে এমন পৃষ্ঠার অদলবদল করতে দেয়, যদি কার্নেল যদি ওভারপ্রোভিশন মেমরির সক্ষম হয় (এবং উইন্ডোজ এবং লিনাক্স উভয়ই এটি সমর্থন করে) সুতরাং এটিকে স্ব্যাপিং বলা হয় is যদি মেমরির অ্যাক্সেসটি সত্যই অবৈধ ছিল (যেমন প্রক্রিয়াটি মেমোরিটি অ্যাক্সেস করার চেষ্টা করছে যা এটি প্রথমে জিজ্ঞাসা করে না) তবে সাধারণত প্রক্রিয়াটি একটি এসএসইএসজিভি দিয়ে হত্যা করা হবে।
সুতরাং "অদলবদল" একটি অতিরিক্ত বৈশিষ্ট্য (লিনাক্সে আপনি আসলে এটি সম্পূর্ণরূপে নিষ্ক্রিয় করতে পারেন) যা ভার্চুয়াল মেমরি / পেজিংয়ের উপর নির্ভর করে, তবে কোনও সিপিইউতে ভার্চুয়াল মেমরি / পেজিং থাকার কারণে এটি প্রয়োজন হয় না। ধারণাটি একই নয় তবে অদলবদল অস্তিত্বের জন্য পেজিং / ভার্চুয়াল মেমরির উপর নির্ভর করে।
এছাড়াও, আপনার প্রশ্নটি আরও ঘনিষ্ঠভাবে পড়ার পরে, "পেজিং" কখনও কখনও "অদলবদল" এর প্রতিশব্দ হিসাবে ব্যবহৃত হয় - তবে আমি "অদলবদল" এর অর্থ কখনই শুনতে পাইনি পুরো প্রক্রিয়াটির স্মৃতিটি বনাম "পেজিং" এর অর্থের অংশ হিসাবে পরিবর্তিত হয়েছে of এটি অদলবদল হয়।
তবে লিনাক্সের কেন তখন অদলবদলের প্রয়োজন হয়? যদি শারীরিক স্মৃতি পূর্ণ থাকে তবে কিছু প্রক্রিয়া হার্ড ড্রাইভে আউটসোর্স করা হবে এবং একটি নতুন প্রক্রিয়া ভার্চুয়াল মেমরি থেকে শারীরিক স্মৃতিতে ম্যাপ করা হবে।
"ভার্চুয়াল মেমরি" হ'ল শারীরিক স্মৃতি, কেবল "পুনরায় করা" এমএমইউ হার্ডওয়্যার কোনও স্টোরেজ ডিভাইসে সরাসরি ম্যাপ করতে পারে না। এমএমইউ এমন একটি ত্রুটি ফেলতে পারে যা কার্নেলকে কোনও প্রক্রিয়া যাতে থাকা উচিত নয় মেমোরি অ্যাক্সেস করার চেষ্টা করেছিল - এবং কার্নেল এই প্রক্রিয়াটি ব্যবহার করে দেখতে পারে যে কোনও প্রক্রিয়া ডিস্ক থেকে এমন কিছু ফিরে চায় যা মনে করে যে এটি মেমরিতে ছিল এবং তারপরে " swap 'র "। পয়েন্টটি হ'ল অপারেটিং সিস্টেম যা পৃষ্ঠাগুলিকে ডিস্কে সংরক্ষণ করার সিদ্ধান্ত নেয় যাতে এটি সেই পৃষ্ঠাগুলিকে অন্য প্রক্রিয়াগুলির জন্য ব্যবহার করতে পারে, হার্ডওয়্যার নয় not