420 likes | 710 Views
سیستم عامل. فصل پنجم:. Virtual Machines. مبانی ماشین های مجازی. نرم افزار کامپیوتر توسط یک ماشین( پلتفرم) اجرا می شود.
E N D
فصل پنجم: Virtual Machines
مبانی ماشینهای مجازی • نرمافزار کامپیوتر توسط یک ماشین( پلتفرم) اجرا میشود. • از دید یک پردازش که در حال اجرای برنامه کاربر است، ماشین همان فضای حافظه منطقی اختصاص داده شده به او به همراه رجیسترها و دستورالعملهایی است که به پردازش یا Process اجازه اجرای کد را میدهد. • از دید سیستمعامل، یک ماشین عملا از قطعات سخت افزاری همچون یک و یا بیشتر CPUو همچنین تعدادی RAMو قسمتهای ورودی/خروجی تشکیل شده است. • هرگاه یک نرمافزار عادی از واژه ماشین استفاده کند، منظورش سیستمعامل مورد استفاده به همراه گوشهای از جزئیات سختافزاری است که توسط لایه سیستمعامل جداسازی نشده است و نرمافزار باید مستقیما با آنها درگیر باشد. • بنابراین ماشین از دید سیستم عامل، تمامی سختافزارهای موجود در لایههای زیرین هستند که سیستمعامل میتواند از طریق لایه ISA به آنها دسترسی داشته باشد.
مجازی سازی یا شبیه سازی؟ • شبیه سازی با ارائه قسمتی از سرویس های یک نرم افزار سعی بر ارائه محیطی تا حدی شبیه به پلتفرم اصلی برای ارائه سناریو های آزمایش، خطا و یا آموزش را دارد ولی مجازی سازی به صورت کامل یک نمونه از یک نرم افزار را در یک پلتفرم کاملا عملیاتی ارائه می کند.
Virtualization چيست ؟ • اين تکنيک با ايجاد چندين ماشين مجازی بر روی يک سخت افزار امکان استفاده بهينه از سخت افزار و سهولت در نگهداری را فراهم نموده و راندمان و مهيا بودن منابع و کاربردها را به طرز چشم گيری بالا می برد.
VirtualMachine چیست؟ • نرم افزاریست که یک ماشین حقیقی (فیزیکی) را به صورت مجازی پیاده سازی می کند.
انواع ماشین های مجازی ماشین های مجازی ها ، بر اساس استفاده و درجه ارتباط به ماشین واقعی به دو دسته تقسیم می شوند: • System Virtual Machine یا SVM • Process Virtual Machine یا PVM
آشنایی با System Virtual Machine • یک مجازیساز سیستمی ، کل یک سیستم را مجازی میکند. نرمافزار مجازیساز بین سخت افزار و نرمافزار مجازی شده قرار می گیرد. نرمافزار مجازی شده عملا ISA شبیهسازی شده توسط نرمافزار مجازیساز را میبیند نه سختافزار واقعی سیستم را.
آشنایی با Process Virtual Machine • به منظور اجرای یک برنامه واحد طراحی شده است و تنها از یک پروسه پشتیبانی می کند. • مثال: یک برنامه که به زبانجاوانوشته شدهاست، با ارسال فرامین و دریافت نتایج مورد نظرش، خدماتی از نرمافزارماشین مجازی جاوا (JVM) میگیرد. با ارائه این خدمات به برنامه، نرمافزار جاوا، به عنوان یک ماشین مجازی عمل میکند.
Hypervisor چیست؟ • در ماشینهای مجازی سیستمی، اغلب به نرمافزار مجازی کننده Virtual Machine Monitor یا VMM میگویند. که بخش كليدي در ساختن لايه جداسازي است. گاهي هم Hypervisor خوانده ميشود. . اين قسمت از نرمافزار مسئول بهاشتراك گذاشتن منابع فيزيكي كامپيوتر بين VMهايي است كه روي آن اجرا ميشوند. اين برنامه بايد طوري به سيستمعامل ميهمان وانمود كند كه انگار كنترل سخت افزار واقعي سيستم را در دست دارد. براي انجام اين كار،VMM در سطح پردازنده، يعني حلقه صفر، كار ميكند.
انواع Hypervisor • Hypervisor دو نوع است: • Native VM • Hosted VM
Native VM: • ماشین مجازی که در تعامل مستقیم با سخت افزار است. به این صورت که اول یک Native VM نصب می شود سپس سیستم عامل ازطریق Native VM نصب میگردد و منابع سیستم عامل از طریق Native VM اختصاص داده می شود. از نرم افزارهای Native VM میتوان به موارد زیر اشاره کرد: • Microsoft Hyper-V Server • VMware ESX and ESXi
VMware ESXi هسته ی تکنولوژی است که امکان ساخت ماشین مجازی و اختصاص منابع به ماشین را می دهد. ویژگی ها: • میزان فضاMB 32 • مستقل از سیستم عامل • افزایش امنیت، کنترل دستیابی کاربر، پشتیبان گیری • مدیریت حافظه و شبکه • اجرای نرم افزارهای متمرکز با کمترین سرریز • پشتیبانی از سیستم عامل های Windows ,Linux, Solaris ,Netware
: Hosted VM • ماشین مجازی که در تعامل مستقیم با سیستم عامل است به این صورت که اول یک سیستم عامل نصب می شود سپس یک Hosted VM نصب میگردد و سیستم عامل ها درون Hosted VM قرار می گیرند. از نرم افزارهای Hosted VM میتوان به موارد زیراشاره کرد: • Microsoft Virtual PC • Microsoft Hyper-V • VMware Workstation • Sun Microsystems Virtual Box
صرفه جویی در تهیه سخت افزار • افزایش بهره وری • نگهداری بهتر سیستمها • کاهش زمان بازیابی سیستمها • استقلال سیستم عامل از سخت افزار و قابلیت حمل • کاهش هزینه ها
حداقل 6 روش مجازی سازی وجود دارد: • مجازی سازی سرور • مجازی سازی دسکتاپ • مجازی سازی نرم افزار • مجازی سازی storage • مجازی سازی I/O • مجازی سازی شبکه
ساخت VM • Hypervisor مسئول بهاشتراك گذاشتن منابع فيزيكي كامپيوتر بين VMهايي است كه روي آن اجرا ميشوند. نوشتن برنامه VMM كار ساده اي نيست. چون اين برنامه بايد طوري بهسيستمعامل ميهمان وانمود كند كه انگار كنترل سخت افزار واقعي سيستم را در دست دارد. براي انجام اين كار،VMM در سطح پردازنده، يعني حلقه صفر، كار ميكند. • بخش مهم ديگر در ساختن VM، جداسازي لايه سختافزار است. نرمافزار VM بايد براي OS ميهمان، دستگاهها و سختافزارهاي مختلف، نظير چيپ ست IDE، كارت شبكه و كارت اسكازي را بهطور مجازي شبيهسازي كند. هر يك از نرمافزارهاي VM، سختافزارهاي خاصي را شبيهسازي ميكنند. بعد، دستورات و دادههايي كه سيستمعامل ميهمان بهاين دستگاه مجازي ارسال ميكند، از طريق نرمافزار VM براي سختافزار فيزيكي موجود ترجمه و فرستاده ميشود
به طور کلی آسیبپذیری ماشینهای مجازی به سه گروه تقسیم می شود: • آسیبپذیری های ذاتی • آسیبپذیری های محیط مجازی سازی • آسیبپذیرهای پیادهسازی
ادغام سرور ها • چگونه مجازی سازی به جریان زیرساخت های فناوری اطلاعات کمک می کند. • مجازی سازی چقدر قابل اطمینان است؟ • چگونه اطلاعات خود را با مجازی سازی برگردانیم؟
هر ماشین مجازی در زیر ساخت های مجازی شرکت VMware از فایل های زیر تشکیل شده است.
قابلیت ها: - قابلیت اجرای سیستم عامل های ۶۴-bit- قابلیت کنترل کلیه های پروسه های در حال اجرا- پشتیبانی از خروجی صدا HD- قابلیت باز کردن وتبدیل فایل های برنامه های مشابه و اجرا نمودن آن ها- اضافه شدن ماشین مجازی جدید برای جستجو آسان تر- قابلیت نمایش سیستم عامل قبل از اجرای آن- پشتیبانی از انواع سیستم عامل
ایجاد سیستم مجازی 4.1.12Virtual Box • امکان استفاده از چندین سیستم عامل را به صورت مجازی به کاربر می دهد. • از بسیاری جهات از VMware Workstation بهتر عمل میکند. • کارایی بالا • بصورت رایگان وopen source در دسترس است با عنوان General Public License (GPL).
سازگار با سيستم عامل هاي : 1. Win XP SP3 2. Win XP SP2 64bit 3. Win Vista SP2 64bit 4. Win Vista SP2 5. Win 7 SP1 64bit 6. Win 7 SP1