প্রশ্ন KVM এবং QEMU এর মধ্যে পার্থক্য


আমি প্রায় পড়া হয়েছে KVM এবং Qemu কিছু সময়ের জন্য. এখন পর্যন্ত আমি কি তারা একটি পরিষ্কার বোঝার আছে।

KVM গেস্ট অপারেটিং সিটেমগুলিতে স্থানীয় নেটিভ পারফরমেন্স প্রদানের জন্য হার্ডওয়্যার ভার্চুয়ালাইজেশন সমর্থন করে। অন্য দিকে QEmu লক্ষ্য অপারেটিং সিস্টেম emulates।

আমি বিভ্রান্ত করছি কি এই দুটি সমন্বয় স্তরের হয়। মত

  1. যারা র্যাম এবং / অথবা মেমরি ভাগ করে নেবেন?
  2. কে I / O অপারেশন সময়সূচী?

112
2017-12-03 08:42


উত্স




উত্তর:


QEMU:

QEmu নিজস্ব একটি সম্পূর্ণ এবং স্বতন্ত্র সফটওয়্যার। আপনি মেশিন অনুকরণ করতে এটি ব্যবহার করুন, এটা খুব নমনীয় এবং পোর্টেবল। প্রধানত এটি একটি বিশেষ 'পুনরায় কম্পাইলার' দ্বারা কাজ করে যা একটি প্রদত্ত প্রসেসরের জন্য অন্য একটিতে লিখিত বাইনারি কোড রূপান্তর করে (বলে, একটি পিপিসি ম্যাক এ MIPS কোড চালানোর জন্য, অথবা একটি x86 পিসি এআরএম চালানোর জন্য)।

প্রসেসরের চেয়ে বেশি অনুকরণ করতে, কুমু পেরিফেরাল ইমুলেটরগুলির একটি দীর্ঘ তালিকা অন্তর্ভুক্ত করে: ডিস্ক, নেটওয়ার্ক, ভিজিএ, পিসিআই, ইউএসবি, সিরিয়াল / সমান্তরাল পোর্ট ইত্যাদি।

KQemu:

নির্দিষ্ট ক্ষেত্রে যেখানে উৎস এবং লক্ষ্য উভয়ই একই আর্কিটেকচার (x86- এ x86 এর সাধারণ ক্ষেত্রে) এর মতো, কোনও 'বিশেষ নির্দেশাবলীর নির্দেশাবলী' মুছে ফেলার জন্য এবং সেগুলিকে কনটেক্সট সুইচগুলির সাথে প্রতিস্থাপন করার জন্য কোডটি পার্স করতে হবে। এটি x86 লিনাক্সে যতটা সম্ভব কার্যকর করতে, KKemu নামে একটি কার্নেল মডিউল রয়েছে যা এটি পরিচালনা করে।

একটি কার্নেল মডিউল হচ্ছে, KQemu কেবলমাত্র সর্বনিম্ন-স্তরের ring0-only নির্দেশাবলী প্রতিস্থাপন করে, সর্বাধিক কোড অপরিবর্তিত চালাতে সক্ষম। এই ক্ষেত্রে, ইউজারস্পেস Qemu এখনও এমুলেটেড মেশিনের জন্য সমস্ত RAM বরাদ্দ করে এবং কোডটি লোড করে। পার্থক্য হল কোডটি পুনরায় কম্পাইল করার পরিবর্তে, এটি কেকিমুকে স্ক্যান / প্যাচ / চালানোর জন্য কল করে। সমস্ত পেরিফেরাল হার্ডওয়্যার এমুলেশন Qemu মধ্যে সম্পন্ন করা হয়।

এটি সামান্য Qemu এর চেয়ে অনেক দ্রুত কারণ বেশিরভাগ কোড অপরিবর্তিত থাকে, তবে এখনও ring0 কোডটি (VM এর কার্নেলের বেশিরভাগ কোড) রূপান্তর করতে হয়, তাই কর্মক্ষমতা এখনও ভুগছে।

সাহায্যে KVM:

KVM কয়েকটি জিনিস: প্রথমত এটি একটি লিনাক্স কার্নেল মডিউল-এখন প্রধান লাইনটিতে অন্তর্ভুক্ত - যা প্রসেসরটিকে একটি নতুন 'গেস্ট' অবস্থানে স্যুইচ করে। গেস্ট স্টেটের রিং স্টেটগুলির নিজস্ব সেট রয়েছে, কিন্তু বিশেষভাবে রিংয়ের নির্দেশ হাইপারভাইজার কোডটিতে ফিরে আসে। যেহেতু এটি কার্যকর করার একটি নতুন প্রসেসর মোড, তাই কোডটি যে কোনওভাবে সংশোধন করতে হবে না।

প্রসেসর রাষ্ট্র সুইচিং ব্যতীত, কার্নেল মডিউল এমএমইউ রেজিস্ট্রার (ভিএম পরিচালনা করার জন্য ব্যবহৃত) এবং পিসিআই এমুলেটেড হার্ডওয়্যারের কিছু অংশ যেমন এমুলেশনটির কয়েকটি নিম্ন স্তরের অংশ পরিচালনা করে।

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

Kvm-qemu এক্সিকিউটেবল কাজগুলি স্বাভাবিক Qemu এর মত কাজ করে: RAM বরাদ্দ করে, কোড লোড করে এবং এটি পুনরায় কম্পাইল করার পরিবর্তে KQemu কল করে, এটি একটি থ্রেড স্পন করে (এটি গুরুত্বপূর্ণ)। থ্রেড KVM কার্নেল মডিউলকে অতিথি মোডে স্যুইচ করতে এবং VM কোডটি চালানোর জন্য অর্থ উপার্জন করে। একটি বিশেষ নির্দেশনায়, এটি কেভিএম কার্নেল মডিউলে ফিরে যায়, যা প্রয়োজন হলে, হার্ডওয়্যার হার্ডওয়্যারের অধিকাংশগুলি হ্যান্ডেল করতে কিউম থ্রেডকে সংকেত দেয়।

এই আর্কিটেকচারের চমৎকার জিনিসগুলির মধ্যে একটি হল গেস্ট কোডটি একটি পজিক্স থ্রেডে এমুলেটেড যা আপনি সাধারন লিনাক্স সরঞ্জামগুলির সাথে পরিচালনা করতে পারেন। যদি আপনি 2 অথবা 4 কোর সহ একটি ভিএম চান তবে, kvm-qemu 2 বা 4 টি থ্রেড তৈরি করে, তাদের প্রত্যেকটি KVM কার্নেল মডিউলটি কার্যকর করা শুরু করে। কনকুরেন্স-যদি আপনার কাছে পর্যাপ্ত রিয়েল কোর থাকে বা সময় নির্ধারণ করা হয়-যদি না হয় তবে স্বাভাবিক লিনাক্স সময়সূচী দ্বারা পরিচালিত হয়, কোডটি ছোট এবং বিস্ময় সীমিত রাখে।


155
2017-12-03 14:40



এবং আমার জন্য যারা ভিউ সমর্থন, খারাপ খবর সঙ্গে CPU আছে না (ভাল, যে «সংবাদ» বলা যেতে পারে) - KQEMU আর উবুন্টু সমর্থিত নয়। যে সমর্থন ছাড়াই সিএমইউর সাথে কাজ করে না। - Hi-Angel


একসাথে কাজ করার সময়, KVM CPU এবং মেমরি অ্যাক্সেসের মধ্যস্থতা এবং QEMU হার্ডওয়্যার সংস্থানগুলি (হার্ড ডিস্ক, ভিডিও, ইউএসবি, ইত্যাদি) emulates। একা কাজ করার সময়, QEMU CPU এবং হার্ডওয়্যার উভয় emulates।


76
2017-12-03 08:46



@ জেভিয়ারের উত্তরটি বিস্তারিত এবং অবশ্যই অবশ্যই গ্রহণযোগ্য হওয়া উচিত, তবে আপনার উত্তরটি আমাকে কয়েকটি বাক্যের মধ্যে ঠিক করে দিতে পারে যা আমাকে জানতে হবে, তাই +1 এবং ধন্যবাদ। - Bill The Ape


QEMU ধীর এবং KVM ব্যবহারকারীর জন্য সর্বোত্তম কর্মক্ষমতা প্রদানের জন্য খুব দ্রুত হার্ডওয়্যার গতি অর্জন করতে সহায়তা করার জন্য KVM রয়েছে। QEMU হাইপারভাইজার / এমুলেটর।


-1
2017-11-14 10:58