"ভার্চুয়াল মেমরি" এবং "অদলবদল" এর মধ্যে পার্থক্য কী?


85

ভার্চুয়াল মেমরি এবং অদলবদলের জায়গার মধ্যে পার্থক্য কী দয়া করে কেউ আমাকে পরিষ্কার করতে পারেন ?

এবং আমরা কেন বলব যে 32-বিট মেশিনের জন্য সর্বাধিক ভার্চুয়াল মেমরি অ্যাক্সেসযোগ্য 4 জিবি?



@ স্টার্টব্লু কীভাবে আপনার দেওয়া লিঙ্কটি আমার প্রশ্নের জবাব ..
algo-geeks

@ অ্যালগো-গিকস - প্রকৃতপক্ষে এটি কোনও উত্তর নয়, তবে আমি মনে করি এটি একটি উত্তরের সাথে লিঙ্ক করেছে যা এই বিষয়টির জন্য বেশ কার্যকর হতে পারে। এবং মন্তব্যে লেখা আছে, ঠিক কোথায় এটি হওয়া উচিত, ইমো। :)
মুহাম্মদ হুসেনবাজি

উত্তর:


113

সেখানে বেশি ভার্চুয়াল মেমরি একটি চমৎকার explantation এর সুপার-ইউজার

সহজ কথায় বলতে গেলে ভার্চুয়াল মেমরিটি র‌্যাম এবং ডিস্ক জায়গার সংমিশ্রণ যা চলমান প্রক্রিয়াগুলি ব্যবহার করতে পারে।

অদলবদল হ'ল ভার্চুয়াল মেমরির সেই অংশ যা হার্ড ডিস্কে রয়েছে, র‌্যাম পূর্ণ হলে ব্যবহৃত হয়।

কেন 32 বিবিট সিপিইউ 4gb ভার্চুয়াল মেমরির মধ্যে সীমাবদ্ধ, এটি এখানে ভালভাবে সম্বোধন করা হয়েছে :

সংজ্ঞা অনুসারে, একটি 32-বিট প্রসেসর মেমরির প্রতিটি বাইটের অবস্থান উল্লেখ করতে 32 বিট ব্যবহার করে। 2 ^ 32 = 4.2 বিলিয়ন, যার অর্থ 32 বিট দীর্ঘ একটি মেমরি ঠিকানা কেবল 4.2 বিলিয়ন অনন্য অবস্থান (অর্থাত্ 4 জিবি) উল্লেখ করতে পারে।


4
তাহলে কি আসল র‌্যাম = ভার্চুয়াল - অদলবদল হয়?
ব্যবহারকারী 48956

4
এই উত্তর সম্পূর্ণ ভুল। কোনও ব্যক্তি 100 গিগাবাইট ফাইলটিকে 100 বার ম্যাপ করতে এবং মাত্র 1 জিবি র‌্যাম সহ একটি মেশিনে 100 গিগাবাইট ভার্চুয়াল মেমরি ব্যবহার করতে পারে। ব্যবহৃত হবে ভার্চুয়াল মেমরির 100 গিগাবাইট পাওয়ার জন্য র‌্যাম এবং ডিস্কের স্থান যুক্ত করার কোনও উপায় নেই।
ডেভিড শোয়ার্জ

পছন্দ করেছেন একটি ফাইল মেমরি ম্যাপিং এটিকে মেমরিতে লোড করে না। যেমন, কেবলমাত্র 1 বার ফাইল এমএমএপ-ইন করা 100 বার 100 গিগাবাইট কিছুই ব্যবহার করবে না।
ফেলিক্স

4
@ ফেলিক্স আপনি ভুল আপনি যখন এটিকে "এটিকে মেমোরিতে লোড করে না" বলে থাকেন, আপনি শারীরিক স্মৃতি, অর্থাত্ র‌্যামকে বোঝাতে "মেমরি" শব্দটি ব্যবহার করছেন। আমরা ভার্চুয়াল মেমরির কথা বলছি , শারীরিক স্মৃতি নয়। ভার্চুয়াল মেমরি সাধারণত যখন প্রয়োজন হয় তখন তৈরি করা হয় এবং শারীরিক স্মৃতি হিসাবে কোনও নির্দিষ্ট পুল থেকে নেওয়া হয় না।
ডেভিড শোয়ার্টজ

তাহলে এটি কেবল একটি রিপোর্টিং প্রশ্ন? কত স্মৃতি ম্যাপ করা আছে তা গণনা করা কি কখনও বুদ্ধিযুক্ত? যেহেতু আপনি বাস্তবে এটি কখনই ব্যবহার করবেন না, তা রামে বা অদলবদলে থাকুক।
ফেলিক্স

60

ভার্চুয়াল মেমোরি শব্দটি সম্পর্কে কিছু বিভ্রান্তি রয়েছে এবং এটি প্রকৃতপক্ষে নিম্নলিখিত দুটি অত্যন্ত ভিন্ন ধারণাটিকে বোঝায়

  1. কোনও কম্পিউটারে ধারণাগত পরিমাণের দৈহিক মেমরির প্রসারিত করতে ডিস্ক পৃষ্ঠাগুলি ব্যবহার করা - এটির সঠিক শব্দটি আসলে পেজিং
  2. পৃথক স্বতন্ত্র ঠিকানা স্থানে চলমান প্রতিটি প্রক্রিয়াটির মায়া তৈরি করতে বিভিন্ন ওএস / সিপিইউ দ্বারা ব্যবহৃত একটি বিমূর্ততা।

অতিরিক্ত র্যাম পৃষ্ঠাগুলি ব্যবহারের সময় সংরক্ষণ করার জন্য ব্যবহৃত ডিস্কের অংশটির নাম অদলবদল, ওটিওএইচ।

একটি গুরুত্বপূর্ণ উপলব্ধি হ'ল পূর্ববর্তীটি পরবর্তীকালের হার্ডওয়্যার এবং ওএস সমর্থনের কারণে স্বচ্ছভাবে সম্ভব।

এগুলি আরও ভাল করে বোঝার জন্য আপনাকে কীভাবে "ভার্চুয়াল মেমরি" (সংজ্ঞা 2 হিসাবে) সিপিইউ এবং ওএস সমর্থন করে তা বিবেচনা করা উচিত।

মনে করুন আপনার কাছে 32 বিট পয়েন্টার রয়েছে (bit৪ বিট পয়েন্ট একই রকম, তবে কিছুটা আলাদা প্রক্রিয়া ব্যবহার করুন)। একবার "ভার্চুয়াল মেমরি" সক্ষম হয়ে গেলে, প্রসেসর এই পয়েন্টারটিকে তিনটি অংশ হিসাবে বিবেচনা করে।

  • সর্বোচ্চ 10 বিট একটি পৃষ্ঠা ডিরেক্টরি এন্ট্রি ry
  • নিম্নলিখিত 10 বিট একটি পৃষ্ঠার টেবিল এন্ট্রি
  • শেষ 12 বিটগুলি পৃষ্ঠা অফসেটটি তৈরি করে

এখন, সিপিইউ যখন কোনও পয়েন্টারের বিষয়বস্তুগুলি অ্যাক্সেস করার চেষ্টা করে, এটি প্রথমে পৃষ্ঠা ডিরেক্টরি সারণীর পরামর্শ নেয় - 1024 এন্ট্রি সমন্বিত একটি টেবিল (X86 আর্কিটেকচারে সিআর 3 নিবন্ধকের দ্বারা চিহ্নিত করা হয়েছে যার অবস্থান)। 10 বিট পৃষ্ঠা ডিরেক্টরি এন্ট্রি এই টেবিলের একটি সূচক, যা পৃষ্ঠা সারণীর শারীরিক অবস্থান নির্দেশ করে । এটি, পরিবর্তে, 1024 এন্ট্রিগুলির একটি অন্য টেবিল যা প্রতিটি শারীরিক স্মৃতিশক্তির এক নির্দেশক এবং কয়েকটি গুরুত্বপূর্ণ নিয়ন্ত্রণ বিট। (আমরা পরে এগুলিতে ফিরে আসব)। একবার কোনও পৃষ্ঠা খুঁজে পাওয়া গেলে, শেষ পৃষ্ঠাগুলির মধ্যে একটি ঠিকানা খুঁজতে 12 টি বিট ব্যবহার করা হয়।

আরও অনেক বিশদ রয়েছে (টিএলবি, বড় পৃষ্ঠাগুলি, পিএই, নির্বাচক, পৃষ্ঠা সুরক্ষা) তবে উপরের সংক্ষিপ্ত বিবরণটি জিনিসটির সংক্ষেপে ধরা দেয়।

এই অনুবাদ প্রক্রিয়াটি ব্যবহার করে, একটি ওএস প্রতিটি প্রক্রিয়াটির জন্য বিভিন্ন শারীরিক পৃষ্ঠাগুলির ব্যবহার করতে পারে, সুতরাং প্রতিটি প্রক্রিয়াটি নিজের জন্য সমস্ত মেমরি থাকার মায়া দেয় (প্রতিটি প্রক্রিয়া নিজস্ব পৃষ্ঠা ডিরেক্টরি হিসাবে পায়)

এই ভার্চুয়াল মেমোরির শীর্ষে ওএস পেজিংয়ের ধারণাটি যুক্ত করতে পারে । পূর্বে আলোচিত নিয়ন্ত্রণ বিটগুলির মধ্যে একটিতে একটি এন্ট্রি "উপস্থিত" কিনা তা নির্দিষ্ট করতে দেয় to যদি এটি উপস্থিত না থাকে তবে সেই প্রবেশটি অ্যাক্সেস করার প্রয়াসের ফলে একটি পৃষ্ঠা ফল্ট ব্যতিক্রম হতে পারে। ওএস এই ব্যতিক্রম ক্যাপচার করতে পারে এবং সে অনুযায়ী কাজ করতে পারে। সোয়াপিং / পেজিং সমর্থনকারী ওএসগুলি এভাবে অদলবদল স্থান থেকে কোনও পৃষ্ঠা লোড করার , অনুবাদ টেবিলগুলি ঠিক করতে এবং তারপরে আবার মেমরি অ্যাক্সেস ইস্যু করার সিদ্ধান্ত নিতে পারে ।

ভার্চুয়াল মেমোরি এবং পেজিং দু'টি পদ একত্রিত করে এমন এক অপারেটিং সিস্টেম অদলবদলের বাইরে এবং পৃষ্ঠাগুলি পেজিং (অদলবদল) দ্বারা প্রকৃতপক্ষে উপস্থিত থাকার চেয়ে বেশি মেমরি থাকার মায়া দিতে পারে।

আপনার শেষ প্রশ্ন হিসাবে (এটি কেন বলা হয় 32 বিট সিপিইউ 4 জিবি ভার্চুয়াল মেমরির মধ্যে সীমাবদ্ধ)। এটি সংজ্ঞা 2 এর "ভার্চুয়াল মেমরি" বোঝায় এবং এটি পয়েন্টার আকারের তাত্ক্ষণিক ফলাফল। যদি সিপিইউ কেবল 32 বিট পয়েন্টার ব্যবহার করতে পারে তবে বিভিন্ন ঠিকানা প্রকাশের জন্য আপনার কাছে কেবল 32 বিট রয়েছে, এটি আপনাকে 2 ^ 32 = 4GB ঠিকানাযুক্ত মেমরি দেয়।

আশা করি এটি কিছুটা পরিষ্কার করে দেয়।


12

আইএমএইচও এটি ভার্চুয়াল মেমরির সমতুল্য অদলবদলের ধারণাটি ব্যবহার করা মারাত্মকভাবে বিভ্রান্তিকর। ভিএম স্ব্যাপ স্পেসের চেয়ে অনেক বেশি সাধারণ একটি ধারণা। অন্যান্য জিনিসের মধ্যে, ভিএম প্রসেসগুলি কার্যকর করার সময় ভার্চুয়াল ঠিকানাগুলি রেফারেন্স করার অনুমতি দেয়, যা হার্ডওয়্যার এবং পৃষ্ঠার টেবিলগুলির সমর্থন সহ ফিজিকাল ঠিকানায় অনুবাদ করা হয়। সুতরাং প্রক্রিয়াগুলি সিস্টেমের কতটা শারীরিক স্মৃতি রয়েছে বা যেখানে নির্দেশনা বা তথ্য প্রকৃতপক্ষে শারীরিক মেমরি শ্রেণিবদ্ধের বাসিন্দা সে বিষয়ে উদ্বেগ প্রকাশ করে না। ভিএম এই ম্যাপিংয়ের অনুমতি দেয়। রেফারেন্সযুক্ত আইটেম (নির্দেশ বা ডেটা) L1, বা L2, বা র‌্যামের বা অবশেষে ডিস্কের বাসিন্দা হতে পারে, যার ক্ষেত্রে এটি মূল স্মৃতিতে লোড হয়।

অদলবদল স্থানটি এটি গৌণ স্মৃতিতে ঠিক এমন একটি জায়গা যেখানে পৃষ্ঠাগুলি নিষ্ক্রিয় থাকে stored পর্যাপ্ত র‌্যাম না থাকলে ওএস অন্য প্রক্রিয়া পৃষ্ঠাগুলির জন্য জায়গা তৈরি করার জন্য কোনও প্রক্রিয়ার পৃষ্ঠাগুলি অদলবদল করার সিদ্ধান্ত নিতে পারে। প্রসেসর কখনই নির্দেশের প্রয়োগ করে না বা সোয়াপ স্পেস থেকে সরাসরি ডেটা পড়তে / লেখার কাজ করে না।

লক্ষ্য করুন যে কোনও ভিএম নেই এমন সিস্টেমে অদলবদল করা সম্ভব হবে। এটি হ'ল প্রক্রিয়াগুলি যা সরাসরি শারীরিক ঠিকানাগুলিতে অ্যাক্সেস করে, তার ডিস্কে এখনও এর অংশ থাকতে পারে।


5

যদিও থ্রেডটি বেশ পুরানো এবং ইতিমধ্যে উত্তর দেওয়া হয়েছে। এখনও এই লিঙ্কটি ভাগ করে নিতে চাই কারণ এটি এখন পর্যন্ত পাওয়া সবচেয়ে সহজ ব্যাখ্যা। নীচের লিঙ্কটি আরও ভাল ভিজুয়ালাইজেশনের জন্য চিত্র পেয়েছে got

মূল পার্থক্য: ভার্চুয়াল মেমরিটি মূল স্মৃতির একটি বিমূর্ততা। এটি একটি ডিস্কে সামগ্রী র‌্যামের নিষ্ক্রিয় অংশগুলি সংরক্ষণ করে কম্পিউটারের উপলব্ধ মেমরিটিকে প্রসারিত করে। যখনই সামগ্রীটির প্রয়োজন হয়, এটি এটিকে আবার র‍্যামে নিয়ে আসে। অদলবদল মেমরি বা অদলবদল হার্ড ডিস্ক ড্রাইভের একটি অংশ যা ভার্চুয়াল মেমরির জন্য ব্যবহৃত হয়। সুতরাং, উভয়ই পরস্পরের পরিবর্তে ব্যবহৃত হয়।

ভার্চুয়াল মেমরি শারীরিক স্মৃতি থেকে শান্ত আলাদা। প্রোগ্রামাররা শারীরিক মেমরির চেয়ে ভার্চুয়াল মেমরিতে সরাসরি অ্যাক্সেস পায়। ভার্চুয়াল মেমরি হ'ল মূল স্মৃতির একটি বিমূর্ততা। এটি সিস্টেমের আসল শারীরিক স্মৃতি সম্পর্কিত তথ্য গোপন করতে ব্যবহৃত হয়। এটি একটি ডিস্কে র‌্যামের সামগ্রীর নিষ্ক্রিয় অংশগুলি সংরক্ষণ করে কম্পিউটারের উপলব্ধ স্মৃতিটিকে প্রসারিত করে। যখন সামগ্রী প্রয়োজন হয়, এটি এটিকে আবার র‍্যামে নিয়ে আসে। ভার্চুয়াল মেমরি শূন্য দিয়ে শুরু হওয়া ঠিকানাগুলির সাথে পুরো ঠিকানা জায়গার একটি মায়া তৈরি করে। এটি মূলত এর অপ্টিমাইজেশান বৈশিষ্ট্যের জন্য পছন্দ করা হয় যার দ্বারা এটি স্থানের প্রয়োজনীয়তা হ্রাস করে। এটি উপলভ্য র‌্যাম এবং ডিস্কের স্থান নিয়ে গঠিত।

অদলবদলের মেমরিটিকে সাধারণত সোয়াপ স্পেস বলে। অদলবদল স্থানটি ভার্চুয়াল মেমরির অংশটিকে বোঝায় যা অস্থায়ী সঞ্চয় স্থান হিসাবে সংরক্ষিত। যখন উপলব্ধ র‌্যাম সিস্টেমের মেমরির প্রয়োজনীয়তা পূরণ করতে সক্ষম হয় না তখন অদলবদল স্পেস ব্যবহার করা হয়। উদাহরণস্বরূপ, লিনাক্স মেমরি সিস্টেমে, কার্নেল প্রতিটি পৃষ্ঠা দৈহিক মেমরি বা অদলবদল সন্ধান করে। কার্নেলটি একটি টেবিলও বজায় রাখে যাতে শারীরিক স্মৃতিতে অদলবদল করা পৃষ্ঠা এবং পৃষ্ঠাগুলি সম্পর্কিত তথ্য রাখা হয় regarding যে পৃষ্ঠাগুলি দীর্ঘকাল থেকে অ্যাক্সেস করা হয়নি সেগুলি অদলবদল স্থানটিতে প্রেরণ করা হয়। প্রক্রিয়া অদলবদল হিসাবে উল্লেখ করা হয়। যদি একই পৃষ্ঠাটির প্রয়োজন হয় তবে এটি একটি পৃথক পৃষ্ঠা অদলবদলের মাধ্যমে শারীরিক স্মৃতিতে সজ্জিত। এইভাবে,

ভার্চুয়াল-মেমরি এবং অদলবদল-মেমরির মধ্যে পার্থক্য


যদিও এই লিঙ্কটি প্রশ্নের উত্তর দিতে পারে, উত্তরের প্রয়োজনীয় অংশগুলি এখানে অন্তর্ভুক্ত করা এবং রেফারেন্সের জন্য লিঙ্কটি সরবরাহ করা ভাল। লিঙ্কযুক্ত পৃষ্ঠাগুলি পরিবর্তিত হলে লিঙ্ক-শুধুমাত্র উত্তরগুলি অবৈধ হতে পারে। - পর্যালোচনা থেকে
কোটলেস

ধন্যবাদ, পোস্ট উন্নত।
ram619

0

"ভার্চুয়াল মেমরি" একটি জেনেরিক শব্দ। উইন্ডোজ এটিকে পেজিং বা পৃষ্ঠা হিসাবে বলা হয়। লিনাক্সে এটিকে স্ব্যাপ নামে ডাকা হয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.