virtualization Flashcards

1
Q

hypervisor תפקידים

A
  • ניהול משאבים: על hypervisor לשלוט בצורה מלאה במשאבי המחשב, בדומה
    למערכת הפעלה.
  • נאמנות למקור: ההתנהגות של תוכנה צריכה להיות זהה על מכונה וירטואלית ועל חומרה אמיתית.
  • יעילות: ברוב המקרים, תוכנה צריכה לרוץ ללא התערבות מצידו של ה-hypervisor.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

הוראות רגישות )sensitive instructions(

A

הוראות מכונה הפועלות באופן שונה בעת ביצוע במצב מיוחס מאשר בעת ביצוע במצב משתמש

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

הוראות מיוחסות )privileged instructions(

A

הוראות הגורמות ל-TRAP אם הן נקראות במצב משתמש

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

ממד הנאמנות למקור

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

מצב רגיש )sensitive state(

A

הוא מצב שקריאתו בזמן שהמעבד נמצא במצב משתמש אינה גורמת ל TRAP.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Trap and Emulate או שיטת וירטואליזציה בחומרה ) hardware
.(virtualization

A

למערכת מחשב”
אופיינית מדור שלישי אפשר לבנות VMM יעיל אם קבוצת הוראות רגישות היא תת- קבוצה אמיתית של הוראות מיוחסות”.

דהיינו, כדי לבנות VMM יעיל מספיק, דרוש שכל ההוראות העלולות להשפיע על פעילות נאמנה למקור של VMM יגרמו ל-TRAP
ויעבירו פיקוד ל-VMM, וכי ה-VMM יעשה להן חיקוי )emulation(.

לעומת זאת, הפעולות הלא-מיוחסות יכולות להתבצע באופן ישיר וביעילות על המחשב הפיזי

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

(virtualization technology, VT)

A

הרעיון הבסיסי הוא ש-hypervisor יכול לקבוע בעזרת מפת סיביות חומרתית אילו הוראות מכונה יגרמו ל-TRAP בעת ריצתה של מכונה וירטואלית, ובהמשך לדאוג
לביצוע תוכנית בצורה “נאמנה למקור”.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

תרגום בינארי )binary translation(

A

hypervisor המשכתב קוד של תוכנה שרצה עליו בעת ריצתו )on the fly( ומחליף הוראות רגישות או הוראות המכילות פנייה למצבים רגישים בסדרת הוראות המכילות TRAP ל-hypervisor. אחרי ה-TRAP, ה-hypervisor בודק את חוקיות הפעולה הרגישה
ומבצע את אותה הפעולה כאשר המעבד נמצא במצב מיוחס

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

כיצד hypervisor אמור לקבל את ה-TRAP שביצעה הוראה שהוא החליף בעת התרגום הבינארי?

A

?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Hypervisor מטיפוס ראשון

A

סוג של מערכת הפעלה, שכן זוהי התוכנית היחידה
הפועלת במצב מיוחס )kernel mode(. תפקידו של hypervisor מסוג זה הוא להציג כלפי מעלה עותקים של חומרה הנקראים מכונות וירטואליות, בצורה דומה למדי לתהליכים במערכת הפעלה “רגילה”.19 סוג זה של VMM נועד להריץ הן מערכות הפעלה כלליות והן מערכות הפעלה ייעודיות בעלות סט אפליקציות המממש מטרה מסוימת. כתוצאה מכך, הגודל של VM תלוי בנסיבות ובהיקף השירותים: בין עשרות מגה-בתים לעשרות
ג’יגה-בתים.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Hypervisor מטיפוס שני

A

טיפוס זה הוא תוכנה
שרצה על מערכת הפעלה מארחת )host operating system( ומספקת שירותי VMM למערכת הפעלה אורחת )guest operating system( או לכמה מערכות. סוג זה של VMM נועד להריץ תוכנות שנכתבו למערכת הפעלה אחת על גבי מערכת הפעלה אחרת, ומכיוון
שמדובר על מערכות הפעלה כלליות, גודל ה-VM יכול להגיע לעשרות ג’יגה-בתים.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

hypervisor מטיפוס אפס

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

מצב מיוחס וירטואל

A

מערכת ההפעלה האורחת שרצה על המכוה הווירטואלית “חושבת” שהיא רצה במצב
מיוחס, אך למעשה היא רצה במצב משתמש

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

מה קורה להוראות מכונה שמערכת ההפעלה מבצעת אותן במצב

מיוחס וירטואלי

A

הוראות
רגילות יתבצעו ישירות על החומרה, ואילו הוראות מיוחסות )כגון גישה ל-I/O( יגרמו ל-TRAP והפיקוד יעבור ל-hypervisor, אשר יבחן את ההוראה ויבצע הוראות נדרשות כחיקוי

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

מה קורה כאשר מערכת הפעלה שרצה על מכונה וירטואלית מבצעת הוראה רגישה?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

בלוקים בסיסיים )basic blocks(

A

הבלוקים הללו הם רצף של
הוראות שאינו כולל הוראות רגישות או הוראות המשנות את זרימת התוכנית ) control flow(, מלבד הוראה אחת כזאת בסוף הבלוק. כלומר, בלוק בסיסי מכיל הוראות רגילות, ובסוף הבלוק קיימת לכל היותר הוראה אחת שהיא הוראה רגישה או הוראה המשנה
את הזרימה )כגון jump, call וכדומה )3((.

17
Q

אופן ההפעלה של התרגום הבינארי בצורתו הבסיסית

A

ה-hypervisor מבצע חלוקה של התוכנית לבלוקים בסיסיים. הבלוקים הבסיסיים מתבצעים ישירות על CPU. ההוראה האחרונה בבלוק הבסיסי מעבירה שליטה ל-hypervisor, שמחליט כיצד לחקות את הפעולה, ולאחר החיקוי בוחר בלוק בסיסי חדש
אשר שוב מתבצע ישירות על “ברזלים”.

18
Q

רשימה של המקרים שבהם על ה-VMM להימצא במצב מיוחס לקבלת גישה מתאימה.

A

מקרה ראשון – שינוי ה-segment descriptor
מקרה שני – טיפול בפסיקות
מקרה שלישי – טיפול ב-TRAP
מקרה רביעי – world switch

19
Q

שינוי ה-segment descriptor

A

כדי לגרום
לכך שקוד של מערכת הפעלה אורחת שרצה על VMM מסוג 2 תוכל לשנות את תוכן
ה-segment descriptors, ה-VMM צריכה לטפל ב-gate descriptors.

20
Q

טיפול בפסיקות

A

VMM מסוג שני אמנם רץ בתור
תהליך משתמש, אך לרוב יש לו חלק אשר רץ כחלק ממערכת ההפעלה המארחת במצב
מיוחס.

21
Q

טיפול ב-TRAP

A

ה-VMM זקוק לתמיכה באמצעות רכיב )module(
בגרעין של מערכת ההפעלה המארחת. רכיב זה “מודיע” ל-VMM על קרות ה-TRAP בעקבות ביצוע של הוראות המכונה המיוחסות על ה-VMM.

22
Q

world switch

A

אם פסיקת החומרה מתרחשת בעוד ה-CPU מריץ קוד של ה-VMM או של
מערכת ההפעלה האורחת, יש לבצע שתי פעולות:

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

23
Q

וירטואליזציה מלאה *full virtualization)

A

שני סוגי ה-hypervisor )סוג 1 ו-2( מסוגלים להריץ מערכות הפעלה אורחות ללא שינוי.

24
Q

paravirtualization

A

a virtualization technique that presents a software interface to the virtual machines which is similar, yet not identical, to the underlying hardware–software interface.

The intent of the modified interface is to reduce the portion of the guest’s execution time spent performing operations which are substantially more difficult to run in a virtual environment compared to a non-virtualized environment.

25
Q

shadow page table

A

שעל ה-hypervisor לספק מיפוי שיקשר בין המסגרות של
החומרה הווירטואלית של המכונות הרצות עליו לבין מסגרות פיזיות של חומרה
אמיתית. טבלה שמופיע בה מיפוי כזה נקראת shadow page table.

25
Q

shadow page table

A

שעל ה-hypervisor לספק מיפוי שיקשר בין המסגרות של
החומרה הווירטואלית של המכונות הרצות עליו לבין מסגרות פיזיות של חומרה
אמיתית. טבלה שמופיע בה מיפוי כזה נקראת shadow page table.