מערכות הפעלה ( אביב 2008) חגית עטיה © 1 סיכום הקורס
מערכות הפעלה ( אביב 2008) חגית עטיה ©2 תפקידי מערכת הפעלה מ " ה מספקת אבסטרקציות הגדרת האבסטרקציות ע " י ממשקים אחידים מימוש האבסטרקציות מעל חומרה והתקנים פיזיים שונים מ " ה מנהלת משאבים
מערכות הפעלה ( אביב 2008) חגית עטיה ©3 אז מה היה לנו ? תהליכים וחוטים תהליך תכנית רצה וה -context שלה ( כולל זכרון, משתנים, קבצים פתוחים, רגיסטרים,...) יצירת תהליכים וניהולם במערכת ההפעלה. החלפת הקשר. זימון תהליכים שיטות בסיסיות. שימוש בעדיפויות וריבוי תורים. חוטים
מערכות הפעלה ( אביב 2008) חגית עטיה ©4 אז מה היה לנו ? תהליכים וחוטים תיאום בין תהליכים וחוטים : בעיית הקטע הקריטי. מנעולים ומימושם : אלגוריתם קופת חולים סמפורים ומשתני תנאי. בעיות סנכרון חשובות. טיפול בקיפאון. תקשורת בין תהליכים : Signals Pipes – כמו קבצים אבל גישה סדרתית בלבד ( לא random) Sockets – גם בין תהליכים במחשבים שונים תקשורת דרך זכרון משותף – בעזרת כלי סנכרון ( סמפורים וכו ')
מערכות הפעלה ( אביב 2008) חגית עטיה ©5 אז מה היה לנו ? זיכרון ניהול הזיכרון. swapping. זיכרון וירטואלי - לכל תהליך מרחב כתובות וירטואלי כל תהליך מרגיש שהוא לבד בעולם והזכרון היחיד הקיים הוא מרחב הכתובות שלו טבלת הדפים וה TLB. אלגוריתמים לדפדוף : חמדן, FIFO, LRU, קירובים...
מערכות הפעלה ( אביב 2008) חגית עטיה ©6 אז מה היה לנו ? קבצים, התקנים ונושאים נוספים מערכת הקבצים : ממשק המשתמש, קבצים, מדריכים לניהול נתונים נוח יותר מימוש : מיפוי קבצים לדיסק. ניהול הבלוקים הפנויים. אמינות והתאוששות. מערכות קבצים מבוזרות ממשק אחיד למגוון התקני קלט / פלט טיפול בפסיקות וירטואליזציה
מערכות הפעלה ( אביב 2008) חגית עטיה ©7 אבן בוחן להצלחה מדד להצלחת הפתרון תלוי ביעדים – המדד לו רוצים לבצע אופטימיזציה Tradeoff בין מדדים למשל ב -scheduling: זמן שהיה ממוצע (SJF,SRT) לעומת תקורה של החלפות הקשר והרעבה בלוקים / דפים גדולים גורמים לפרגמנטציה ( בזבוז משאבים ), קטנים מובילים לטבלאות גדולות ומפחיתים יעילות I/O inode - גישה מהירה לקבצים קטנים דרך מצביעים ישירים תלוי גם ב - workload אפיון המשימות שהמערכת צריכה לבצע
מערכות הפעלה ( אביב 2008) חגית עטיה ©8 שיקולי Workload עקרון ה -locality – ניבוי העתיד בעזרת העבר ( הנחה : העתיד יהיה כמו העבר ) החלפת דפים, חישוב working set ניהול buffer cache, LRU קביעת עדיפויות לפי אורך CPU burst קביעת גודל דף / בלוק לפי סטטיסטיקות גודל קבצים הנחה ש -deadlock לא יקרה ( גילוי ולא מניעה )
מערכות הפעלה ( אביב 2008) חגית עטיה ©9 הקצאת משאבים ע " י חלוקה הקצאה רציפה - גורמת לבעיות CPU – תהליך אחד לא נותן לאחרים לרוץ (SJF) פרגמנטציה חוסר גמישות ( קשה לתת לתהליך / קובץ לגדול ) הקצאה ע " י חלוקה ל " חתיכות " קטנות קוונטים זמן לתזמון ל -CPU Time sharing, preemption דפים ומסגרות בניהול זכרון בלוקים בניהול קבצים ודיסקים Packets בתקשורת ניתן לתקן הקצאת משאבים עם הזמן למשל להוריד עדיפות כדי להימנע מצרות כדאי להחזיק כמה פנויים high/low water marks
מערכות הפעלה ( אביב 2008) חגית עטיה ©10 כללי אצבע לשיפור ביצועים 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
מערכות הפעלה ( אביב 2008) חגית עטיה ©11 על חשיבות המקבול חוק Moore הכפלת מספר הטרנזיזטורים ומהירות ה -CPU כל שנים חוק דומה קיים גם לגבי נפח דיסקים ורוחב פס של רשתות תקשורת מסיבות פיזיקליות, לאחרונה חלה האטה בקצב השיפור בתדר השעון לכן, הדרך היחידה להגדיל את המהירות ( התיאורטית ) היא ע " י מקבול ריבוי יחידות חישוב (multi-core) בתוך ה -CPU מצד שני, ללא ריבוי חוטים, ה -cores הללו לא יעשו כלום מסקנה העתיד טמון בתוכניות מרובות חוטים מצד שני, יש להשתמש במנגנוני סינכרון ומודלי תכנות נכונים מעט מידי סינכרון => קוד שגוי ובאגים שקשה מאוד לגלות עודף סינכרון => חוסר מקביליות מודל Transactional Memory
מערכות הפעלה ( אביב 2008) חגית עטיה ©12 קורסי המשך בפקולטה ארכיטקטורה מבנה מחשבים ספרתיים תקשורת מבוא לרשתות מחשבים תקשורת באינטרנט מערכות קבצים מסדי נתונים מקבילי ומבוזר תכנות מקבילי ומבוזר מערכות מבוזרות אלגוריתמים מבוזרים ב ' עקרונות של מערכות מבוזרות אמינות ( בהנדסת חשמל )
מערכות הפעלה ( אביב 2008) חגית עטיה ©13 הבחינה חומר סגור או פתוח – נודיע בהמשך. שעתיים וחצי. מסתמכת על ידע שהועבר בהרצאות ובתרגולים, או שנלמד במסגרת תרגילי הבית.
מערכות הפעלה ( אביב 2008) חגית עטיה © 14 בהצלחה !