Xen
מתוך ויקיפדיה, האנציקלופדיה החופשית
| יש לשכתב ערך זה ייתכנו לכך מספר סיבות: ייתכן שהמידע המצוי בדף זה מכיל טעויות, או שהניסוח וצורת הכתיבה שלו אינם מתאימים לוויקיפדיה. אתם מוזמנים לסייע ולתקן את הבעיות בדף זה, אך אנא אל תורידו את ההודעה כל עוד לא תוקן הדף. אם אתם סבורים כי אין בדף בעיה, ניתן לציין זאת בדף השיחה שלו. |
Xen (מבוטא "זֶן") היא היפרויזור - מערכת הפעלה רזה מאד, המאפשרת להריץ מערכות הפעלה על גבי מכונה וירטואלית. היא עושה כן בשיטה של פאראוירטואליזציה (שיטה הדורשת שינויים במערכת ההפעלה האורחת) או ללא שינוי כלל, באמצעות וירטואליזציית חומרה (טכנולוגיית VT, פסיפיקה וכדומה).
Xen מכבידה על יישום טיפוסי בכ-3% בלבד בזמן הביצוע.
תוכן עניינים |
[עריכה] היסטוריה
פיתוחה של Xen החל בשנת 1995 במעבדות אוניברסיטת קיימברידג' בראשות ד"ר איאן פראט (Ian Pratt), כחלק ממערכת הפעלה למולטימדיה בשם Nemesis. אבל רק כיום המחשבים חזקים דיים כדי לאפשר להפיק את מלא התועלת מטכנולוגיה זו, במחיר סביר. וירטואליזציה מלאה של החומרה מאפשרת לבודד יישומים זה מזה וממערכת ההפעלה תוך הבטחת רמת שירות סבירה. בשנים האחרונות חברות כמו יבמ, אינטל ו-AMD החלו משלבות תמיכה ב-VM של חומרה בתוך המעבדים שלהן במעבדי POWER, AMD ו-Intel עם עם טכנולוגיות כמו VT ו-Pacifica.
http://photos13.flickr.com/19158074_d65363f56c.jpg
[עריכה] דרך הפעולה
מעבדים מודרניים עוזרים למערכת הפעלה להגן על מרחב זכרון של תהליכים על ידי כך שפעולות מסוימות מותרות לביצוע רק כאשר המעבד נמצא במצב פריבילגי. ליבת מערכת ההפעלה רצה במצב פריבילגי: יש לה גישה מלאה למעבד. במצב כזה, יישומים או דרייברים גרפיים למשל, לא יכולים לגרום לקריסת מערכת ההפעלה.
תוכנות וירטואליזציה מנסות לאפשר למשתמש להריץ גם הוראות של ליבת מערכת (במערכת המדומה) בתור תהליך משתמש רגיל. למערכות שונות יש פתרונות שונים, אולם אפילו הפתרונות היעילים יחסית של VMWare הם עדיין יקרים למדי. הפתרון של Xen הוא לשנות את מערכת ההפעלה כך שהיא לא תריץ הוראות במצב פריבילגי.
[עריכה] הפתרון של Xen
לעומת VMWare, QEMU, Bochs ויישומים אחרים, הפתרון של Xen דורש ביצוע שינויים במערכת ההפעלה האורחת. במקום שה-VMM של Xen יתאמץ, מערכת ההפעלה האורחת תוכל לדבר איתו ישירות, מאחר שהיא עכשיו מודעת לקיומו. מערכות שהותאמו ל־Xen, לא ניתן להריץ על גבי חומרה אחרת. Xen עצמה היא מעין ארכיטקטורת חומרה חדשה, שמחליפה את הפלטפורמה בה מותקנת מערכת ההפעלה העיקרית ועבורה יש צורך כעת להסב ליבות מערכות ההפעלה שרוצים להריץ ב־VM.
למרבה המזל, השינויים הם קטנים יחסית ולכן צוות הפיתוח יכול לעמוד במשימה. הפרויקט המקורי יצר גרסת לינוקס שרצה על מערכת Xen. בינתיים נכתבה תמיכה ב־Xen גם ל־NetBSD וגם ל־FreeBSD. מספר הפצות לינוקס, בהן SUSE ו-Fedora כבר מופצות כאשר הן כוללות אפשרות לרוץ על מערכת Xen (כלומר: כמערכת אורחת במכונת Xen וירטואלית).
ההבדל היחיד בין מערכת ההפעלה העיקרית (VMX Root) ומערכות ההפעלה האחרות (VMX Non-Root) שתתקין בהמשך, הוא בהרשאות המיוחדות שיש לה. למערכת ההפעלה הראשונה יש גישה מלאה לחומרה והיא יכולה ליצור מכונות וירטואליות אחרות. קרנל Xen של SUSE יכול עכשיו להריץ עותק נוסף של מערכת ההפעלה ב-VM נפרד, ולספק לו חלק יחסי של הזיכרון והמעבד שזמין עבור מערכת ההפעלה העיקרית.
[עריכה] כל מערכת הפעלה?
בעוצמה של Xen טמונה גם נקודת התורפה שלה. יש צורך בגישה לקוד המקור של מערכת ההפעלה לצורך ביצוע השינויים. כאשר מדובר במערכות הפעלה פתוחות כמו לינוקס ו-BSD, אין כל קושי כמובן, אבל לא כך הדבר כאשר מדובר במערכות הפעלה קנייניות.
למעשה, חברת מיקרוסופט היא החברה היחידה שנשארת מחוץ לתמונה. אינטל, HP, יבמ וסאן עסוקות כולן בהסבת Xen לארכיטקטורות החומרה ומערכות ההפעלה שלהן. למרות שמיקרוסופט, באמצעות מעבדות המחקר שלה, הייתה מעורבת בשלבים המוקדמים בפרויקט ואף פותח אב-טיפוס של חלונות עבור Xen, שם זה גם פחות או יותר נגמר כמובן.
מיקרוסופט מבחינתה משקיעה מאמצים בטכנולוגיות Virtual PC אותן היא רכשה בשנת 2003 מחברת Connectix וכפי הנראה עסוקה בפיתוח פתרון משלה.
בינתיים, הודות למאמציהן של AMD ו-Intel הטכנולוגיה הופכת יעילה עוד יותר. בשבבים החדשים יש ring מיוחד בשם VMX Root, שמבצע את מה שה-VMM של Xen עושה כיום בחומרה וללא צורך ב-binary patching יקר. שבבים אלו אינם מיועדים להחליף את ה-hypervisor של Xen או של VMWare, אלא לשמש אותם.
[עריכה] המתחרים של Xen
חברת IBM למעשה המציאה את התחום של מכונות וירטואליות עם מערכת OS/360 ויורשותיה OS/370 ו־OS/390. מערכות אילו יכולות להריץ מגוון מערכות אחרות כמכונות וירטואליות. אם כי כיום הם משמשות בעיקר להרצת לינוקס.
גם ל-Xen יש מתחרים כמובן, למרות הסיוע והגיבוי הנרחב שהפרויקט זוכה לו. חברת EMC שרכשה את VMWare בשנה שעברה' כבר מציעה תמיכה ב-SMP (עד 4 מעבדים לקראת סוף 2005). חברת מיקרוסופט מפתחת טכנולוגיית Hypervisor דומה, שצפויה להיות זמינה בשנת 2007, וגם יבמ מפתחת טכנולוגיה משלה בשם rHype, אבל כפי הנראה לא עבור מעבדי אינטל.
מצד שני יש אופציות פחות כבדות, אשר מאפשרות חלוקת מחשב בין מספר משתמשים. לדוגמה: User Mode Linux, OpenSZ/Virtuozo, ו־ Linux-VServer
[עריכה] מה אפשר לעשות עם Xen
האפשרויות מוגבלות על ידי הדימיון בלבד. בין היישומים המתבקשים וירטואליזציה של חוות שרתים, סביבות מבחן לניהול תצורה, מערכות בדיקות איכות (על ידי ניצול יכולת איסוף והפעלה מחדש, replay, של אירועים באופן אוטומטי), אבל גם דברים מעניינים יותר. למשל, העברה "חמה" של מערכת הפעלה מחומרה אחת לאחרת. VM Relocation, מתחרה בטכנולוגיה דומה של חברת VMWare המכונה VMotion, אבל עם היתרון המובהק של Xen הודות לתקשורת הבלתי אמצעית עם מערכת ההפעלה האורחת.

