Xen

היסטוריה

פיתוחה של Xen החל בשנת 1995 במעבדות אוניברסיטת קיימברידג' בראשות ד"ר איאן פראט (Ian Pratt), כחלק ממערכת הפעלה למולטימדיה בשם Nemesis. בתקופה הפיתוח המחשבים הביתיים לא היו בעלי משאבים מספקים כדי להריץ את Xen, אבל כיום המחשבים חזקים דיים כדי להפיק את מלוא התועלת מטכנולוגיה זו במחיר סביר. כיום החברה XenSource שהוקמה על ידי איאן פראט תומכת בפיתוח Xen שמפותחת בצורת פרויקט קוד פתוח.
התוכנה פורסמה לראשונה לרשות הציבור ב־2003. מאז Xen הגיע כבר לגרסה 3.0.
בסוף שנת 2007, נרכשה XenSource על ידי [Citrix Systems] האמריקאית (Nasdaq: CTXS), אשר הוסיפה את הטכנולוגיה לסל המוצרים שלה תחת השם המסחרי XenServer.

דרך הפעולה

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

הפתרון של Xen

לעומת התוכנות VMWare, QEMU, Bochs ויישומים אחרים, הפתרון של Xen דורש ביצוע שינויים במערכת ההפעלה האורחת. במקום שהמכונה הווירטואלית של Xen תנצל הרבה משאבים, מערכת ההפעלה האורחת תוכל לדבר איתה ישירות, מאחר שהיא עכשיו מודעת לקיומה. Xen עצמה היא מעין ארכיטקטורת חומרה חדשה, שמחליפה את הפלטפורמה בה מותקנת מערכת ההפעלה העיקרית ועבורה יש צורך כעת להסב ליבות מערכות ההפעלה שרוצים להריץ במכונה הווירטואלית.
השינויים הם קטנים יחסית ולכן צוות הפיתוח יכול לעמוד במשימה. הפרויקט המקורי יצר גרסת לינוקס, גרסת NetBSD וגם גרסת FreeBSD שרצות על Xen. מספר הפצות לינוקס, בהן SUSE ו-Fedora כבר מופצות כאשר הן כוללות אפשרות לרוץ על מערכת Xen, כלומר כמערכת אורחת במכונת 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 הודות לתקשורת הבלתי אמצעית עם מערכת ההפעלה האורחת.