PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : نسل سوم مجازی‌سازی



zartosht
May 28th, 2014, 15:39
در روزهای ابتدایی شکل گیری مجازی‌سازی، مجازی سازها به صورت نرم‌افزاری پیاده سازی می‌شدند. به‌عبارتی نرم‌افزارها دستورالعمل‌ها را به صورت نرم‌افزاری شبیه‌سازی می‌کردند.

در مجازی‌سازهای نرم‌افزاری سرعت اجرای ماشین‌ها به دلیل سربار فراوانی که وجود داشته بسیار پایین بود. VMWare (http://www.iranserver.com/dedicated-server/virtualization/) از اولین مجازی‌سازهای نرم‌افزاری بود.





http://blog.iranserver.com/wp-content/uploads/2014/05/virtual.png



نسل اول مجازی‌سازهای سخت‌افزاری با استفاده از اکستنشن VT-x و یا AMD-V پیاده سازی شد. این اکستنشن دستورات ماشین‌های مجازی را به صورت سخت‌افزاری اجرا می‌کردند در نتیجه سرعت اجرای ماشین‌ها افزایش یافت.
با وجود افزایش سرعت مدیریت حافظه و I/O هنوز مشکلی حل نشده بود. Xen (http://www.iranserver.com/dedicated-server/virtualization/)از جمله اولین مجازی‌سازهایی بود که با استفاده از paravirtualization و با تغییر در (کدهای) ماشین مجازی تلاش کرد مشکل مدیریت حافظه و I/O را حل کند.
http://blog.iranserver.com/wp-content/uploads/2014/05/virtu-01.png
نسل سوم مجازی‌سازهای سخت‌افزاری که با نام Second Level Address Translation و یا SLAT شناخته می‌شود، این نسل با استفاده از اکستنشن NPT/EPT کار می‌کند و تلاش کرده‌است تا مشکل مدیریت حافظه را حل کند. از آنجا که در این روش مدیریت حافظه به صورت شفاف و در پایین‌ترین لایه سخت افزاری انجام می‌شود هزینه کاهش پیدا می‌کند.



تا قبل از ساخت NPT/EPT ماشین‌های مجازی مدیریت حافظه یا MMU را به صورت نرم‌افزاری مدیریت می‌کردند. برای درک بهتر موضوع باید با hardware page tables و مدیریت حافظه آشنا شویم.


سخت‌افزارها قسمتی دارند به نام hardware page tables که در آن جدول محل هر پیج حافظه مشخص شده‌است، اطلاعات برنامه نمونه A به بخش‌های کوچکی تقسیم می‌شود و ممکن است در قسمت‌های متفاوت حافظه پخش شود. محل هر بخش از این اطلاعات در hardware page tables دخیره می‌شود و برنامه‌ها (سیستم‌عامل) میتوانند با استفاده از اطلاعات این جدول به محل دقیق اطلاعات دسترسی داشته باشند.




در مجازی‌سازها سیستم‌عامل‌های ماشین‌های مجازی نباید به این جدول دسترسی داشته باشند. اگر برنامه‌های داخل ماشین مجازی به hardware page tables دسترسی داشته باشند می‌توانند داده‌های ماشین‌های دیگر را نیز بخوانند و یا تغییر دهند. در نتیجه مجازی‌سازی سعی می‌کند با استفاده از Shadow page tables اطلاعات محل هر پیج حافظه ماشین مجازی را به جدول hardware page tables لینک کند.




http://blog.iranserver.com/wp-content/uploads/2014/05/eGwwbGVvMTI_o_data-virtualization-basics.jpg



نسل سوم مجازی‌سازهای (http://www.iranserver.com/dedicated-server/virtualization/) سخت‌افزاری با افزودن واحد جدیدی به حافظه عمل تبدیل آدرس حافظه را به صورت اتوماتیک و بدون دخالت ماشین مجازی انجام می‌دهد.