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