تنظیمات مجازی سازی در بایوس مجازی سازی سخت افزار نحوه فعال کردن مجازی سازی در بایوس نصب VirtualBox Utility

هنگام کار با محصول نرم افزاریمجازی سازی VirtualBox، اغلب مشکلات و نقص های مرتبط با نصب یک سیستم عامل خاص بر روی یک ماشین مجازی وجود دارد. دلایل بروز خطا در کار ممکن است متفاوت و با یکی از آنها باشد که بیان می کند "شتاب سخت افزاری (VT-x AMD-V) در سیستم شما موجود نیست"، در این مقاله متوجه خواهیم شد.

در این مورد، چنین مشکلی در هنگام نصب عملیات به وجود آمد سیستم های ویندوز 8، اگرچه هنگام نصب ویندوز 7، این خطا رخ نداد. چگونه می توانیم این مشکل را حل کنیم؟ در زیر بیابید.

بنابراین، اول از همه، ما باید مطمئن شویم که پردازنده از عملکرد پشتیبانی می کند VT-x/AMD-V،برای این مقاله را بخوانید چگونه بررسی کنیم که آیا پردازنده شما از مجازی سازی سخت افزاری Intel VT-x / VT-d و AMD-V پشتیبانی می کند یا خیر.و برای فعال کردن آن، باید به بایوس مادربردهزینه ها برای این کار کامپیوتر را ریستارت کرده و به بایوس سیستم خود می رویم.

به منظور رفتن به BIOS، هنگام روشن کردن رایانه باید کلید را فشار دهیم حذفروی صفحه کلید (اگر با کلید وارد نشود حذفتلاش كردن F1, F2) وقتی رایانه را در صفحه اولیه روشن می کنید، معمولاً می توانید ببینید که به کدام کلید منتهی می شود BIOS.

در نتیجه وارد بایوس کامپیوتر خود می شویم. بعد، برگه را انتخاب کنید پیشرفته". در آنجا ما برگه " پیکربندی CPU"آن را انتخاب کنید و " را فشار دهید وارد"

به منوی پیکربندی می رسیم، جایی که برگه را می بینیم "حالت ماشین مجازی امن"،مقابل مقدار است "معلول"،که به معنی غیر فعال است، فقط باید آن را فعال کنیم، برای این کار روی تب کلیک کرده و مقدار را انتخاب می کنیم "فعال شد".

همانطور که در شکل می بینیم مقدار تغییر کرده است، اکنون باید تغییرات را ذخیره کنیم.

برای ذخیره تغییرات، به تب بروید "خروج"،سپس برگه را انتخاب کنید خروج و ذخیره تغییراتدر پنجره باز شده جایی که از ما خواسته می شود تغییرات انجام شده را ذخیره کنیم، کلیک کنید "خوب"و منتظر بمانید تا کامپیوتر دوباره راه اندازی شود.

بعد، برنامه VirtualBox را باز کنید، به " تنظیمات"سیستمی که می خواستند نصب کنند، در مورد من ویندوز 8.1 است. روی " کلیک کنید " سیستم"، به علاوه "شتاب"،کادرهای کنار موارد مشخص شده در تصویر را علامت بزنید و کلیک کنید خوب.

همه چيز! خطا دیگر ظاهر نمی شود، می توانید نصب را شروع کنید.

O نظر خود را در مورد این مقاله بیان کنید و البته اگر ناگهان مشکلی برای شما پیش آمد، سوالات خود را بپرسید.

با تشکر از توجه شما!

سلام به همه! اکنون در مورد چنین موضوع گیج کننده ای صحبت خواهیم کرد که به نظر می رسد: چگونه مجازی سازی را در BIOS فعال کنیم. ما همچنین سعی خواهیم کرد بفهمیم که چرا، به طور کلی، این کار باید انجام شود.

بنابراین، دوستان من، صحبت می کنند به زبان ساده، پس این فناوری برای عملکرد ماشین های مجازی نرم افزاری و شبیه سازهای مختلف مورد نیاز است. با کمک آن، سرعت چنین نرم افزاری به طور قابل توجهی افزایش می یابد.

و این چیزی نیست جز فراخوانی برای روشن کردن این مجازی سازی لعنتی. از این گذشته ، این فناوری به اختصار VT-x یا AMD-V است. همه چیز بستگی به فرآیند سازنده ای دارد که از آن استفاده می شود.

خوب، بیایید سعی کنیم اولین قدم ها را در مسیر درست برداریم. اول از همه، ما باید وارد BIOS شویم تا در واقع این عملکرد را فعال کنیم. بنابراین از حرف تا عمل.

البته لازم به ذکر است که هر سازنده می تواند BIOS و بخش هایی را در آن وارد کند. اما برای وضوح و به عنوان مثال، همه اقدامات بعدیروی لپ تاپ لنوو نشان داده خواهد شد.

بنابراین، وارد می شویم و بلافاصله بخش "پیکربندی" را دنبال می کنیم. در آنجا آیتم "Intel Virtual Technology" مورد نیاز خود را پیدا می کنیم و با انتخاب مقدار "Enable" آن را فعال می کنیم:

این همه، در حال حاضر مجازی سازی در بایوس فعال است، می توانید از آن استفاده کنید. فقط برای ذخیره تغییرات باقی مانده است. برای انجام این کار، بخش "خروج" را دنبال کنید و مورد "خروج از ذخیره تغییرات" را انتخاب کنید:

اما در پایان، بیایید کمی در مورد یک تفاوت ظریف نه چندان دلپذیر که ممکن است با آن مواجه شوید، از جمله فناوری توضیح داده شده در بالا صحبت کنیم. موضوع این است که برخی از سازندگان آن را به طور پیش فرض مسدود می کنند.

یعنی سخت افزار کامپیوتر می تواند مجازی سازی را پشتیبانی کند، اما بایوس قادر به فعال سازی آیتم مورد نظر نخواهد بود. در این صورت، افسوس، پیاده شدن با خون کم کارساز نخواهد بود.

اطلاعات زیادی در مورد نحوه حذف چنین بلوکی در وب وجود دارد. اما بلافاصله باید بگوییم که به وضوح برای یک کاربر معمولی طراحی نشده است، زیرا به دانش کامپیوتر خاصی نیاز دارد:

و داستان ما در مورد گنجاندن مجازی سازی رو به پایان است. اگر سوالی دارید، لطفاً در نظرات مقاله بپرسید. و به همه کنجکاوها، اکنون به شما پیشنهاد می کنیم یک ویدیوی بسیار جالب را تماشا کنید.

نحوه فعال کردن مجازی سازی در BIOS - احتمالاً قبلاً این سؤال را پرسیده اید. سایر کاربران ممکن است نام فناوری مجازی سازی را شنیده باشند، اما ندانند که چه مزایایی دارد و چیست. ما سعی خواهیم کرد در این مقاله به این سؤالات بپردازیم.

اول از همه، مفهوم مجازی سازی به چه معناست؟ تحت مجازی سازی در فناوری رایانهدلالت بر مدل سازی سخت افزار با روش های نرم افزاری دارد. با کمک فناوری مجازی سازی، می توانید چندین کامپیوتر مجازی، یعنی شبیه سازی شده با نرم افزار، تنها با استفاده از یک کامپیوتر فیزیکی به اندازه کافی قدرتمند ایجاد کنید.

مزایای کلیدی مجازی سازی:

  • بهبود کارایی استفاده از سخت افزار
  • کاهش هزینه های مواد
  • بهینه سازی تخصیص منابع
  • بهبود ایمنی کار
  • مدیریت ساده شده
  • بهبود قابلیت اطمینان

برای ایجاد سیستم های مجازی از نرم افزار خاصی به نام Hypervisor استفاده می شود. با این حال، به دلیل تعدادی از ویژگی‌های پردازنده‌های معماری قدیمی اینتل، هایپروایزر قادر به استفاده حداکثری از آنها نبود. قدرت پردازشبرای ایجاد ماشین های مجازی

بنابراین، توسعه دهندگان پیشرو پردازنده های رایانه شخصی، اینتل و AMD، چیزی را توسعه داده اند که به عنوان فناوری مجازی سازی سخت افزار شناخته می شود، که عملکرد پردازنده ها را به گونه ای بهینه می کند که کارایی نرم افزار مجازی سازی را به میزان قابل توجهی افزایش دهد. نوع فناوری پشتیبانی مجازی سازی سخت افزار اینتل Intel-VT نام دارد و نوع AMD AMD-V است.

پشتیبانی از مجازی سازی

از آنجایی که فناوری مجازی سازی سخت افزاری در CPU تعبیه شده است، برای اینکه کاربر بتواند مزایای مجازی سازی را به حداکثر برساند، لازم است رایانه وی از آن پشتیبانی کند. این تکنولوژیدر سطح پردازنده علاوه بر این، این فناوری باید توسط BIOS و سیستم عامل نیز پشتیبانی شود. در بایوس‌هایی که از مجازی‌سازی سخت‌افزاری پشتیبانی می‌کنند، کاربر می‌تواند پشتیبانی مجازی‌سازی را در راه‌اندازی بایوس فعال یا غیرفعال کند. لطفاً توجه داشته باشید که چیپ‌ست‌هایی برای مادربردهای مبتنی بر پردازنده‌های AMD وجود دارد که پشتیبانی مجازی‌سازی را نمی‌توان غیرفعال کرد.

فعال کردن مجازی سازی در بایوس

بنابراین، چگونه مجازی سازی را در بایوس فعال کنیم؟ برای فعال یا غیرفعال کردن مجازی سازی در BIOS، یک گزینه ویژه Virtualization Technology وجود دارد. معمولاً می توانید این گزینه را در قسمت های BIOS Chipset یا Processor پیدا کنید.

به طور معمول، تنظیم مقدار روی Enabled مجازی سازی سخت افزار را فعال می کند و با تنظیم آن بر روی Disabled آن را غیرفعال می کند. به خاطر داشته باشید که فعال کردن این گزینه فقط بر عملکرد ماشین های مجازی که در Hypervisor اجرا می شوند تأثیر می گذارد و بر عملکرد برنامه های معمولی سیستم عامل تأثیر نمی گذارد. ما این گزینه را با جزئیات بیشتری در مقاله مربوطه مورد بحث قرار دادیم.

نتیجه

مجازی‌سازی ابزاری قدرتمند است که به شما امکان می‌دهد قابلیت‌های سیستم‌های رایانه‌ای را گسترش داده و به بهترین شکل از امکانات موجود استفاده کنید. سخت افزار. اکثر رایانه های مدرن راه حل هایی در پردازنده تعبیه شده اند که به آنها امکان می دهد عملکرد خود را هنگام استفاده از ماشین های مجازی افزایش دهند. علاوه بر این، اکثر کامپیوترها بر اساس پردازنده های اینتلو AMD توانایی پیکربندی پشتیبانی برای مجازی سازی سخت افزار را دارند.

امروزه تعداد فزاینده ای از سیستم های کامپیوتری مدرن توجه خود را به فناوری های مجازی سازی معطوف کرده اند. درست است، همه نمی دانند که چه چیزی چیست، چرا به آن نیاز است و چگونه می توان مسائل مربوط به گنجاندن یا استفاده عملی آن را حل کرد. اکنون نحوه فعال کردن مجازی سازی در BIOS با ساده ترین روش در نظر گرفته خواهد شد. ما فوراً متذکر می شویم که این تکنیک کاملاً برای همه سیستم های موجود، به ویژه برای BIOS و سیستم UEFI که جایگزین آن شده است، قابل استفاده است.

مجازی سازی چیست و چرا به آن نیاز است؟

قبل از اینکه به حل مستقیم مشکل، نحوه فعال کردن مجازی سازی در بایوس بپردازیم، بیایید ببینیم این فناوری چیست و چرا به آن نیاز است.

این فناوری به خودی خود برای استفاده در هر سیستم عامل به اصطلاح ماشین های مجازی در نظر گرفته شده است که می تواند کامپیوترهای واقعی را با تمام اجزای سخت افزاری و نرم افزاری آنها تقلید کند. به عبارت دیگر در سیستم اصلی می توان با انتخاب پردازنده یک کامپیوتر مجازی ایجاد کرد. حافظه دسترسی تصادفی، ویدئو و کارت صدا، آداپتور شبکه, هارد دیسک، رسانه های نوری، و خدا می داند چه چیز دیگری، از جمله نصب یک مهمان (کودک) "OS"، که هیچ تفاوتی با یک ترمینال کامپیوتر واقعی نخواهد داشت.

انواع فناوری ها

اگر کسی نمی داند، فناوری های مجازی سازی توسط تولید کنندگان پیشرو پردازنده - شرکت های Intel و AMD ایجاد شده است، که حتی امروز نمی توانند در این زمینه کف دست خود را به اشتراک بگذارند. در طلوع عصر، هایپروایزر ایجاد شده ( نرم افزاربرای مدیریت ماشین های مجازی) از اینتل تمام الزامات را از نظر عملکرد برآورده نمی کرد، به همین دلیل توسعه پشتیبانی از سیستم های مجازی آغاز شد، که قرار بود در خود تراشه های پردازنده "هارد سیم" شوند.

اینتل این فناوری را Intel-VT-x و AMD آن را AMD-V نامید. بنابراین، پشتیبانی کار را بهینه کرده است CPUبدون اینکه سیستم اصلی را تحت تاثیر قرار دهد.

ناگفته نماند که فعال کردن این گزینه در از پیش تنظیم شده استبایوس فقط در صورتی باید استفاده شود که یک ماشین مجازی برای استفاده در ماشین فیزیکی در نظر گرفته شده باشد، به عنوان مثال، برای آزمایش برنامه ها یا پیش بینی رفتار سیستم کامپیوتریبا اجزای مختلف "آهن" پس از نصب یک سیستم عامل خاص. در غیر این صورت، چنین پشتیبانی ممکن است مورد استفاده قرار نگیرد. علاوه بر این، به طور کلی به طور پیش فرض غیرفعال است و همانطور که قبلا ذکر شد، هیچ تاثیری بر عملکرد سیستم اصلی ندارد.

ورود به BIOS

در مورد سیستم های BIOS یا UEFI، هر کامپیوتر یا لپ تاپ بدون در نظر گرفتن پیچیدگی تجهیزات نصب شده، آنها را دارد. خود بایوس روی کامپیوتر یک تراشه کوچک است مادربرد، که وظیفه تست سخت افزار را در لحظه روشن شدن ترمینال بر عهده دارد. در آن، با وجود حافظه تنها حدود 1 مگابایت، تنظیمات و ویژگی های اصلی تجهیزات ذخیره می شود.

بسته به نسخه های بایوسیا سازنده، ورود را می توان به روش های مختلف انجام داد. رایج ترین استفاده از کلید دل بلافاصله پس از روشن کردن کامپیوتر یا لپ تاپ است. با این حال، روش های دیگری مانند کلیدهای F2، F12 و غیره وجود دارد.

چگونه مجازی سازی را در بایوس به ساده ترین روش فعال کنیم؟

حال اجازه دهید چند پارامتر و منوی اصلی را تعریف کنیم. ما از این واقعیت شروع می کنیم که ورودی BIOS در رایانه قبلاً ساخته شده است. چندین بخش اصلی در اینجا وجود دارد، اما در این مورد ما به همه چیز مربوط به تراشه پردازنده علاقه مند هستیم.

معمولاً چنین گزینه هایی در منوی تنظیمات پیشرفته (Advanced) یا در بخش امنیتی (Security) قرار دارند. آنها همچنین می توانند متفاوت نامیده شوند، اما، به عنوان یک قاعده، چیزی شبیه پردازنده یا چیپست BIOS است (اگرچه ممکن است نام های دیگری نیز وجود داشته باشد).

بنابراین، اکنون این سوال که چگونه مجازی سازی را در BIOS فعال کنیم، می تواند از نزدیک مورد بررسی قرار گیرد. در بخش های بالا، خط ویژه فناوری مجازی سازی وجود دارد (در مورد اینتل، نام شرکت به نام اصلی اضافه می شود). وقتی وارد منوی مربوطه می شوید، دو گزینه های موجود: فعال و غیرفعال است. همانطور که قبلاً مشخص است، اولی حالت مجازی سازی فعال است، دومی خاموش شدن کامل است.

همین امر در مورد سیستم UEFI نیز صدق می کند که در آن گنجاندن این گزینه به روشی کاملاً مشابه انجام می شود.

اکنون که تنظیمات BIOS روی پارامتر حالت فعال اعمال شده است، تنها چیزی که باقی می‌ماند این است که تغییرات را ذخیره کنید (F10 یا دستور Save & Exit Setup)، کلید تأیید Y مربوط به کلمه انگلیسی Yes را فشار دهید. راه اندازی مجدد سیستم با پارامترهای تازه ذخیره شده به طور خودکار شروع می شود.

به جز این چه چیزهایی باید بدانید؟

همانطور که می بینید، روش فعال کردن مجازی سازی در BIOS بسیار ساده است. با این حال، در اینجا باید برخی از نکات ظریف مرتبط با غیرفعال کردن احتمالی این عملکرد را در نظر بگیرید. واقعیت این است که هنگام استفاده از ماشین‌های مجازی مانند WMware Virtual Machine، Virtual PC، VirtualBox یا حتی ماژول "بومی" مایکروسافت به نام Hyper-V، این گزینه باید بدون نقص حتی با پشتیبانی فعال فعال شود. اجزای ویندوزمستقیماً در تنظیمات سیستم

در بیشتر موارد، این در مورد تغییرات جدیدتر ویندوز، که با "هفت" شروع می شود، صدق می کند. در "Exp" یا "Vista" این یک پیش نیاز نیست. اگر چه اگر چنین "OS" ها بر روی آخرین "آهن" نصب شده باشند، ممکن است شامل پشتیبانی نیز مورد نیاز باشد. با این حال، بعید است که کاربر در چنین ماشینی یک "OS" از نظر اخلاقی منسوخ را نصب کند که اجازه نمی دهد حداکثر آنچه را که می تواند از سخت افزار رایانه "بیرون" کند. بنابراین بهتر است از جدیدترین اجزای "آهن" در ترکیب با نه تنها بیشترین استفاده کنید آخرین نسخه هاسیستم‌های عامل، اما حتی با سیستم‌های تشخیصی و کنترل‌های UEFI که جایگزین بایوس‌هایی شده‌اند که برای مدت طولانی کار کرده است.

fb.ru

چگونه مجازی سازی سخت افزار را در بایوس فعال کنیم؟ فناوری مجازی سازی - فناوری مجازی سازی سخت افزار سیستم عامل مهمان (همراه با عکس) - راه اندازی بایوس

گزینه فناوری مجازی سازی فعال کردن این گزینه، فناوری مجازی سازی سخت افزار را بر اساس معماری ویژه پردازنده فعال می کند. بر خلاف مجازی سازی نرم افزار، با استفاده از این تکنیک می توان از سیستم های مهمان ایزوله (ماشین های مجازی - VMware، Virtual PC و غیره) که مستقیماً توسط Hypervisor کنترل می شوند، استفاده کرد. سیستم مهمان مستقل از معماری پلتفرم میزبان و پیاده سازی بستر مجازی سازی است.

این گزینه عملاً هیچ تأثیری بر عملکرد برنامه های کاربر در یک سیستم عامل استاندارد ندارد.

مقادیر گزینه:

این گزینه ممکن است نام های دیگری نیز داشته باشد:

  • فناوری مجازی سازی
  • فناوری Vanderpool
  • فناوری VT
  • مجازی سازی

نکته 1. مجازی سازی سخت افزار با پشتیبانی از معماری پردازنده خاص. مجازی سازی سخت افزار عملکردی قابل مقایسه با عملکرد یک ماشین غیر مجازی را ارائه می دهد که مجازی سازی را عملی می کند و منجر به پذیرش گسترده آن می شود. رایج ترین فناوری های مجازی سازی Intel-VT و AMD-V هستند.

  1. Intel VT (Intel Virtualization Technology) مجازی سازی حالت آدرس واقعی (حالت سازگاری 8086) را پیاده سازی می کند. مجازی سازی ورودی/خروجی سخت افزار مربوطه VT-d است. اغلب با نام اختصاری VMX (Virtual Machine Extension) نامیده می شود. نام رمز - Vanderpool.
  2. AMD-V اغلب به اختصار SVM (ماشین های مجازی امن) نامیده می شود. نام رمز - پاسیفیکا. فناوری مجازی سازی I/O مربوطه IOMMU است. AMD-V ساده تر و کارآمدتر از Intel VT است. پشتیبانی از AMD-V در Xen 3.3 معرفی شد.

Intel VT (تکنولوژی مجازی سازی اینتل) - فناوری مجازی سازی اینتل چیست؟

اینتل VT پایه سخت افزاری است ایجاد برنامهمجازی سازی با کاهش اندازه، هزینه و پیچیدگی آن. به عنوان مثال، هنگام استفاده از چنین سیستم های کش، سیستم I / O. عمدتا توسط کاربران در بخش های شرکتی، ابری، ارتباطات استفاده می شود.

VT-x در 13 نوامبر 2005، اینتل دو مدل پنتیوم 4 (مدل های 662 و 672) را عرضه کرد که اولین پردازنده هایی بودند که از VT-x ("Vanderpool") پشتیبانی می کردند. VT-x فناوری مجازی سازی حالت آدرس واقعی اینتل در پلتفرم x86 - VMX (Virtual Machine Extension) است.

مجازی سازی حالت آدرس دهی واقعی (حالت سازگاری با 8086).

VT-d (فناوری مجازی سازی برای ورودی/خروجی مستقیم) یک فناوری مجازی سازی سخت افزاری ورودی/خروجی است که علاوه بر فناوری مجازی سازی محاسباتی VT-x توسط اینتل ایجاد شده است. مجازی‌سازی I/O به شما امکان می‌دهد دستگاه‌ها را به باس PCI(و اتوبوس های مشابه مدرن تر) را وارد سیستم عامل مهمان کنید تا بتواند با استفاده از ابزارهای معمولی خود با آن کار کند. برای اینکه این امکان پذیر باشد، در مدارهای منطقیبرد سیستم از یک واحد مدیریت حافظه ورودی/خروجی اختصاصی (IOMMU) استفاده می‌کند که شبیه به CPU MMU کار می‌کند، با استفاده از جداول صفحه و یک جدول مجدد نقشه‌برداری DMA (DMAR) که هایپروایزر از طریق ACPI از بایوس دریافت می‌کند. نقشه برداری DMA ضروری است زیرا هایپروایزر چیزی در مورد ویژگی های دستگاه با حافظه در آدرس های فیزیکی که فقط برای راننده شناخته شده است نمی داند. با استفاده از DMAR، جداول نقشه برداری را به گونه ای ایجاد می کند که درایور سیستم عامل مهمان آدرس های مجازی IOMMU را به همان شکلی که آدرس های فیزیکی را بدون آن و هایپروایزر مشاهده می کند، می بیند.

فناوری مجازی سازی اینتل برای ورودی/خروجی مستقیم (VT-d) گام مهم بعدی به سمت پشتیبانی سخت افزاری جامع برای مجازی سازی پلتفرم است. مبتنی بر اینتل. VT-d فناوری مجازی سازی (VT) موجود در IA-32 (VT-x) و Itanium (VT-i) را گسترش می دهد و پشتیبانی مجازی سازی را برای دستگاه های ورودی/خروجی جدید اضافه می کند. بیشتر بدانید سمت فنیسوال می تواند اینجا باشد https://ru.wikipedia.org/wiki/

راه اندازی BIOS توسط AWARD Software International Inc بر روی مادربردهای GIGABYTE TECHNOLOGY

پیش فرض مجازی سازی

معنی احتمالی:

تعیین گزینه BIOS توضیحات گزینه BIOS ترجمه شده مقدار گزینه BIOS

فناوری مجازی سازی به کمک سخت افزار که به بهبود عملکرد سیستم در حال اجرا نرم افزار ماشین VirtuaI کمک می کند.

ماشین مجازی به چندین سیستم عامل به طور همزمان روی یک کامپیوتر اجازه می دهد.

سخت افزار برای کمک به VirtuaIization یک فناوری است که به بهبود عملکرد سیستم در حال اجرا بر روی یک ماشین VirtuaI کمک می کند.

یک ماشین مجازی به شما امکان می دهد چندین سیستم عامل را همزمان بر روی یک کامپیوتر با بهره وری بیشتری اجرا کنید.

از فناوری مجازی سازی سخت افزار مبتنی بر معماری پردازنده سفارشی استفاده نکنید.

شامل فناوری مجازی سازی سخت افزار مبتنی بر معماری ویژه پردازنده است.

Aptio Setup Utility - BIOS توسط American Megatrends Inc در مادربردهای Dell Inc.

نام این گزینه برای این سازنده در این نسخه بایوس (لپ تاپ):

پیش فرض مجازی سازی

معنی احتمالی:

ابزار راه اندازی BIOS Insydeh30 توسط نرم افزار Insyde در مادربردهای شرکت Hewlett-Packard (HP)

نام این گزینه از این سازنده در این نسخه بایوس:

پیش فرض فناوری مجازی سازی

این گزینه در برگه است: "پیکربندی سیستم"

www.NastrojkaBios.ru

چگونه بررسی کنیم که آیا پردازنده شما از مجازی سازی سخت افزاری Intel VT-x/VT-d و AMD-V پشتیبانی می کند یا خیر

اکنون مشخص شده است که برای اجرای ماشین های مجازی مانند VirtualBox و VirtualBox به پشتیبانی از مجازی سازی سخت افزار Intel VT-x/VT-d و AMD-V نیاز است. ایستگاه کاری VMware، و همچنین برای عملکرد برنامه های به اصطلاح شبیه ساز برای سیستم عامل های تلفن همراه، به عنوان مثال، برای سیستم عامل اندروید.

امروزه تقریباً همه رایانه های مدرن از این فناوری پشتیبانی می کنند، اما البته هستند کسانی که پشتیبانی نمی کنند. و برای اینکه بفهمیم پردازنده ما از این فناوری پشتیبانی می کند یا نه، ابتدا وارد بایوس کامپیوترمان می شویم و ببینیم آیا تنظیماتی وجود دارد که مورد علاقه ما باشد یا خیر. من چند نمونه از ظاهر مورد فعال مجازی سازی را به مقاله اضافه کردم نسخه های مختلف BIOS. اصولاً فعال کردن این گزینه در تب advanced است، سپس همانطور که در تصویر زیر می بینید، تحت نام Intel virtualization technology و مخفی کردن اثبات اینکه این کامپیوتراز این فناوری پشتیبانی می کند.

در این نسخه بایوس به تب ویژگی های پیشرفته بایوس بروید که در آیتم مجازی سازی نیز شاهد پشتیبانی از این فناوری هستیم.

و در اینجا، در آیتم ویژگی های پیشرفته BIOS، می توانید ببینید که مجازی سازی سخت افزار توسط پردازنده پشتیبانی می شود.

خب گزینه آخر که در تب advanced در آیتم حالت امن ماشین مجازی هم می توانیم این فناوری را فعال کنیم.

اما مواردی هم وجود دارد که در بایوس کامپیوتر ما گزینه ای برای فعال کردن حالت مجازی مجازی سازی سخت افزاری یا فناوری مجازی سازی اینتل وجود ندارد، اگرچه می گویند پردازنده ای که در رایانه شما است از این فناوری پشتیبانی می کند. برای تأیید این موضوع، یک ابزار کوچک به نام SecurAble به ما کمک می کند، که به دقت نشان می دهد که آیا پردازنده ما از مجازی سازی سخت افزار پشتیبانی می کند یا خیر. ما به وب سایت رسمی سازنده در پیوند https://www.grc.com/securable.htm می رویم، جایی که در پایین بر روی مورد Download Now کلیک می کنیم. دانلود شروع می شود، پس از راه اندازی برنامه، نیازی به نصب آن ندارید، زیرا این یک نسخه قابل حمل است.

پس از شروع، برنامه بلافاصله اطلاعاتی در مورد اینکه آیا پردازنده شما از فناوری مجازی سازی پشتیبانی می کند یا نه نشان می دهد. این را می توانید در بلوک سوم ببینید. همانطور که ممکن است حدس بزنید، اگر کتیبه بله وجود دارد، پس پشتیبانی وجود دارد.

اگر Locked OFF نوشته شده باشد به این معنی است که پشتیبانی از این فناوری وجود دارد اما باید فعال شود. و همانطور که قبلاً می دانیم در BIOS رایانه ما روشن می شود.

خوب، اگر بلوک دارای نوشته NO باشد، فناوری مجازی سازی سخت افزار توسط پردازنده شما پشتیبانی نمی شود.

نظر خود را در مورد این مقاله بیان کنید و البته اگر ناگهان مشکلی برای شما پیش آمد، سوالات خود را بپرسید.

با تشکر از توجه شما!

ITremont.info

مجازی سازی سخت افزار تئوری، واقعیت و پشتیبانی در معماری پردازنده

در این پست سعی می کنم دلایل و ویژگی های استفاده از پشتیبانی سخت افزاری برای مجازی سازی کامپیوتر را شرح دهم. من با تعریف سه شرط لازم برای مجازی سازی و تدوین مبانی نظری برای دستیابی به آنها شروع می کنم. سپس به توضیح چگونگی انعکاس این نظریه در واقعیت خشن خواهم پرداخت. به عنوان مثال، به طور خلاصه توضیح خواهد داد که چگونه فروشندگان مختلف پردازنده های معماری های مختلف مجازی سازی را در محصولات خود پیاده سازی کرده اند. در پایان به موضوع مجازی سازی بازگشتی پرداخته خواهد شد. اول - چند تعاریف، شاید برای مقالاتی در این موضوع کاملا معمولی نباشد، اما در این یادداشت استفاده شده است.
  • میزبان - یک سیستم سخت افزاری که یک مانیتور یا شبیه ساز ماشین مجازی را اجرا می کند.
  • مهمان (مهمان انگلیسی) - یک سیستم مجازی یا شبیه سازی شده که تحت کنترل یک مانیتور یا شبیه ساز اجرا می شود. همچنین گاهی اوقات به عنوان سیستم هدف نیز نامیده می شود.
من سعی خواهم کرد بقیه اصطلاحات را همانطور که در متن آمده است تعریف کنم. مجازی‌سازی حتی قبل از اختراع ریزپردازنده‌ها مورد توجه بود، در زمانی که سیستم‌های بزرگ تسلط داشتند - مین‌فریم‌هایی که منابع آن‌ها بسیار گران بودند و زمان از کار افتادگی آنها از نظر اقتصادی غیرقابل قبول بود. مجازی سازی امکان افزایش درجه استفاده از چنین سیستم هایی را فراهم می کند، در حالی که کاربران و برنامه نویسان برنامه را از نیاز به بازنویسی نرم افزار خود نجات می دهد، زیرا از دیدگاه آنها ماشین مجازی با ماشین فیزیکی یکسان بود. پیشگام در این زمینه، آی‌بی‌ام با پردازنده‌های مرکزی System/360 و System/370 بود که در دهه‌های 1960 و 1970 ایجاد شد. جای تعجب نیست که معیارهای ایجاد یک مانیتور ماشین مجازی موثر تقریباً در همان زمان به دست آمد. آنها در کار کلاسیک 1974 "الزامات رسمی برای معماری های نسل سوم مجازی سازی" توسط جرالد پوپک و رابرت گلدبرگ فرموله شده اند. اجازه دهید مقدمات اصلی آن را در نظر بگیریم و نتیجه اصلی آن را تدوین کنیم. در ادامه، یک نمایش ساده از یک کامپیوتر "استاندارد" از مقاله استفاده شده است که از یک پردازنده مرکزی و حافظه دسترسی تصادفی همگن خطی تشکیل شده است. دستگاه های جانبی و همچنین ابزارهای تعامل با آنها حذف شده اند. پردازنده از دو حالت کار پشتیبانی می کند: حالت سرپرست که توسط سیستم عامل استفاده می شود و حالت کاربر که در آن برنامه های کاربردی اجرا می شوند. حافظه از حالت تقسیم بندی که برای سازماندهی حافظه مجازی استفاده می شود پشتیبانی می کند. الزامات مانیتور ماشین مجازی (VM):
  1. جداسازی - هر ماشین مجازی فقط باید به منابعی که به آن اختصاص داده شده است دسترسی داشته باشد. نباید بر عملکرد مانیتور و سایر ماشین های مجازی تأثیر بگذارد.
  2. معادل - هر برنامه ای که تحت کنترل یک VM اجرا می شود باید رفتاری کاملاً مشابه با اجرای آن در یک سیستم واقعی نشان دهد، به استثنای اثرات ناشی از دو شرایط: تفاوت در مقدار منابع موجود (به عنوان مثال، VM). ممکن است حافظه کمتری داشته باشد) و مدت زمان عملیات (از -برای امکان اشتراک زمان اجرا با ماشین های مجازی دیگر).
  3. کارایی - در کار اصلی، شرایط به صورت زیر فرموله می شود: "یک زیرمجموعه آماری غالب از دستورالعمل های پردازنده مجازی باید مستقیماً توسط پردازنده میزبان و بدون دخالت مانیتور VM اجرا شود." به عبارت دیگر بخش قابل توجهی از دستورالعمل ها باید در حالت اجرای مستقیم شبیه سازی شوند. شرط کارایی بحث برانگیزترین مورد از این سه الزام است و بعداً به آن باز خواهیم گشت. در مورد شبیه سازهای مبتنی بر تفسیر دستورالعمل ها، شرط بهره وری برآورده نمی شود، زیرا هر دستورالعمل مهمان نیاز به پردازش توسط شبیه ساز دارد.
حالت پردازنده حداقل سه رجیستر دارد: M، که تعیین می کند در حالت سرپرست s یا کاربر u، P نشانگر دستورالعمل فعلی، و R حالتی است که مرزهای بخش حافظه مورد استفاده را تعیین می کند (در ساده ترین حالت). ، R یک قطعه را مشخص می کند، یعنی R = (l,b)، که در آن l آدرس ابتدای محدوده است، b طول آن است. حافظه E متشکل از تعداد ثابتی سلول است که با عدد t آنها قابل دسترسی است، به عنوان مثال E[t]. اندازه حافظه و سلول ها برای این در نظر گرفتن قابل توجه نیست.

وقتی اجرا شد، هر دستور من وارد می شود مورد کلیمی تواند هر دو (M، P، R) و حافظه E را تغییر دهد، یعنی. این یک تابع تبدیل است: (M1,P1,R1,E1) -> (M2,P2,R2,E2).

اعتقاد بر این است که برای برخی از شرایط ورودی، اگر در نتیجه اجرای آن، محتویات حافظه تغییر نکند، یک دستورالعمل باعث ایجاد استثنای دام می شود، به جز تنها سلول E، که در آن وضعیت قبلی پردازنده (M1، P1,R1) قرار داده شده است. حالت جدید پردازنده (M2, P2, R2) از E کپی شده است. به عبارت دیگر، تله به شما اجازه می دهد تا وضعیت کامل برنامه را در لحظه قبل از شروع اجرای آخرین دستور آن ذخیره کنید و کنترل را به آن منتقل کنید. کنترل کننده، در مورد سیستم های معمولی، معمولاً در حالت سرپرست کار می کند و برای ارائه اقدامات اضافی بر روی وضعیت سیستم طراحی شده و سپس کنترل را به برنامه برمی گرداند و حالت را از E باز می گرداند. علاوه بر این، تله ها می توانند دو ویژگی داشته باشند.

  1. ناشی از تلاش برای تغییر وضعیت پردازنده (کنترل تله جریان).
  2. دسترسی به محتویات حافظه خارج از محدوده تعریف شده در (تله حفاظت از حافظه).
توجه داشته باشید که این ویژگی ها متقابل نیستند. یعنی نتیجه اجرا می تواند هم تله جریان کنترل باشد و هم محافظت از حافظه. دستورالعمل های ماشین پردازنده مورد نظر را می توان به صورت زیر طبقه بندی کرد:
  • ممتاز (انگلیسی ممتاز). دستورالعمل هایی که اجرای آنها با M = u همیشه باعث ایجاد یک تله جریان کنترل می شود. به عبارت دیگر، چنین دستوری فقط در حالت سرپرست قابل اجرا است، در غیر این صورت لزوماً یک استثنا ایجاد می کند.
  • سرویس (eng. sensitive. من اصطلاح روسی تثبیت شده برای این مفهوم را نمی دانم. گاهی اوقات در ادبیات ترجمه دستورالعمل های "حساس" وجود دارد). کلاس دارای دو زیر کلاس است. 1-دستورالعمل هایی که بدون تله حفاظت از حافظه به پایان رسید و باعث تغییر M و/یا R شد. آنها می توانند حالت پردازنده را از سرپرست به کاربر یا برعکس تغییر دهند یا موقعیت و اندازه بخش حافظه موجود را تغییر دهند. 2. دستورالعمل هایی که رفتار آنها وقتی باعث ایجاد تله حفاظتی حافظه نمی شود یا به حالت M یا به مقدار R بستگی دارد.
  • بی ضرر (به انگلیسی innocuous). غیر رسمی. گسترده‌ترین دسته دستورالعمل‌هایی که چیزی غیر از اشاره‌گر دستورالعمل P و حافظه E را دستکاری نمی‌کنند، که رفتار آن‌ها به حالت یا آدرس حافظه که در آن قرار دارند بستگی ندارد.
مطابقت با سه شرط فرموله شده در بالا برای امکان ساخت مانیتور ماشین مجازی در جمله زیر آورده شده است: مجموعه دستورالعمل های سرویس زیرمجموعه دستورالعمل های ممتاز است (شکل 1). با حذف اثبات رسمی قضیه 1 از مقاله، به شرایط زیر توجه می کنیم.
  • جداسازی با قرار دادن مانیتور در حالت سرپرست و VM فقط در حالت کاربر ارائه می شود. در عین حال ، دومی نمی تواند خودسرانه منابع سیستم را تغییر دهد - تلاش باعث ایجاد تله جریان کنترل در دستورالعمل سرویس و انتقال به مانیتور و همچنین حافظه می شود زیرا پیکربندی این امکان را نمی دهد و پردازنده یک تله حفاظت از حافظه را اجرا می کند.
  • هم ارزی با این واقعیت ثابت می شود که دستورالعمل های بی ضرر بدون توجه به اینکه مانیتور در سیستم وجود دارد یا نه، به همین ترتیب اجرا می شوند و دستورالعمل های سرویس همیشه استثناء می اندازند و تفسیر می شوند. توجه داشته باشید که حتی در طرح ساده ای که در بالا توضیح داده شد، اولین شرط تضعیف ظاهر می شود: حتی بدون در نظر گرفتن حافظه مورد نیاز برای ذخیره کد و داده هایپروایزر، مقدار حافظه موجود در VM حداقل دو سلول کمتر از سیستم میزبان دارد.
  • کارایی با این واقعیت تضمین می شود که تمام دستورالعمل های بی ضرر در داخل ماشین مجازی بدون کاهش سرعت به طور مستقیم اجرا می شوند. این نشان می دهد که مجموعه آنها شامل "یک زیرمجموعه آماری غالب از دستورالعمل های پردازنده مجازی است."

برنج. 1: تحقق شرط مجازی سازی. مجموعه دستورالعمل‌های خدماتی زیرمجموعه‌ای از دستورالعمل‌های ممتاز است علی‌رغم سادگی مدل مورد استفاده و نتیجه‌گیری‌های حاصل از آن، کار گلدبرگ و پوپک هنوز هم امروزی مرتبط است. لازم به ذکر است که عدم رعایت شرایط ذکر شده در آن به هیچ وجه ایجاد یا استفاده از ماشین های مجازی بر روی یک معماری خاص را اساسا غیرممکن نمی کند و نمونه های عملی از پیاده سازی ها وجود دارد که این امر را تایید می کند. با این حال، ایجاد تعادل بهینه بین سه ویژگی: جداسازی، هم ارزی و کارایی غیرممکن می شود. اغلب، به دلیل نیاز به جستجوی دقیق و کنترل نرم افزاری بر اجرای سرویس آنها، اما نه دستورالعمل های ممتاز، مجبور هستید با سرعت ماشین های مجازی پرداخت کنید، زیرا خود سخت افزار این را ارائه نمی دهد (شکل 2). حتی یک چنین دستوری که مستقیماً توسط VM اجرا می شود، تهدید می کند کار پایدارنظارت کنید، و بنابراین مجبور است کل جریان دستورالعمل های مهمان را اسکن کند.

برنج. 2: عدم تحقق شرط مجازی سازی. سرویس، اما دستورالعمل‌های ممتاز نیاز به پیاده‌سازی منطق پیچیده در مانیتور دارد. خود کار شامل ساده‌سازی‌های آشکار ساختار سیستم‌های واقعی مورد مطالعه (عدم وجود تجهیزات جانبی و سیستم ورودی/خروجی) و مفروضات ضمنی در مورد ساختار برنامه های مهمان اجرایی (تقریباً به طور کامل از دستورالعمل های بی ضرر) و سیستم های میزبان (تک پردازنده). اکنون اجازه دهید این محدودیت ها را با جزئیات بیشتری در نظر بگیریم، و همچنین پیشنهاد کنیم که چگونه می توان میزان کاربرد معیار را به منابع اضافی که نیاز به مجازی سازی دارند گسترش داد و بنابراین ارزش عملی آن را برای معماران سیستم های محاسباتی جدید افزایش داد. برای کار موثربرنامه های داخل ماشین مجازی به بیشتر دستورالعمل های خود نیاز دارند تا بی ضرر باشند. به عنوان یک قاعده، این برای برنامه های کاربردی صادق است. سیستم‌های عامل به نوبه خود برای مدیریت منابع سیستم طراحی شده‌اند، به این معنی که از دستورالعمل‌های خدماتی و امتیازی استفاده می‌کنند و مانیتور باید آنها را رهگیری و تفسیر کند، با کاهش عملکرد مربوطه. بنابراین، در حالت ایده‌آل، باید تا حد امکان دستورالعمل‌های ممتاز در مجموعه دستورالعمل وجود داشته باشد تا دفعات وقوع تله‌ها حداقل باشد. از آنجا که لوازم جانبیمنبع خدماتی رایانه هستند، بدیهی است که برای اطمینان از شرایط ایزوله و هم ارزی، لازم است تمام تلاش‌های دسترسی به آنها توسط مانیتور VM کنترل شود، همانطور که در یک سیستم عامل چندوظیفه‌ای کنترل می‌شود. هسته آن در حال حاضر، دسترسی به دستگاه‌ها اغلب از طریق مکانیسم انعکاس آنها در حافظه فیزیکی سیستم انجام می‌شود (حافظه انگلیسی نقشه‌برداری شده I/O)، به این معنی که در داخل مانیتور این خواندن / نوشتن برخی از مناطق یا باید باعث محافظت از حافظه شود. تله، یا غیر خدماتی باشد، یعنی. تله ای را به راه نیندازید یا حالتی را تحت تأثیر قرار ندهد. شدت تعامل بین برنامه ها و تجهیزات جانبی می تواند متفاوت باشد و با عملکرد آنها تعیین می شود که بر کاهش سرعت آنها در طول مجازی سازی تأثیر می گذارد. علاوه بر این، مانیتور VM می‌تواند کلاس‌های مختلفی از تجهیزات جانبی موجود در میزبان را در چندین ماشین مجازی در دسترس قرار دهد. روش های مختلف.

  • دستگاه اختصاصی دستگاهی است که منحصراً در یک سیستم مهمان در دسترس است. مثال: صفحه کلید، مانیتور.
  • مشترک - مشترک برای چند مهمان. چنین دستگاهی یا دارای چندین قسمت است که هر کدام برای نیازهای یکی از آنها (حالت پارتیشن بندی شده انگلیسی) اختصاص داده شده است. HDDبا چندین پارتیشن، یا به نوبه خود به هر یک از آنها متصل می شود (حالت اشتراکی انگلیسی). مثال: کارت شبکه.
  • کاملا مجازی - دستگاهی که در یک سیستم واقعی وجود ندارد (یا وجود دارد، اما به تعداد محدود) و به صورت برنامه نویسی در داخل مانیتور شبیه سازی می شود. مثال ها: تایمرهای وقفه - هر مهمان تایمر مخصوص به خود را دارد، حتی اگر فقط یک تایمر در سیستم میزبان وجود دارد و برای نیازهای خود مانیتور استفاده می شود.
وقفه ها مکانیزمی برای آگاه کردن پردازنده از رویدادهای دستگاه خارجی است که نیاز به توجه سیستم عامل دارد. در مورد استفاده از ماشین های مجازی، مانیتور باید بتواند تحویل وقفه ها را کنترل کند، زیرا برخی یا همه آنها باید در داخل مانیتور پردازش شوند. به عنوان مثال، یک وقفه تایمر می تواند توسط آن برای نظارت/محدود کردن استفاده از CPU مهمانان و اجازه سوئیچینگ بین چندین ماشین مجازی در حال اجرا به طور همزمان استفاده شود. به علاوه در مورد چند مهمان، از قبل مشخص نیست که کدام مهمان باید قطع شود و مانیتور باید تصمیم بگیرد. ساده ترین راه حل جداسازی مسیریابی تمام وقفه ها به مانیتور VM است. در این مورد، معادل به خودی خود ارائه می شود: وقفه، در صورت لزوم، از طریق شبیه سازی تغییر در حالت آن، در داخل مهمان تحویل داده می شود. مانیتور علاوه بر این می تواند وقفه های مجازی ایجاد کند، فقط به دلیل منطق عملکرد آن، و نه به دلیل رویدادهای خارجی. با این حال، اثربخشی چنین راه حلی بهینه نخواهد بود. به عنوان یک قاعده، پاسخ سیستم به یک وقفه باید در مدت زمان محدودی رخ دهد، در غیر این صورت معنای خود را از دست خواهد داد دستگاه خارجییا پیامدهای فاجعه باری برای کل سیستم خواهد داشت. معرفی یک لایه مجازی سازی تاخیر بین لحظه وقوع یک رویداد و لحظه پردازش آن در مهمان را در مقایسه با یک سیستم بدون مجازی سازی افزایش می دهد. کارآمدتر، کنترل سخت افزاری بر روی تحویل وقفه ها است که به برخی از آنها اجازه می دهد برای وضعیت سیستم بی ضرر باشند و نیازی به مداخله برنامه مانیتور در هر بار نداشته باشند. تقریباً تمام رایانه های مدرن دارای بیش از یک هسته یا پردازنده هستند. علاوه بر این، چندین VM می توانند در یک مانیتور اجرا شوند که هر کدام می توانند چندین پردازنده مجازی در اختیار داشته باشند. بیایید در نظر بگیریم که این شرایط چگونه بر شرایط مجازی سازی تأثیر می گذارد. معرفی چندین پردازنده میزبان و مهمان شرایط مجازی سازی کارآمد را در جای خود باقی می گذارد. اما توجه به احراز شرایط عملکرد کارآمد اپلیکیشن های چند رشته ای در داخل ماشین مجازی ضروری است. بر خلاف تک رشته ها، آنها با فرآیندهای همگام سازی قطعات برنامه در حال اجرا بر روی پردازنده های مجازی مختلف مشخص می شوند. در همان زمان، همه رشته های شرکت کننده منتظر می مانند تا همه به یک نقطه از پیش تعیین شده در الگوریتم برسند، به اصطلاح. مانع در مورد مجازی سازی سیستم، یک یا چند رشته مهمان ممکن است غیرفعال شوند که توسط مانیتور پیش دستی می شود و باعث اتلاف وقت بقیه می شود.

نمونه ای از چنین رفتار ناکارآمد سیستم های مهمان، همگام سازی با استفاده از قفل های چرخه ای (انگلیسی، قفل چرخشی) در داخل ماشین مجازی است. به دلیل ناکارآمدی و در نتیجه غیرقابل استفاده بودن برای سیستم‌های تک پردازنده، در مورد پردازنده‌های متعدد، جایگزینی سبک برای سایر قفل‌های سنگین‌تر است که برای ورود به بخش‌های حیاتی الگوریتم‌های موازی استفاده می‌شوند. آنها اغلب به صورت داخلی توسط سیستم عامل استفاده می شوند، اما نه توسط برنامه های کاربر، زیرا فقط سیستم عامل می تواند دقیقاً تعیین کند که کدام منابع سیستم می تواند به طور موثر با spinlocks محافظت شود. با این حال، در مورد یک ماشین مجازی، این سیستم عامل نیست که در واقع منابع را زمان‌بندی می‌کند، بلکه مانیتور VM است که عموماً از آنها آگاه نیست و می‌تواند از یک رشته که می‌تواند منبع را آزاد کند، جلوگیری کند، در حالی که رشته دوم یک کار را انجام می‌دهد. قفل چرخشی، اتلاف زمان CPU. راه حل بهینهدر این حالت، رشته مسدود شده غیرفعال می شود تا زمانی که منبع مورد نیاز آن آزاد شود.

راه حل های موجود برای این مشکل در زیر توضیح داده شده است.

  1. مانیتور VM ممکن است تلاش کند استفاده از قفل چرخشی توسط سیستم عامل مهمان را تشخیص دهد. این نیاز به تجزیه و تحلیل کد قبل از اجرا، تنظیم نقاط شکست در آدرس های قفل دارد. این روش با جهانی بودن و قابلیت اطمینان تشخیص متمایز نمی شود.
  2. مهمان می تواند به مانیتور سیگنال دهد که قصد دارد از قفل چرخشی استفاده کند دستورالعمل خاص. این روش قابل اعتمادتر است، اما نیاز به اصلاح کد سیستم عامل مهمان دارد.
در نهایت، توجه داشته باشید که طرح‌های تحویل و مدیریت وقفه در سیستم‌هایی با پردازنده‌های متعدد نیز پیچیده‌تر هستند، و این باید هنگام ایجاد یک مانیتور VM برای چنین سیستم‌هایی در نظر گرفته شود و ممکن است کارایی آن کمتر از یک پردازنده مشابه باشد. مدل دستورالعمل ماشینی که قبلاً برای فرمول‌بندی ادعای مجازی‌سازی کارآمد استفاده می‌شد، از یک طرح ترجمه آدرس مبتنی بر تقسیم‌بندی خطی ساده استفاده می‌کرد که در دهه 1970 رایج بود. از نظر محاسباتی ساده است، با معرفی مانیتور VM تغییر نمی کند، و بنابراین هیچ تحلیلی از تأثیر مکانیسم ترجمه آدرس بر کارایی انجام نشد. در حال حاضر، مکانیسم‌های صفحه‌بندی حافظه مجازی و ترجمه غیرخطی آدرس‌های مجازی برنامه‌های کاربردی کاربر به آدرس‌های فیزیکی مورد استفاده توسط سخت‌افزار اعمال می‌شود. منبع سیستم درگیر در این مورد، نشانگر ثبت آدرس جدول تبدیل است (اغلب در عمل، از چندین جدول استفاده می شود که یک سلسله مراتب با ریشه مشترک را تشکیل می دهند). در مورد ماشین مجازی، این اشاره گر باید مجازی سازی شود، زیرا هر سیستم مهمان دارای محتویات ثبت خود و همچنین موقعیت / محتویات جدول است. هزینه اجرای نرم افزاری این مکانیزم در داخل مانیتور بالا است، بنابراین برنامه های کاربردی با حافظه فشرده در صورت مجازی سازی کارایی خود را از دست می دهند. برای حل این مشکل از ترجمه آدرس سخت افزاری دو سطحی استفاده می شود (شکل 3). سیستم عامل های مهمان فقط لایه اول را می بینند، در حالی که آدرس فیزیکی ایجاد شده برای آنها توسط لایه دوم به آدرس واقعی ترجمه می شود.

برنج. 3: ترجمه آدرس دو سطحی. سطح اول توسط سیستم عامل مهمان کنترل می شود، سطح دوم توسط مانیتور ماشین مجازی کنترل می شود.یکی دیگر از منابع کامپیوتری که مسئول ترجمه آدرس است، بافر نگاهی به ترجمه (TLB) است که از چندین ورودی تشکیل شده است. هر سیستم مهمان محتوای TLB خود را دارد، بنابراین وقتی ماشین مجازی فعال را تغییر می‌دهید یا به مانیتور می‌روید، باید ریست شود. این امر بر عملکرد سیستم ها تأثیر منفی می گذارد، زیرا بازیابی محتویات آن زمان می برد، که در طی آن فرد باید از دسترسی کمتر کارآمد به جدول ترجمه آدرس واقع در حافظه استفاده کند. راه حل این است که منابع TLB را بین همه سیستم ها به اشتراک بگذارید. هر خط از بافر با یک شناسه مرتبط است - برچسبی که برای هر ماشین مجازی منحصر به فرد است. هنگام جستجو در آن، تجهیزات فقط خطوطی را در نظر می گیرند که برچسب آنها با VM فعلی مطابقت دارد. علاوه بر پردازنده‌ها، دستگاه‌های جانبی نیز می‌توانند مستقیماً به رم دسترسی داشته باشند - با استفاده از فناوری DMA (دسترسی مستقیم به حافظه). در همان زمان، تماس ها در سیستم های کلاسیک بدون مجازی سازی به آدرس های فیزیکی می روند. بدیهی است که چنین آدرس هایی باید در داخل ماشین مجازی ترجمه شوند که به سربار تبدیل می شود و کارایی مانیتور را کاهش می دهد. راه حل استفاده از دستگاه IOMMU (واحد مدیریت حافظه خروجی ورودی) است که به شما امکان می دهد دسترسی دستگاه های میزبان به حافظه فیزیکی را کنترل کنید. اجازه دهید شرایط مجازی سازی را با جایگزینی کلمه "دستورالعمل" با "عملیات" در آن گسترش دهیم: مجموعه عملیات سرویس زیرمجموعه ای از موارد ممتاز است. در این حالت، عملیات به معنای هرگونه فعالیت تعریف شده از نظر معماری برای خواندن یا تغییر وضعیت سیستم است، از جمله دستورالعمل ها، وقفه ها، دسترسی های دستگاه، ترجمه آدرس و غیره. در این حالت، شرط افزایش کارایی مجازی سازی به صورت زیر خواهد بود: معماری سیستم باید حداقل تعداد عملیات سرویس را داشته باشد. از دو طریق می توان به آن دست یافت: با بی ضرر ساختن دستورالعمل های خدماتی یا با کاهش تعداد موارد ممتاز. برای انجام این کار، اکثر معماری ها مسیر افزودن یک حالت جدید r را به ثبت وضعیت M - حالت مانیتور VM (حالت ریشه انگلیسی) در پیش گرفته اند. با حالت s ارتباط دارد همانطور که s به u است. به عبارت دیگر، کلاس دستورالعمل ممتاز به روز شده اکنون یک تله جریان کنترل را فراخوانی می کند که پردازنده را از s به r انتقال می دهد. بیایید معماری های مدرن اصلی سیستم های محاسباتی مورد استفاده در سرورها، ایستگاه های کاری و همچنین در سیستم های تعبیه شده را از دیدگاه در نظر بگیریم. اجرای عملیاصول نظری که در بالا توضیح داده شد. سری مقالات را نیز ببینید. IBM یکی از اولین کسانی بود که معماری مجازی سازی به کمک سخت افزار را با سری POWER4 در سال 2001 وارد بازار ریزپردازنده سرور کرد. برای ایجاد پارتیشن های منطقی جدا شده (پارتیشن های منطقی انگلیسی، LPAR) در نظر گرفته شده بود که هر کدام با یک یا چند پردازنده و منابع ورودی / خروجی مرتبط هستند. برای انجام این کار، پردازنده اضافه شد حالت جدیدهایپروایزر به حالت های سرپرست و کاربر از قبل موجود. برای محافظت از حافظه، هر LPAR محدود به آدرس دهی حالت غیرفعال ترجمه است و فقط به یک ناحیه کوچک و خصوصی از حافظه دسترسی دارد. برای استفاده از بقیه حافظه، سیستم عامل مهمان باید ترجمه کنترل شده توسط مانیتور VM را فعال کند. در سال 2004، توسعه این معماری به نام POWER5، پیشرفت های عمده ای در مکانیزم های مجازی سازی به همراه داشت. بنابراین، یک دستگاه تایمر جدید اضافه شد که فقط برای مانیتور VM در دسترس بود، که به او اجازه می داد سیستم های مهمان را با دقت بیشتری کنترل کند و منابع پردازنده را با دقتی تا یک صدم پردازنده به آنها اختصاص دهد. همچنین، مانیتور VM این فرصت را به دست آورد که آدرس تحویل وقفه را کنترل کند - به LPAR یا به Hypervisor. مهمترین نوآوری این واقعیت بود که وجود یک هایپروایزر اجباری بود - بارگذاری و کنترل می شد منابع سیستم، حتی اگر یک LPAR در سیستم وجود داشته باشد. سیستم عامل های پشتیبانی شده (AIX، Linux، IBM i) با در نظر گرفتن این مورد اصلاح شده اند تا از نوعی طرح مجازی سازی پشتیبانی کنند. برای مدیریت دستگاه های ورودی / خروجی، یک (یا دو، برای متعادل کردن بار) از LPAR یک سیستم عامل ویژه - سرور ورودی / خروجی مجازی (VIOS) را بارگیری می کند که این منابع را برای بخش های دیگر فراهم می کند. Sun، توسعه‌دهنده سیستم‌های UltraSPARC و سیستم‌عامل Solaris، از سال 2004 مجازی‌سازی در سطح سیستم‌عامل (به نام کانتینر یا زون) را ارائه کرده است. در سال 2005، مجازی‌سازی سخت‌افزار در پردازنده‌های چند رشته‌ای Niagara 1 معرفی شد. در همان زمان، دانه بندی مجازی سازی برابر با یک رشته بود (در مجموع، تراشه دارای هشت هسته، چهار رشته در هر یک) بود. برای تعامل بین سیستم عامل و هایپروایزر، یک رابط عمومی و پایدار برای برنامه های کاربردی ممتاز معرفی شد که اکثر رجیسترهای معماری را از سیستم عامل پنهان می کرد. برای ترجمه آدرس، از طرح دو سطحی که قبلا توضیح داده شد با آدرس های مجازی، واقعی و فیزیکی استفاده می شود. در این مورد، TLB آدرس ترجمه میانی را ذخیره نمی کند. برخلاف POWER و SPARC، معماری IA-32 (و پسوند AMD64 آن) هرگز توسط یک شرکت واحد کنترل نشده است که بتواند عملکرد (پارا) مجازی سازی را بین سخت افزار و سیستم عامل اضافه کند که سازگاری رو به عقب با موجود را از بین ببرد. سیستم های عامل. علاوه بر این، به وضوح شرایط مجازی سازی مؤثر را نقض می کند - حدود 17 دستورالعمل خدمات دارای امتیاز نیستند، که از ایجاد مانیتورهای VM با پشتیبانی سخت افزار جلوگیری می کند. با این حال مانیتورهای برنامهتا سال 2006 وجود داشت، زمانی که اینتل فناوری VT-x را معرفی کرد و AMD فناوری مشابه اما ناسازگار AMD-V را معرفی کرد. حالت‌های پردازشگر جدید، VMX root و non root، معرفی شده‌اند و حالت‌های امتیاز قبلی 0-3 را می‌توان در هر دوی آنها استفاده کرد. جابجایی بین حالت ها را می توان با دستورالعمل های جدید vmxon و vmxoff انجام داد.

برای ذخیره وضعیت سیستم های مهمان و مانیتور، از ساختار جدید VMCS (ساختار کنترل ماشین مجازی) استفاده می شود که کپی هایی از آن در حافظه فیزیکی قرار دارند و در دسترس مانیتور VM هستند.

یک راه حل جالب، پیکربندی این است که کدام رویدادها در مهمان باعث ایجاد یک رویداد تله و انتقال به هایپروایزر می شوند و چه مواردی توسط سیستم عامل پردازش می شوند. به عنوان مثال، برای هر مهمان، می توانید انتخاب کنید که آیا وقفه های خارجی توسط او یا مانیتور انجام می شود. نوشتن به کدام بیت از رجیسترهای کنترل CR0 و CR4 رهگیری خواهد شد. کدام استثناها باید توسط مهمان رسیدگی شود، چه مواردی باید توسط مانیتور انجام شود و غیره. این راه حل به شما امکان می دهد بین میزان کنترل هر VM و کارایی مجازی سازی به مصالحه دست یابید. بنابراین، برای مهمانان قابل اعتماد، کنترل مانیتور می تواند ضعیف شود، در حالی که سیستم عامل های شخص ثالث که به طور همزمان با آنها کار می کنند همچنان تحت نظارت دقیق آن هستند. برای بهینه سازی کار TLB، از تکنیک توضیح داده شده در بالا برای برچسب گذاری رکوردهای آن با کمک ASID (شناسه فضای آدرس) استفاده می شود. برای سرعت بخشیدن به فرآیند ترجمه آدرس، طرح ترجمه دو سطحی اینتل EPT (پیاده روی صفحه گسترده) نام گرفت. اینتل همزمان با IA-32 - در سال 2006، مجازی سازی سخت افزار را به Itanium (فناوری VT-i) اضافه کرد. حالت ویژه با یک بیت جدید در ثبت وضعیت PRS.vm فعال شد. با روشن شدن بیت، دستورالعمل‌های قبلی سربار اما نه ممتاز شروع به ایجاد تله و خروج از مانیتور می‌کنند. برای بازگشت به حالت سیستم عامل مهمان، از دستورالعمل vmsw استفاده کنید. بخشی از دستورالعمل ها که سرویس است، زمانی که حالت مجازی سازی فعال است، تولید می شود نوع جدیدیک استثنا همزمان که دارای کنترل کننده خاص خود است.

از آنجایی که سیستم عامل از طریق یک رابط ویژه PAL (سطح انتزاع پردازنده) به سخت افزار دسترسی پیدا می کند، این رابط برای پشتیبانی از عملیات هایی مانند ایجاد و تخریب محیط های مهمان، ذخیره و بارگذاری وضعیت آنها، پیکربندی منابع مجازی و غیره گسترش یافته است. می توان اشاره کرد که افزودن مجازی سازی سخت افزار به IA-64 در مقایسه با IA-32 به تلاش کمتری نیاز داشت.

معماری ARM در ابتدا برای تعبیه شده و طراحی شده بود سیستم های موبایلمجازی سازی موثر که در مقایسه با سیستم های سرور، برای مدت طولانیعامل کلیدی در موفقیت تجاری و فناوری نبود. با این حال، در سال های گذشتهگرایشی به سمت استفاده از ماشین های مجازی در دستگاه های تلفن همراه برای محافظت از بخش های حیاتی کد سیستم، مانند کلیدهای رمزنگاری مورد استفاده در پردازش تراکنش های تجاری وجود دارد. بعلاوه، پردازنده های ARMشروع به حرکت به سمت بازار سیستم های سرور کرد و این امر مستلزم گسترش معماری و افزودن ویژگی هایی مانند پشتیبانی از آدرس دهی مقادیر زیادی از حافظه و مجازی سازی بود. هر دو جنبه در رویکرد انتخاب شده توسط ARM برای توسعه معماری آن منعکس شد. روی انجیر شکل 4 نموداری را نشان می دهد که نشان دهنده تودرتو بودن دو سطح مجازی سازی است که در سال 2010 با به روز رسانی معماری Cortex A15 معرفی شد. برنج. 4: مجازی سازی ARM. مانیتور TrustZone انزوا و احراز هویت رمزنگاری شده "جهان" قابل اعتماد را فراهم می کند. "دنیای" معمولی از مانیتور VM خود برای ایجاد انزوا استفاده می کند اجزای حیاتیاولین لایه مجازی سازی به نام TrustZone استفاده می شود. با آن، همه در حال اجرا اجزای نرم افزاربه دو "جهان" - قابل اعتماد و معمولی تقسیم می شوند. در محیط اول آن قسمت هایی از سیستم اجرا می شود که عملکرد آنها نباید تحت تاثیر خارجی کدهای معمولی باشد. در محیط دوم اجرا می کنند برنامه های کاربردی سفارشیو سیستم عامل، که از نظر تئوری ممکن است به خطر بیفتد. با این حال، "دنیای" عادی به یک مورد اعتماد دسترسی ندارد. مانیتور TrustZone دسترسی معکوس را فراهم می کند، که به کدهای قابل اعتماد اجازه می دهد تا وضعیت سخت افزار را نظارت کنند. دومین لایه مجازی سازی تحت کنترل یک مانیتور غیرقابل اعتماد اجرا می شود و توانایی چندگانه سازی عملکرد چندین سیستم عامل کاربر را فراهم می کند. دستورات جدید HVC و ERET را برای ورود و خروج از حالت(های) هایپروایزر اضافه می کند. برای رویدادهای تله، از بردار وقفه رزرو شده قبلی 0x14 استفاده شد، رجیسترهای جدید اضافه شدند: نشانگر پشته SPSR، وضعیت منبع مجازی HCR، و ثبات "سندرم" HSR، که دلیل رها کردن مهمان به مانیتور را ذخیره می کند. به دومی اجازه می دهد تا به سرعت وضعیت را تجزیه و تحلیل کند و عملکردهای لازم را بدون خواندن اضافی از حالت مهمان تقلید کند. همانطور که در معماری هایی که قبلا مورد بحث قرار گرفت انجام شد، یک طرح دو سطحی برای سرعت بخشیدن به مکانیسم های ترجمه آدرس استفاده می شود که در آن آدرس های فیزیکی سیستم عامل مهمان متوسط ​​هستند. وقفه های خارجی را می توان به گونه ای پیکربندی کرد که به مانیتور تحویل داده شوند و سپس با استفاده از مکانیسم وقفه مجازی آنها را به مهمان هدایت می کند یا مستقیماً برای مهمان ارسال می شود. پردازنده‌های MIPS در جهت مخالف ARM تکامل یافته‌اند: از سیستم‌های با کارایی بالا تا جاسازی‌شده و موبایل. با این حال، مجازی سازی سخت افزار برای آن نسبتاً اخیراً در سال 2012 ظاهر شد. معماری MIPS R5 حالت مجازی سازی MIPS VZ را به ارمغان آورد. این برای هر دو معماری 32 بیتی و 64 بیتی در دسترس است. حالت معماری اضافه شده به شما امکان می دهد تا زمینه ماشین مجازی و مانیتور را جداگانه ذخیره کنید. به عنوان مثال، برای نیازهایپروایزر، یک کپی از ثبت سیستم COP0، مستقل از کپی مهمان، معرفی شده است. این به شما امکان می دهد زمان تعویض بین آنها را بهینه کنید، در حالی که جابجایی بین چندین سیستم عامل مهمان نیاز به به روز رسانی COP0 با محتوای حافظه دارد و کارایی کمتری دارد. بعلاوه، برخی از بیت‌های ثبت مهمان، که مجموعه قابلیت‌های نوع معماری فعلی را توصیف می‌کنند و بنابراین قبلاً فقط خواندنی بودند، از حالت مانیتور قابل نوشتن هستند، که به آن اجازه می‌دهد قابلیت‌هایی را اعلام کند که متفاوت از قابلیت‌های موجود در واقعی هستند. میزبان.

امتیازات هایپروایزر، سیستم عامل و کاربر به اصطلاح. مدل پیاز (پیاز انگلیسی). در آن، پردازش وقفه از بیرون به داخل می رود، یعنی. ابتدا هر یک از آنها برای مطابقت با قوانین مانیتور و سپس سیستم عامل بررسی می شود. برعکس، استثناهای همزمان (تله) ابتدا توسط سیستم عامل و سپس توسط مانیتور پردازش می شوند.

همانطور که در معماری هایی که قبلا مورد بحث قرار گرفت انجام شد، برچسب ها در TLB و ترجمه دو سطحی در MMU برای سرعت بخشیدن به مکانیسم های ترجمه آدرس استفاده می شوند. برای حمایت از توسعه مهمانان مجازی سازی، اضافه شد دستورالعمل جدیدفراخوانی که باعث ایجاد قلاب و خروج از حالت نظارت می شود. در نهایت، بیایید نگاهی به مسائل اضافی مجازی سازی کارآمد مربوط به سوئیچ بین حالت های مانیتور و VM بیندازیم. وقفه های مکرر ماشین مجازی به دلیل نیاز به خروج از مانیتور بر سرعت شبیه سازی تاثیر منفی می گذارد. علیرغم این واقعیت که سازندگان پردازنده در تلاش برای کاهش تأخیرهای مرتبط با این انتقال هستند (برای مثال به جدول 1 مراجعه کنید)، آنها هنوز به اندازه کافی مهم هستند که سعی کنند فراوانی وقوع آنها را به حداقل برسانند.

ریزمعماری تاریخ شروع تاخیر، چرخه ها
پرسکات 3 متر مربع 2005 3963
مروم 2 متر مربع 2006 1579
پنرین 1 متر مربع 2008 1266
نهالم 3 متر مربع 2009 1009
وستمر 1 متر مربع 2010 761
پل ماسه ای 1 متر مربع 2011 784
جدول 1. مدت زمان انتقال بین حالت های مجازی سازی سخت افزار برای نسل های مختلف ریزمعماری پردازنده های Intel IA-32 (داده های گرفته شده از)

اگر اجرای مستقیم با استفاده از مجازی سازی ناکارآمد باشد، منطقی است که به طرح دیگری از کار بروید، به عنوان مثال، تفسیر یا ترجمه باینری (به سری پست های من در IDZ مراجعه کنید: 1، 2، 3).

در عمل، اجرای سیستم‌عامل با این وضعیت مشخص می‌شود که دستورالعمل‌هایی که باعث تله‌های جریان کنترلی می‌شوند، خوشه‌هایی را تشکیل می‌دهند که در آن دو یا چند تا از آنها نزدیک به هم هستند، در حالی که فاصله بین خوشه‌ها قابل توجه است. بلوک کد زیر برای IA-32 نمونه ای از چنین خوشه ای را ارائه می دهد. یک ستاره تمام دستورالعمل هایی را نشان می دهد که باعث خروجی نمایشگر می شوند. * در %al، %dx * از $0x80، %al mov %al، %cl mov %dl، $0xc0 * از %al، %dx * از $0x80، %al * از %al، %dx * از $0 خارج شد. x80,%al برای جلوگیری از تکرار سناریو: خروج از VM به مانیتور، تفسیر دستورالعمل، ورود مجدد به VM فقط برای دستورالعمل بعدیخروج مجدد به مانیتور - پیش نمایش دستورالعمل استفاده می شود. پس از پردازش قلاب، قبل از اینکه مانیتور کنترل را به VM برگرداند، جریان دستورالعمل چندین دستورالعمل پیشاپیش در جستجوی دستورالعمل‌های ممتاز اسکن می‌شود. اگر آنها پیدا شوند، شبیه سازی برای مدتی به حالت ترجمه باینری تغییر می کند. این امر از تأثیر منفی اثر خوشه‌بندی دستورالعمل‌های ممتاز جلوگیری می‌کند. وضعیتی که یک مانیتور ماشین مجازی تحت کنترل مانیتور دیگری که مستقیماً بر روی سخت افزار اجرا می شود اجرا شود، مجازی سازی بازگشتی نامیده می شود. از نظر تئوری، ممکن است فقط به دو سطح محدود نشود - در داخل هر مانیتور VM، می توان مرحله بعدی را اجرا کرد و در نتیجه سلسله مراتبی از هایپروایزرها را تشکیل داد. توانایی اجرای یک Hypervisor منفرد تحت یک مانیتور VM (یا به طور معادل، یک شبیه ساز) ارزش عملی دارد. هر مانیتور VM کافی است برنامه پیچیده، که روش های معمول اشکال زدایی برنامه ها و حتی سیستم عامل برای آن قابل اجرا نیستند، زیرا در زمانی که اتصال دیباگر دشوار است، در سیستم بسیار زود بارگذاری می شود. اجرای شبیه ساز به شما این امکان را می دهد که از همان اولین دستورالعمل عملکرد آن را بررسی و کنترل کنید. گلدبرگ و پوپک، در کار قبلی خود، مسائل مربوط به پشتیبانی موثر، از جمله مجازی سازی بازگشتی را در نظر گرفتند. با این حال، نتایج آنها، متأسفانه، بسیاری از ویژگی های سیستم های مدرن ذکر شده در بالا را در نظر نمی گیرد. بیایید یکی از مشکلات مربوط به ویژگی های راه اندازی تو در تو مانیتورهای VM را در نظر بگیریم - مدیریت تله ها و وقفه ها. در ساده ترین حالت، خارجی ترین مانیتور همیشه مسئولیت رسیدگی به انواع استثناها را بر عهده دارد که وظیفه آن یا پردازش رویداد به تنهایی است، در نتیجه آن را از سطوح دیگر "پنهان می کند" یا آن را به سطوح بعدی منتقل می کند. یکی هم برای وقفه‌ها و هم برای تله‌ها، اغلب به نظر می‌رسد که این امر کمتر از حد مطلوب است - رویداد باید از چندین سطح سلسله مراتب عبور کند، که هر کدام تاخیری را در پردازش آن ایجاد می‌کنند. روی انجیر شکل 5 پردازش دو نوع پیام را نشان می دهد - یک وقفه که در سخت افزار خارجی رخ می دهد و یک تله جریان کنترل که در داخل برنامه رخ داده است.

برنج. 5: مجازی سازی بازگشتی همه رویدادها باید توسط یک مانیتور خارجی مدیریت شوند که آنها را در سلسله مراتب پایین می راند و در عین حال تاخیر برای پردازش بهینه ایجاد می کند. انواع مختلفتله‌ها و وقفه‌ها برای هر یک از آنها، سطح سلسله مراتب مانیتورهای VM باید انتخاب شود و زمانی که رویدادی رخ می‌دهد، کنترل باید مستقیماً به این سطح منتقل شود و پردازش اضافی توسط سطوح بالاتر و بدون سربار مربوطه دور شود. سازندگان پردازنده به وظیفه پشتیبانی سخت افزاری سطوح دوم و بیشتر تودرتو مجازی سازی نسبت به سطح اول آن توجه کمتری می کنند. با این حال، چنین آثاری وجود دارد. بنابراین، در دهه هشتاد قرن بیستم، برای سیستم‌های IBM / 370، امکان اجرای کپی‌هایی از نرم‌افزار سیستم در داخل یک سیستم عامل که قبلاً روی سخت‌افزار اجرا می‌شد، اجرا شد. برای این کار، دستور SIE (eng. start interpreted execution) معرفی شد. پیشنهادهایی برای رابط بین لایه‌های مجازی‌سازی تودرتو وجود دارد که به طور موثر از تودرتوی مانیتورهای چندگانه VM پشتیبانی می‌کند و اجرای مجازی‌سازی بازگشتی برای IA-32. با این حال، معماری‌های پردازنده‌های مدرن همچنان به پشتیبانی سخت‌افزاری برای حداکثر یک سطح مجازی‌سازی محدود می‌شوند.

  1. گوداکر جان. مجازی سازی تسریع شده سخت افزاری در پردازنده های ARM Cortex. 2011. xen.org/files/xensummit_oul11/nov2/2_XSAsia11_JGoodacre_HW_accelerated_virtualization_in_the_ARM_Cortex_processors.pdf
  2. مجازی سازی به کمک سخت افزار با ماژول مجازی سازی MIPS. 2012. www.mips.com/application/login/login.dot?product_name=/auth/MD00994-2B-VZMIPS-WHT-01.00.pdf
  3. مواد مرجع Hypervisor/Sun4v. 2012. kenai.com/projects/hypervisor/pages/ReferenceMaterials
  4. فناوری مجازی سازی اینتل / F. Leung, G. Neiger, D. Rodgers et al. // مجله فناوری اینتل. 2006 جلد. 10. www.intel.com/technology/itj/2006/v10i3
  5. مک گان هارلن. The gHost in the Machine: Part 1 // گزارش ریزپردازنده. 2007.mpronline.com
  6. مک گان هارلن. The gHost in the Machine: Part 2 // گزارش ریزپردازنده. 2007.mpronline.com
  7. مک گان هارلن. The gHost in the Machine: Part 3 // گزارش ریزپردازنده. 2007.mpronline.com
  8. Popek Gerald J., Goldberg Robert P. الزامات رسمی برای معماری های نسل سوم مجازی سازی // ارتباطات ACM. جلد 17. 1974.
  9. جبرئیل جنوبی. تجزیه و تحلیل SMP VM CPU Scheduling. 2008. cs.gmu.edu/~hfoxwell/cs671projects/southern_v12n.pdf
  10. یانگ رونگژن. ترجمه مجازی Lookaside Buffer. 2008. www.patentlens.net/patentlens/patent/US_2008_0282055_A1/en.
  11. تکنیک های نرم افزاری برای جلوگیری از خروج مجازی سازی سخت افزار / Ole Agesen، Jim Mattson، Radu Rugina، Jeffrey Sheldon // مجموعه مقالات کنفرانس USENIX 2012 در کنفرانس فنی سالانه. USENIX ATC"12. Berkeley, CA, USA: USENIX Association, 2012. P. 35-35. www.usenix.org/system/files/conference/atc12/atc12-final158.pdf
  12. Poon Wing-Chi، Mok A.K. بهبود تأخیر ارسال VMExit در مجازی سازی بازگشتی برای معماری x86 // علم سیستم (HICSS)، 2012 چهل و پنجمین کنفرانس بین المللی هاوایی در. 2012. ص 5604-5612.
  13. Osisek D. L.، Jackson K. M.، Gum P. H. ESA/390 معماری اجرای تفسیری، پایه و اساس VM/ESA // IBM Syst. J. - 1991 - V. 30, No 1. - Pp. 34-51. - ISSN: 0018-8670. -DOI: 10.1147/sj.301.0034.
  14. اندی گلو. S.I.E. - semipublic.comp-arch.net/wiki/SIE
  15. پروژه لاک پشت ها: طراحی و پیاده سازی مجازی سازی تودرتو / Muli Ben-Yehuda //. - 2010. - ص 423-436. www.usenix.org/event/osdi10/tech/full_papers/Ben-Yehuda.pdf

habrahabr.ru

فناوری مجازی سازی

نام گزینه های یکسان دیگر: فناوری Vanderpool، VT Technology.

گزینه Virtualization Technology (تکنولوژی مجازی سازی) برای فعال کردن پشتیبانی از فناوری مجازی سازی سخت افزار توسط پردازنده طراحی شده است. این گزینه می تواند تنها دو مقدار داشته باشد - Enabled (Enabled) و Disabled (Off).

  • اصل عملیات
  • آیا باید گنجانده شود؟

اصل عملیات

اصطلاح "مجازی سازی" دقیقاً به چه معناست؟ فناوری مجازی سازی به کاربر این امکان را می دهد که کامپیوترهای مجازی زیادی را روی یک کامپیوتر فیزیکی داشته باشد. به طور طبیعی، این رویکرد اغلب مزایای زیادی نسبت به چندین مورد دارد کامپیوترهای فیزیکی، در درجه اول از نظر کاهش هزینه تجهیزات و کاهش مصرف انرژی.

ایجاد کامپیوترهای مجازی نیاز به نرم افزار خاصی دارد. معروف ترین نرم افزار مجازی سازی VMWare و Microsoft Virtual PC است.

قلب هر سیستم مجازی سازی، فناوری به نام مانیتور ماشین مجازی (VMM) است. این فناوری یک پایه محکم برای مدیریت مجازی سازی ایجاد می کند. عملکرد مدیر ماشین مجازی (که گاهی اوقات هایپروایزر نیز نامیده می شود) مدیریت منابع یک کامپیوتر در زمان واقعی و توزیع آنها در بین سیستم های مجازی است. هایپروایزر می تواند داده ها را بین سیستم ها انتقال دهد و دیسک های مجازی ایجاد کند.

Virtual Machine Manager به شما این امکان را می دهد که روی یک رایانه واحد چند سیستم عامل (از این قبیل سیستم عامل های مجازی معمولاً سیستم عامل مهمان نامیده می شود) یا چندین نسخه از یک سیستم عامل اجرا کنید. همچنین وظایف آن شامل مدیریت حافظه، پردازنده و دستگاه های ورودی/خروجی به منظور توزیع آنها بین مختلف است کامپیوترهای مجازی. بنابراین، هایپروایزر می تواند به چندین سیستم عامل اجازه دهد تا از یک پردازنده استفاده کنند که باعث افزایش کارایی آن می شود.

با این حال، برای مدت طولانی، فناوری مجازی سازی تنها بر اساس روش های نرم افزاری بود و پشتیبانی از آن در سطح سخت افزار، به ویژه به دلیل عدم وجود استانداردهای واضح، تقریباً وجود نداشت. اگرچه یکی از اولین پیاده سازی های مجازی سازی سخت افزار، پشتیبانی از حالت مجازی پردازنده اینتل 8086 بود که در پردازنده 80386 و پردازنده های بعدی اینتل تعبیه شده بود (در اینجا می توانید اطلاعات بیشتری در مورد پردازنده ها کسب کنید)، با این وجود، قابلیت های این فناوری وجود دارد. محدود بودند. امروزه، تولید کنندگان پیشرو پردازنده، اینتل و AMD، فناوری های مجازی سازی خود را ارائه می کنند که برای حالت محافظت شده پردازنده طراحی شده اند.

گونه ای از فناوری مجازی سازی اینتل VT-x نام دارد. این فناوری در سال 2005 ظاهر شد. این فناوری تعدادی پیشرفت را در بسترهای سرور و کلاینت برای پشتیبانی ارائه کرد. محیط های نرم افزاریمجازی سازی sv. فناوری VT-x به سیستم عامل ها و برنامه های مختلف اجازه می دهد تا در پارتیشن های مستقل اجرا شوند و می توانند کامپیوتر را به مجموعه ای از سیستم عامل های مجازی تبدیل کنند.

فناوری مجازی سازی AMD AMD-V نام دارد. این فناوری برای اولین بار در پردازنده های Athlon 64 در سال 2006 ظاهر شد. این فناوری به شما اجازه می دهد تا برخی از وظایف انجام شده توسط Hypervisor را در نرم افزار انجام دهید و به لطف داخلی آن را ساده کنید. پردازنده های AMDمجموعه دستورالعمل های بهبود یافته

در مقایسه با مجازی‌سازی نرم‌افزار، مجازی‌سازی سخت‌افزار دارای چندین مزیت است. واقعیت این است که سیستم عامل های طراحی شده برای پلتفرم های اینتل، به گونه ای طراحی شده اند که سیستم عامل باید به منابع سخت افزاری کامپیوتر دسترسی مستقیم داشته باشد. مجازی سازی نرم افزار شبیه سازی شده است تجهیزات لازمو فناوری های مجازی سازی سخت افزار به سیستم عامل اجازه می دهد تا مستقیماً به منابع سخت افزاری دسترسی داشته باشد و از هر گونه شبیه سازی اجتناب کند.

افزونه های مجازی سازی پردازنده رویکردهای جدیدی را برای مدیریت مجازی سازی ارائه می دهند. به طور خلاصه، جوهر پیشرفت ها را می توان به شرح زیر توصیف کرد. سیستم‌های عامل سطوح مختلفی از دسترسی به منابع را فراهم می‌کنند که به آن حلقه‌های حفاظتی می‌گویند. این حلقه ها نشان دهنده سلسله مراتبی از امتیازات در معماری یک سیستم کامپیوتری است. ممتازترین سطح معمولاً صفر است. این لایه همچنین می تواند به طور مستقیم به منابع دسترسی داشته باشد.

در معماری سنتی اینتل x86، هسته سیستم عامل می تواند مستقیماً به پردازنده در سطح 0 دسترسی داشته باشد. با این حال، در یک محیط مجازی سازی نرم افزار، سیستم عامل مهمان نمی تواند به سطح 0 دسترسی پیدا کند زیرا توسط هایپروایزر اشغال شده است. بنابراین، سیستم عامل مهمان فقط می تواند در سطح 1 اجرا شود.

اما یک نکته در اینجا وجود دارد - برخی از دستورالعمل های پردازنده فقط در سطح 0 قابل اجرا هستند. این مشکل را می توان به روش های مختلفی حل کرد، اما هیچ یک از آنها رضایت بخش نیست. به عنوان مثال، سیستم عامل را می توان مجدداً کامپایل کرد تا از چنین موقعیت هایی جلوگیری شود، اما این تنها در صورتی امکان پذیر است که کدهای منبعاین سیستم عامل این رویکرد گاهی اوقات مورد استفاده قرار می گیرد و به آن paravirtualization می گویند.

اما در مواردی که فرا مجازی سازی امکان پذیر نباشد، معمولاً از راه حل دیگری استفاده می شود. مدیر ماشین مجازی به سادگی دستورالعمل های لازم سیستم عامل مهمان را رهگیری می کند و آنها را با موارد ایمن جایگزین می کند. ناگفته نماند که این رویکرد منجر به کاهش قابل توجه عملکرد می شود. بر این اساس نرم افزار ماشین های مجازیاغلب بسیار کندتر از همتایان دنیای واقعی خود هستند.

بنابراین، فن‌آوری‌های مجازی‌سازی سخت‌افزار از اینتل و AMD نه تنها حاوی دستورالعمل‌های جدید پردازنده هستند، بلکه بسیار مهم، امکان استفاده از سطح جدیدی از امتیازات را فراهم می‌کنند. اکنون هایپروایزر می تواند در سطح کمتر از صفر اجرا شود (می توان آن را با -1 نشان داد)، در حالی که به سیستم عامل مهمان دسترسی کامل به سطح صفر داده می شود. بنابراین، هایپروایزر از کارهای پر زحمت غیر ضروری در امان ماند و عملکرد ماشین های مجازی به طور قابل توجهی افزایش یافت.

فناوری های اینتل و AMD از هر نظر یکسان نیستند، اما مزایا و عملکردهای مشابهی را ارائه می دهند. آنها علاوه بر افزایش عملکرد ماشین های مجازی، به شما این امکان را می دهند که تعداد ماشین های مجازی را در یک سیستم فیزیکی افزایش دهید و همچنین تعداد کاربران ماشین های مجازی را افزایش دهید.

آیا باید گنجانده شود؟

گزینه Virtualization Technology (که گاهی اوقات مجازی سازی نامیده می شود) به کاربر رایانه اجازه می دهد تا پشتیبانی مجازی سازی سخت افزار را در سطح CPU فعال کند. انتخاب مقدار Enabled این پشتیبانی را فعال می کند و مقدار Disabled آن را غیرفعال می کند.

گزینه Virtualization Technology تنها زمانی باید فعال شود که از رایانه خود برای اجرای ماشین های مجازی استفاده می کنید. فعال کردن پشتیبانی سخت افزاری برای ماشین های مجازی می تواند عملکرد آنها را به میزان قابل توجهی بهبود بخشد. با این حال، در صورت عدم استفاده از ماشین های مجازی، فعال کردن گزینه به هیچ وجه بر عملکرد رایانه تأثیر نمی گذارد.

مجازی سازی سخت افزار راهی برای اجرای چندین محیط نرم افزاری کنترلی بر روی یک کامپیوتر است. بارزترین مثال این است کار همزمانچندین سیستم عامل در یک کامپیوتر

برخلاف مجازی سازی نرم افزار، مجازی سازی سخت افزار یک واسطه نرم افزاری بین سخت افزار و ماشین های مجازی ندارد. سیستم عامل ها به طور مستقیم از منابع سخت افزاری استفاده می کنند.

فناوری مجازی سازی اینتلیک فناوری مجازی سازی از شرکت اینتل است.

AMD نیز همین فناوری را دارد. نامیده می شود فناوری مجازی سازی AMD.

شامل مجازی سازی هر زیر سیستم کامپیوتری است:

  • پردازنده مرکزی؛
  • حافظه دسترسی تصادفی؛
  • سیستم گرافیکی؛
  • سیستم های ورودی/خروجی (HDD، صفحه کلید، ماوس، USB)؛
  • سیستم های امنیتی.

نحوه عملکرد مجازی سازی سخت افزار

پیاده سازی سخت افزار به دلیل معرفی چندین ده دستورالعمل به پردازنده ها و چیپست ها (از سال 2005) امکان پذیر است.

فعال سازی حالت مجازی سازی شامل دستورالعمل VMXON، یک لایه نرم افزاری "سبک" (اصطلاحات INTEL) بین سخت افزار و سیستم عامل مهمان است. این لایه، هایپروایزر یا مانیتور ماشین مجازی نامیده می شود.

Hypervisor دسترسی مستقیم سخت افزاری را برای هر سیستم عامل مهمان مدیریت می کند. این بدان معنی است که سیستم عامل ها بین خود تقسیم می شوند: زمان پردازنده، فضای دائمی و RAM، و کانال ها و حافظه I/O.

سیستم‌های مهمان توسط Hypervisor از طریق سیگنال‌های VMLAUNCH و VMRESUME شروع می‌شوند. هنگامی که هایپروایزر خاموش می شود و از حالت مجازی سازی خارج می شود، سیگنال VMXOFF را ارسال می کند.

مجازی سازی در فعال است. برای فعال کردن آن، باید آیتم Virtualization را پیدا کنید و مقدار آن را از Disable به Enable تغییر دهید. جایی که این مورد در بایوس سازندگان مختلف قرار دارد در زیر نشان داده شده است:

فناوری مجازی سازی در Award BIOS

بایوس شرکت هیولت پاکارد:

فناوری مجازی سازی در بایوس شرکت هیولت پاکارد