Presentation is loading. Please wait.

Presentation is loading. Please wait.

מערכות הפעלה ( אביב 2008) חגית עטיה © 1 וירטואליזציה.

Similar presentations


Presentation on theme: "מערכות הפעלה ( אביב 2008) חגית עטיה © 1 וירטואליזציה."— Presentation transcript:

1 מערכות הפעלה ( אביב 2008) חגית עטיה © 1 וירטואליזציה

2 מערכות הפעלה ( אביב 2008) חגית עטיה ©2 וירטואליזציה - רקע  מערכת ההפעלה מספקת אשלייה של " מכונה וירטואלית " לתהליכים זיכרון וירטואלי השייך כולו לתהליך " מעבד וירטואלי " שבו רצים רק חוטי התהליך ערוצי תקשורת ל " מכונות וירטואליות " אחרות  אבל.. אין בידוד מלא בין תהליכים :  ניתן ללמוד על תהליכים וחוטים אחרים דרך קריאות מערכת  המשאבים משותפים - בד " כ אין הקצאה קשיחה של משאבים לתהליכים  פירצת אבטחה במערכת ההפעלה יכולה להזיק להרבה תהליכים קשה לפתח תוכנה " רגישה " כגון מנהלי התקנים ועדכונים לגרעין מ " ה תלות בחומרה מדור מסוים, בקונפיגורציה מסוימת

3 מערכות הפעלה ( אביב 2008) חגית עטיה ©3 מכונה ייעודית לכל יישום ?  בידוד מירבי בין יישומים  אפשר להקדיש מכונה לפיתוחים בגרעין  עדיין לא מבטל את התלות בחומרה.. תוצאה אופיינית - " מגדלי מידע " (Data Silos)  בזבוז רב של יכולות חומרה ( חישוב, אחסון, ק / פ ) קשה לשתף ביעילות משאבים בין מכונות נפרדות  נזק כלכלי ו / או אקולוגי : צריכת חשמל מוגברת למכונות בזבוז שטח איחסון בבניין (floor space) צורך במיזוג אוויר חזק יותר לקירור המחשבים  עלות גבוהה של ניהול : התקנת כל מכונה, קישוריות, תחזוקה..

4 מערכות הפעלה ( אביב 2008) חגית עטיה ©4 הרעיון הבסיסי  שכבת תוכנה בין מערכת ההפעלה לחומרה נקראת Virtual Machine Monitor (VMM) או Hypervisor מדמה חומרה " אמיתית " כלפי מערכת ההפעלה - התקנים, רגיסטרים, ק / פ וכו ' בפועל, מאפשרת שיתוף התקנים בין מספר מערכות הפעלה תוך בידוד מלא ביניהם  ניתוק התלות בין מערכת ההפעלה לחומרה מערכת ההפעלה " חושבת " שהיא רצה על חומרה אמיתית בפועל - מכונה וירטואלית (Virtual Machine)

5 מערכות הפעלה ( אביב 2008) חגית עטיה ©5 טכניקות שונות למימוש  וירטואליזציה מלאה (Full Virtualization) שקיפות - יכולה להריץ מ " ה ללא שינוי ניתן לשפר ביצועים בסיוע החומרה (AMD-V, Intel VT) VMware, QEMU, Xen  פארא - וירטואליזציה (Para-Virtualization) מערכת ההפעלה מודעת ל -VMM ( באמצעות מנהלי ההתקנים ) מאפשר שיפור ניכר בביצועים על חשבון השקיפות Xen, Z/VM  מבוסס מערכת הפעלה (OS-Level Virtualization) כל תהליך או קבוצת תהליכים רצים בתוך " מיכל " (Container) שמתנהג כמו מחשב נפרד לכל דבר ( קונפ ' נפרדת, רשת, מערכת קבצים ) שיתוף הגרעין וניהול המשאבים בין המיכלים שיפור נוסף בביצועים, תלות נוספת בתאימות Solaris Containers, Virtuozzo Containers, POWER WPARs

6 מערכות הפעלה ( אביב 2008) חגית עטיה ©6 וירטואליזציה - הטוב  כמו במכונות ייעודיות.. בידוד מלא בין יישומים הקצאה קשיחה של משאבים ( נאכפת ע " י ה -VMM) אפשר לפתח ולדבג קוד גרעין בלי לפחד מתקלות .. ואפילו יותר טוב הקטנת בזבוז משאבי החומרה ע " י שיתוף מספר מכונות וירטואליות על אותה מכונה פיזית הקטנת נזקים כלכליים ואקולוגיים חיסכון בעלויות התקנה וניהול :  הקטנת מספר המחשבים שיש לתחזק בפועל  שכפול מספר מכונות וירטואליות מקובץ Image יחיד ניתוק התלות בחומרה מאפשר ניוד מכונות וירטואליות בין מחשבים פיזיים לצורך שיפור ביצועים והתאוששות מנפילות חומרה

7 מערכות הפעלה ( אביב 2008) חגית עטיה ©7 ויטואליזציה - הרע  הוספת שכבה מתווכת בין התהליך לחומרה פגיעה בביצועים.. ניתן לשפר באמצעים שונים כגון פארא - וירטואליזציה  הגדלת התקורה של משאבים ( זיכרון, זמן מעבד ) שאינם בשימוש תהליכים VMM + מספר מערכות הפעלה Software Appliance - מערכת הפעלה " מנוונת " שמכילה יישום + גרעין מצומצם ביותר  VMM - תוכנה נוספת שצריך לנהל..

8 מערכות הפעלה ( אביב 2008) חגית עטיה © 8 סיכום הקורס

9 מערכות הפעלה ( אביב 2008) חגית עטיה ©9 תפקידי מערכת הפעלה  מ " ה מספקת אבסטרקציות הגדרת האבסטרקציות ע " י ממשקים אחידים מימוש האבסטרקציות מעל חומרה והתקנים פיזיים שונים  מ " ה מנהלת משאבים

10 מערכות הפעלה ( אביב 2008) חגית עטיה ©10 אז מה היה לנו ? תהליכים וחוטים  תהליך תכנית רצה וה -context שלה ( כולל זכרון, משתנים, קבצים פתוחים, רגיסטרים,...) יצירת תהליכים וניהולם במערכת ההפעלה. החלפת הקשר.  זימון תהליכים שיטות בסיסיות. שימוש בעדיפויות וריבוי תורים.  חוטים

11 מערכות הפעלה ( אביב 2008) חגית עטיה ©11 אז מה היה לנו ? תהליכים וחוטים  תיאום בין תהליכים וחוטים : בעיית הקטע הקריטי. מנעולים ומימושם : אלגוריתם קופת חולים סמפורים ומשתני תנאי. בעיות סנכרון חשובות. טיפול בקיפאון.  תקשורת בין תהליכים : Signals Pipes – כמו קבצים אבל גישה סדרתית בלבד ( לא random) Sockets – גם בין תהליכים במחשבים שונים תקשורת דרך זכרון משותף – בעזרת כלי סנכרון ( סמפורים וכו ')

12 מערכות הפעלה ( אביב 2008) חגית עטיה ©12 אז מה היה לנו ? זיכרון  ניהול הזיכרון. swapping. זיכרון וירטואלי - לכל תהליך מרחב כתובות וירטואלי  כל תהליך מרגיש שהוא לבד בעולם והזכרון היחיד הקיים הוא מרחב הכתובות שלו  טבלת הדפים וה TLB. אלגוריתמים לדפדוף : חמדן, FIFO, LRU, קירובים...

13 מערכות הפעלה ( אביב 2008) חגית עטיה ©13 אז מה היה לנו ? קבצים, התקנים ונושאים נוספים  מערכת הקבצים : ממשק המשתמש, קבצים, מדריכים לניהול נתונים נוח יותר מימוש :  מיפוי קבצים לדיסק.  ניהול הבלוקים הפנויים.  אמינות והתאוששות. מערכות קבצים מבוזרות  ממשק אחיד למגוון התקני קלט / פלט  טיפול בפסיקות  וירטואליזציה

14 מערכות הפעלה ( אביב 2008) חגית עטיה ©14 אבן בוחן להצלחה  מדד להצלחת הפתרון תלוי ביעדים – המדד לו רוצים לבצע אופטימיזציה Tradeoff בין מדדים למשל ב -scheduling: זמן שהיה ממוצע (SJF,SRT) לעומת תקורה של החלפות הקשר והרעבה בלוקים / דפים גדולים גורמים לפרגמנטציה ( בזבוז משאבים ), קטנים מובילים לטבלאות גדולות ומפחיתים יעילות I/O inode - גישה מהירה לקבצים קטנים דרך מצביעים ישירים  תלוי גם ב - workload אפיון המשימות שהמערכת צריכה לבצע

15 מערכות הפעלה ( אביב 2008) חגית עטיה ©15 שיקולי Workload  עקרון ה -locality – ניבוי העתיד בעזרת העבר ( הנחה : העתיד יהיה כמו העבר ) החלפת דפים, חישוב working set ניהול buffer cache, LRU קביעת עדיפויות לפי אורך CPU burst  קביעת גודל דף / בלוק לפי סטטיסטיקות גודל קבצים  הנחה ש -deadlock לא יקרה ( גילוי ולא מניעה )

16 מערכות הפעלה ( אביב 2008) חגית עטיה ©16 הקצאת משאבים ע " י חלוקה  הקצאה רציפה - גורמת לבעיות CPU – תהליך אחד לא נותן לאחרים לרוץ (SJF) שיברור ( פרגמנטציה ) חוסר גמישות ( קשה לתת לתהליך / קובץ לגדול )  הקצאה ע " י חלוקה ל " חתיכות " קטנות קוונטים זמן לתזמון ל -CPU  Time sharing, preemption דפים ומסגרות בניהול זכרון בלוקים בניהול קבצים ודיסקים Packets בתקשורת  ניתן לתקן הקצאת משאבים עם הזמן למשל להוריד עדיפות  כדי להימנע מצרות כדאי להחזיק כמה פנויים high/low water marks

17 מערכות הפעלה ( אביב 2008) חגית עטיה ©17 כללי אצבע לשיפור ביצועים  Caching HW cache, TLB, Buffer cache, dentry cache … Open files  Buffering Working with blocks  Pooling Tread pool  Avoid system-calls when possible  Write programs with good locality

18 מערכות הפעלה ( אביב 2008) חגית עטיה ©18 על חשיבות המקבול  חוק Moore הכפלת מספר הטרנזיזטורים ומהירות ה -CPU כל 1.5-2 שנים חוק דומה קיים גם לגבי נפח דיסקים ורוחב פס של רשתות תקשורת  מסיבות פיזיקליות, לאחרונה חלה האטה בקצב השיפור בתדר השעון לכן, הדרך היחידה להגדיל את המהירות ( התיאורטית ) היא ע " י מקבול ריבוי יחידות חישוב (multi-core) בתוך ה -CPU  מצד שני, ללא ריבוי חוטים, ה -cores הללו לא יעשו כלום  מסקנה העתיד טמון בתוכניות מרובות חוטים מצד שני, יש להשתמש במנגנוני סינכרון ומודלי תכנות נכונים  מעט מידי סינכרון => קוד שגוי ובאגים שקשה מאוד לגלות  עודף סינכרון => חוסר מקביליות  מודל Transactional Memory

19 מערכות הפעלה ( אביב 2008) חגית עטיה ©19 קורסים רלבנטיים  מערכות קבצים  מסדי נתונים  מקבילי ומבוזר תכנות מקבילי ומבוזר מערכות מבוזרות אלגוריתמים מבוזרים ב ' עקרונות של מערכות מבוזרות אמינות ( בהנדסת חשמל )  ארכיטקטורה מבנה מחשבים ספרתיים  תכנון וניתוח מערכות תוכנה מבוא להנדסת תוכנה תכנות מונחה עצמים (OOP)  תקשורת מבוא לרשתות מחשבים תקשורת באינטרנט

20 מערכות הפעלה ( אביב 2008) חגית עטיה ©20 הבחינה  חומר סגור או פתוח – נודיע בהמשך.  שעתיים וחצי.  מסתמכת על ידע שהועבר בהרצאות ובתרגולים, או שנלמד במסגרת תרגילי הבית.

21 מערכות הפעלה ( אביב 2008) חגית עטיה © 21 בהצלחה !


Download ppt "מערכות הפעלה ( אביב 2008) חגית עטיה © 1 וירטואליזציה."

Similar presentations


Ads by Google