מהי מכונה וירטואלית - סוגים ויתרונות

נסה את הכלי שלנו לביטול בעיות





הרעיון של מכונה וירטואלית הוצג בסביבות 1960. זו האבולוציה של טכניקת חלוקת הזמן. בשיטת שיתוף הזמן, לכל תוכנית יש גישה מלאה לכל משאבי המחשב, אך בכל פעם, תבוצע תוכנית אחת בלבד. המערכת עוברת בין תוכניות בפרוסות זמן תוך שמירה ושחזור של מצבי התוכנית בכל פעם. בעזרת השימוש בשיטת שיתוף הזמן, מספר משתמשים יכולים להשתמש במערכת המחשבים במקביל. מרכזי המחקר של יבמ פיתחו את שיטת שיתוף הזמן כמכונות וירטואליות. CP-67 היה הראשון שזמין ארכיטקטורת מכונות וירטואליות . פותחו מערכות עם מספר מכונות וירטואליות על מארח אחד ומכונה וירטואלית אחת על מספר מארחים.

לפני השקת חומרה חדשה כלשהי טֶכנוֹלוֹגִיָה , זה נבדק לראשונה על האמולטור כדי לזהות, ליצור מחדש ולתקן את הפגמים בתכנון ובצעדים הנחוצים. באופן דומה, לפני הצגת תוכנה חדשה כלשהי, היא מדומה לבדוק אם יש שגיאות ולפתור באגים. לשם ביצוע משימה זו, מערכת שיכולה לשמש תחליף לסביבה הראשית לבניית טכנולוגיה חדשה. כאן נכנסות לתמונה מכונות וירטואליות. זה משמש כמו הדמיה של מערכת המחשב המספקת את הפונקציונליות המלאה של המערכת הפיזית.




מהי מכונה וירטואלית?

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

VM (מכונה וירטואלית) הוא הדמיה של מערכת מחשב, שבה מכונות אלה משתמשות בארכיטקטורות מחשב כדי לספק את הפונקציונליות של מחשב פיזי. המכשיר הפיזי עליו פועלות מכונות וירטואליות מכונה Host, ואילו המכונות הווירטואליות מכונות אורח. מארח יחיד יכול להכיל מספר רב של אורחים.



סוגי מכונות וירטואליות

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

1). מכונות וירטואליות של המערכת


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

כדי לאפשר שיתוף זיכרון בין מכונות וירטואליות שונות במחשב אחד מערכת הפעלה , ניתן ליישם מערכות זיכרון יתר. ניתן לשתף דפי זיכרון עם תוכן זהה בין מספר מכונות וירטואליות הקיימות באותו מארח פיזי. זה מאוד שימושי עבור דפים לקריאה בלבד.

2). עיבוד מכונות וירטואליות (VM)

מחשבים וירטואליים אלה ידועים גם כמכונות וירטואליות של יישומים, סביבות זמן ריצה מנוהל. סוג זה של VM פועל כיישום רגיל בתוך מערכת ההפעלה של המארח, התומך בתהליך יחיד. הוא נוצר עם תחילת התהליך ונהרס כאשר התהליך מסתיים. הוא משמש כדי לספק תלות בלתי תלויה בפלטפורמה תִכנוּת הסביבה לתהליך, מה שמאפשר לו לבצע באותו אופן בכל אחת מהפלטפורמות האחרות.

תהליך-מכונה וירטואלית

תהליך-מכונה וירטואלית

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

ארכיטקטורה

תוכנת Runtime היא תוכנת הווירטואליזציה המיישמת את ה- VM VM. הוא מיושם ברמת ה- API של ארכיטקטורת המחשב מעל השכבה המשולבת של מערכת ההפעלה והחומרה. זה מחקה את ההוראות ברמת המשתמש, כמו גם שיחות מערכת הפעלה או ספרייה. עבור המכונה הווירטואלית של המערכת, תוכנת הווירטואליזציה נקראת Virtual Machine Monitor (VMM). תוכנה זו קיימת בין מכונת החומרה המארחת לתוכנת האורח. VMM מחקה את ISA החומרה המאפשר לתוכנת האורח לבצע ISA אחר.

יתרונות

חלק מהיתרונות של המכונות הווירטואליות הם כדלקמן -

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

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