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