Download presentation
Presentation is loading. Please wait.
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 בהצלחה !
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.