Xen

Xen (מבוטא "זֶן") היא תוכנת Hypervisor המאפשרת להריץ מערכות הפעלה על גבי מכונה וירטואלית. Xen רצה על מעבדי אינטל, AMD ומעבדי PowerPC של IBM. ניתן להריץ באמצעותה מספר מערכות הפעלה על אותו המחשב בו זמנית, כולל גרסאות של לינוקס, BSD וחלונות. היא עושה זאת בשיטה של פארא-וירטואליזציה, שיטה הדורשת שינויים במערכת ההפעלה האורחת, או ללא שינוי כלל – באמצעות וירטואליזציית חומרה (טכנולוגיית VT, פסיפיקה וכדומה).

היסטוריה
פיתוחה של Xen החל בשנת 1995 במעבדות אוניברסיטת קיימברידג' בראשות ד"ר איאן פראט (Ian Pratt), כחלק ממערכת הפעלה למולטימדיה בשם Nemesis. באותה תקופה המחשבים הביתיים לא היו בעלי משאבים מספקים כדי להריץ את Xen. עם השנים המחשבים הפכו לחזקים דיים כדי להפיק את מלוא התועלת מטכנולוגיה זו.

כיום החברה XenSource, שהוקמה על ידי איאן פראט, תומכת בפיתוח Xen בפרויקט קוד פתוח.

התוכנה פורסמה לראשונה לרשות הציבור ב־2003.

בסוף שנת 2007, נרכשה XenSource על ידי Citrix Systems האמריקאית, אשר הוסיפה את הטכנולוגיה לסל המוצרים שלה בשם המסחרי XenServer.

דרך הפעולה
מעבדים מודרניים עוזרים למערכות הפעלה להגן על מרחבי זיכרון של תהליכים על ידי כך שפעולות מסוימות מותרות לביצוע רק כאשר המעבד נמצא במצב מיוחס (privileged mode). ליבת מערכת ההפעלה רצה במצב מיוחס: יש לה גישה מלאה למעבד. במצב כזה, יישומים או דרייברים גרפיים למשל, עלולים לגרום לקריסת מערכת ההפעלה. וירטואליזציה מלאה של החומרה מאפשרת לבודד יישומים זה מזה וממערכת ההפעלה תוך הבטחת רמת שירות סבירה.

תוכנות וירטואליזציה מנסות לאפשר למשתמש להריץ גם הוראות של ליבת מערכת (במערכת המדומה) בתור תהליך משתמש רגיל. למערכות שונות יש פתרונות שונים, אולם אפילו הפתרונות היעילים יחסית של התוכנה VMWare הם עדיין יקרים למדי. הפתרון של Xen הוא לשנות את מערכת ההפעלה כך שהיא לא תריץ הוראות במצב מיוחס.

הפתרון של Xen
לעומת התוכנות VMWare, QEMU, Bochs ויישומים אחרים, הפתרון של Xen דורש ביצוע שינויים במערכת ההפעלה האורחת. במקום שהמכונה הווירטואלית של Xen תנצל משאבים רבים, מערכת ההפעלה האורחת תוכל לדבר אתה ישירות, מאחר שהיא עכשיו מודעת לקיומה. Xen עצמה היא מעין ארכיטקטורת חומרה חדשה, שמחליפה את הפלטפורמה בה מותקנת מערכת ההפעלה העיקרית, ועבורה יש צורך להסב כעת ליבות מערכות ההפעלה שרוצים להריץ במכונה הווירטואלית.

השינויים הם קטנים יחסית, ולכן צוות הפיתוח יכול לעמוד במשימה. הפרויקט המקורי יצר גרסת לינוקס, גרסת NetBSD וגם גרסת FreeBSD שרצות על Xen. מספר הפצות לינוקס, בהן SUSE ו-Fedora כבר מופצות כאשר הן כוללות אפשרות לרוץ כמערכת אורחת במכונת Xen וירטואלית.

ההבדל היחיד בין מערכת ההפעלה העיקרית (VMX Root) ומערכות ההפעלה האחרות (VMX Non-Root) שיותקנו בהמשך, הוא בהרשאות המיוחדות שיש לה. למערכת ההפעלה הראשונה יש גישה מלאה לחומרה והיא יכולה ליצור מכונות וירטואליות אחרות. קרנל Xen של SUSE יכול עכשיו להריץ עותק נוסף של מערכת ההפעלה במכונה וירטואלית נפרדת, ולספק לה חלק יחסי של הזיכרון והמעבד שזמין עבור מערכת ההפעלה העיקרית.

הבעייתיות של Xen
בעוצמה של Xen טמונה גם נקודת התורפה שלה, יש צורך בגישה לקוד המקור של מערכת ההפעלה לצורך ביצוע השינויים שבלעדיהם Xen לא יכולה לעבוד. כאשר מדובר במערכות הפעלה פתוחות כמו לינוקס ו-BSD, אין כל קושי, אבל לא כך הדבר כאשר מדובר במערכות הפעלה קנייניות כדוגמת חלונות.

למעשה, חברת מיקרוסופט היא החברה היחידה שנשארת מחוץ לתמונה. אינטל, HP, IBM וסאן מיקרוסיסטמס עסוקות כולן בהסבת Xen לארכיטקטורות החומרה ומערכות ההפעלה שלהן. למרות זאת, מיקרוסופט באמצעות מעבדות המחקר שלה, הייתה מעורבת בשלבים המוקדמים בפרויקט ואף פותח אב-טיפוס של חלונות עבור Xen, אך הפיתוח הופסק וכיום אין חברת מיקרוסופט מפתחת יותר תמיכה ב־Xen למערכת ההפעלה שלה.
מיקרוסופט מבחינתה משקיעה מאמצים בטכנולוגיות Virtual PC אותן היא רכשה בשנת 2003 מחברת Connectix וכפי הנראה עסוקה בפיתוח פתרון משלה.

בינתיים, הודות למאמציהן של AMD ו־Intel הטכנולוגיה הופכת יעילה עוד יותר, בשבבים החדשים של מעבדיהן יש חלק מיוחד בשם VMX Root, שמבצע את מה שה-VMM של Xen עושה כיום בחומרה וללא צורך בפאטצ' בינארי יקר. שבבים אלו אינם מיועדים להחליף את מדמה החומרה של Xen או של VMWare, אלא לשמש אותם ולעזור להם.

המתחרים
ל-Xen יש מתחרים למרות הסיוע והגיבוי הנרחב שהפרויקט זוכה לו, חברת EMC שרכשה את VMWare כבר מציעה תמיכה בריבוי מעבדים (עד 8 מעבדים בגרסה העדכנית של vSphere). חברת מיקרוסופט מפתחת טכנולוגיית מכונה וירטואלית דומה שצפויה להיות זמינה בשנת 2007, וגם IBM מפתחת טכנולוגיה משלה בשם rHype, אבל כפי הנראה לא עבור מעבדי אינטל.

בנוסף לכך, ישנן אופציות פחות כבדות, אשר מאפשרות חלוקת מחשב בין מספר משתמשים. לדוגמה: User Mode Linux, OpenSZ/Virtuozo, ו־ Linux-VServer

שימושים
האפשרויות מוגבלות על ידי הדמיון בלבד, בין היישומים המתבקשים: וירטואליזציה של חוות שרתים, סביבות מבחן לניהול תצורה, מערכות בדיקות איכות, העברה "חמה" של מערכת הפעלה מחומרה אחת לאחרת, VM Relocation, מתחרה בטכנולוגיה דומה של חברת VMWare המכונה VMotion, אבל עם היתרון המובהק של Xen הודות לתקשורת הבלתי אמצעית עם מערכת ההפעלה האורחת.

קישורים חיצוניים

 

 The Xen™ virtual machine monitor

וירטואליזציה