جهان متنباز در يکسال اخير با پديدهاي بهنام مجازيسازي روبهرو شده که در راس آنها پروژه بهنام Xen قرار گرفته است.
از دلايل موفقيت و محبوبيت اين پروژه ميتوان به مواردي از قبيل پشتيباني سه توزيع قدرتمند لينوکس از اين پروژه، همکاري گروه توسعهدهنده برنامه مجازيسازي VMWare با اين پروژه، تمايل شرکتهاي بزرگي مانند سان مايکروسيستمز، اينتل و سان به توسعه اين پروژه و در نهايت پيشرفت چشمگير و سريع اين برنامه در نسخههاي جديد اشاره کرد که باعث شد تا توجه محافل و صنعت مجازيسازي بهسمت اين پروژه بزرگ متنباز جلب شود.
ما در اين مطلب قصد داريم تا شما را با اين پروژه متنباز و ساختارهاي آن آشنا کنيم.
پروژه Xen Virtual Machine Monitor در حال حاضر بهصورت کاملا متنباز در آزمايشگاههاي رايانه در دانشگاه کمبريج توسعه داده ميشود.
هدف اصلي اين پروژه، ارائه يک برنامه مجازيسازي بهنام Xen است که به کاربرش امکان ساخت و برپاسازي چندين ماشين مجازي با قابليت اجرا توسط سيستمعاملهاي مختلف روي يک سختافزار واحد را ميدهد.
با اين ابزار اپنسورس، پلتفرمهاي مهمان به هسته لينوکس متصل ميشوند و براي هسته سيستمعامل NetBSD/FreeBSD امکان يکپارچهسازي آنها وجود دارد.
در نهايت با استفاده از اين برنامه، کاربران اين امکان را پيدا خواهند کرد تا چندين سيستمعامل مهمان را روي سيستمعاملهاي مختلف يونيکس بدون نياز به اصلاح کد و ساختار هسته سيستمعامل مادر راهاندازي کنند.
متنباز بودن اين برنامه راهکاري شده براي شرکتهايي مانند سانمايکروسيستمز (سازنده سيستمعامل سولاريس) که قصد دارند تا اين برنامه را براي سيستمعامل خود سازگار کنند.
جالب است بدانيد که اين پروژه محبوب در جامعه متنباز از ابتدا متنباز نبوده و در چندين سال اول توسعه خود بهصورت کاملا متنبسته وجود داشته است. در آن زمان پروژههاي متنبازي مانند Qemu و Bochs IA-32 مطرح بودند که بيشتر برنامههاي شبيهسازي معماريهاي سختافزاري را در خود داشتند و به هيچ وجه از کارآيي و قابليتهاي خاص در مجازيسازي برخوردار نبودند اما با تولد Xen، جهان متنباز با رويکردي جديد مواجه شد که در حقيقت موفقيت پروژه Xen در مقايسه با ديگر پروژههاي متنباز، سازگاري و يکپارچهسازي با هسته سيستمعامل لينوکس و نيز فراهم کردن بستري مناسب براي پشتيباني سختافزار سيستمهايي مانند اينتل و AMD است.
از ديگر گامهاي مثبت اين پروژه ميتوان به آگوست سال 2005 ميلادي اشاره کرد که شرکت XenSource که پشتيبان رسمي و توسعهدهنده تجاري پروژه بود، اقدام به انتشار IDF (Inter Developer Forum) کرد و نيز امکان اجراي مجازي ويندوز Xp sp2 را در کنار لينوکس فراهم کرد.
اين اقدامات مثبت عاملي شد تا VMWare همکاريهاي جديد و دوستانه خود را با برنامهنويسان اين پروژه شروع کند.
در همين اوضاع و احوال که Xen معروفتر ميشد، اتفاق مهم ديگري براي Xen افتاد و آن پشتيباني توزيع لينوکس فدورا 4، دبيان و اپنسوزه 9.3 از اين برنامه و نيز اضافه شدن آن به توزيع لينوکسسرور RHEL5 بود.
تمام اين اتفاقها عاملي شد تا برنامه Xen بهعنوان اولين گزينه در انتخاب برنامه مجازيسازي براي لينوکس مطرح شود و نيز جامعه متنباز روي به استفاده و نيز کمک به توسعه آن آوردند. همچنين نظر شرکتهاي سختافزاري معتبري مانند HP و IBM بهسمت اين برنامه جلب شد تا از توزيعهاي مختلف لينوکس و نيز برنامههاي متنباز XEN براي محصولات خود استفاده کنند.
برنامه Xen از روشي بهنام Paravirtualization براي پيادهسازي سيستمعاملهاي مهمان استفاده ميکند.
تفاوت اصلي Xen با ديگر برنامههاي مجازيسازي و شبيهساز در شيوه پيادهسازي ماشينهاي مجازي روي يک سيستم است.
Paravirtualization سيستمعامل و سختافزار مادر را در يک سطح و ماشينهاي مجازي را در سطح ديگر پيادهسازي ميکند.
جالب است بدانيد که مزيت اين روش، عدم تداخل فرآيندهاي اجرايي سيستمعامل و امکان افزودن کارهاي جديد به هسته سيستمعامل بدون کامپايل هسته و يا دستکاري آن است.
Xen از يک مدل چهارلايهاي براي سيستمهاي X64،X386 و X86 استفاده ميکند که به هر لايه يک RING ميگويند.
در RING0 سيستمعامل مادر و نيز خود برنامه اجرا ميشود که به برنامه XEN در اين حالت اصطلاحا Hypervisor ميگويند زيرا بايد در بالاترين سطح دسترسي براي کدهاي سيستمعامل مهمان باشد. RING1 و RING2 به سيستمعامل مهمان اختصاص دارد و در RING3 برنامههاي کاربردي اجرا ميشوند.
هانيه تندهوش