مجازی سازی Virtualizationمجازی سازی Virtualization
به طور خلاصه، مجازی سازی (virtualization) یعنی استفاده از یك نرم افزار خاص برای جداسازی منابع فیزیكی یك كامپیوتر در قالب كامپیوترهای مجازی. لایه جداسازی امكان میدهد كه روی هر كامپیوتر فیزیكی چند VM داشته باشیم. هریك از VMها میتوانند دارای سیستم عامل خود باشند و آن را اجرا كنند. اگر راهاندازی VM در لایه جداسازی به درستی صورت گیرد، سیستم عاملی كه روی VM اجرا میشود، درست مثل اینكه روی خود سخت افزار نصب شده باشد، كار میكند. سیستم عامل میزبان (host)، اولین سیستم عامل است و مستقیما روی سختافزار فیزیكی نصب میشود. مجازی سازی به وسیله نرمافزاری كه روی این سیستم عامل نصب میشود و كار میكند، انجام میگیرد. سیسستمعاملهای میهمان (guest)، تحت نرمافزار مجازی سازی و روی VMهایاختصاصی خودشان اجرا میشوند.سیستم عاملهای میهمان از طریق لایه مجازی سازی بهمنابع ماشین فیزیكی (كامپیوتر اصلی) دسترسی دارند. بخش كلیدی در ساختن لایه جداسازی، معمولا ناظر ماشینمجازی یا Virtual Machine Monitor) VMM) و گاهی هم Hypervisor خوانده میشود. این قسمت از نرمافزار مسئول بهاشتراك گذاشتن منابع فیزیكی كامپیوتر بین VMهایی است كه روی آن اجرا میشوند. نوشتن برنامه VMM كار ساده ای نیست. چون این برنامه باید طوری بهسیستم عامل میهمان وانمود كند كه انگار كنترل سخت افزار واقعی سیستم را در دست دارد. برای انجام این كار،VMM در سطح پردازنده، یعنی حلقه صفر، كار میكند. سیستم عامل میهمان یك سطح بالاتر و در حلقه یك اجرا میشود. اكثر سیستم عاملها برنامههای كاربردی را در حلقه سه اجرا میكنند. در این سطح حفاظتی، برنامههای كاربردی مجوزهای محدودی دارند و نمیتوانند كارهایی را انجام دهند كه به از كارافتادن سیستم عامل یا خطرات امنیتی منجر میشوند. اجراكردن OS در حلقه یك باعث میشود VMM عملیات مختلفی را كه سیستم عامل میخواهد انجام دهد (مثلا دسترسی بهحافظه)، تشخیص دهد وخودش آنها را انجام دهد. بخش مهم دیگر در ساختن VM، جداسازی لایه سختافزار است. نرمافزار VM باید برای OS میهمان، دستگاهها و سختافزارهای مختلف، نظیر چیپ ست IDE، كارت شبكه و كارت اسكازی را بهطور مجازی شبیهسازی كند. هر یك از نرمافزارهای VM، سختافزارهای خاصی را شبیهسازی میكنند. بعد، دستورات و دادههایی كه سیستم عامل میهمان بهاین دستگاه مجازی ارسال میكند، از طریق نرمافزار VM برای سختافزار فیزیكی موجود ترجمه و فرستاده میشود. با استفاده از این دستگاههای سختافزار مجازی، این امكان به وجود میآید كه سیستم عامل میهمان را روی كامپیوتری با سختافزار كاملا متفاوت كپی كنیم و بدون مشكل بهكار خود ادامه دهیم. VMM مسئول فرستادن دادهها و دستورات از دستگاه مجازی بهدستگاه فیزیكی است. برای مثال، محصولات VM مایكروسافت، كارت شبكه Intel 21141 و محصولات VMware هم كارت AMD PCnet را شبیهسازی میكنند.
منبع : |