מערכות הפעלה ( אביב 2009) חגית עטיה © 1 סיכום הקורס
מערכות הפעלה ( אביב 2009) חגית עטיה ©2 תפקידי מערכת הפעלה מערכת ההפעלה מספקת אבסטרקציות הגדרת האבסטרקציה על - ידי ממשקים אחידים מימוש האבסטרקציה מעל חומרה והתקנים פיזיים שונים מערכת ההפעלה מנהלת משאבים
מערכות הפעלה ( אביב 2009) חגית עטיה ©3 מה היה לנו ? תהליכים וחוטים תהליך תכנית רצה וה -context שלה ( כולל זכרון, משתנים, קבצים פתוחים, רגיסטרים,...) יצירת תהליכים וניהולם במערכת ההפעלה. החלפת הקשר. זימון תהליכים שיטות בסיסיות. שימוש בעדיפויות וריבוי תורים. חוטים
מערכות הפעלה ( אביב 2009) חגית עטיה ©4 מה היה לנו ? תהליכים וחוטים תיאום בין תהליכים וחוטים בעיית הקטע הקריטי. מנעולים ומימושם : אלגוריתם קופת חולים סמפורים ומשתני תנאי. בעיות סנכרון חשובות. טיפול בקיפאון. תקשורת בין תהליכים Signals Pipes – כמו קבצים אבל גישה סדרתית בלבד ( לא random) Sockets – גם בין תהליכים במחשבים שונים תקשורת דרך זיכרון משותף – בעזרת כלי סנכרון ( סמפורים וכו ')
מערכות הפעלה ( אביב 2009) חגית עטיה ©5 מה היה לנו ? זיכרון ניהול הזיכרון. swapping. זיכרון וירטואלי - לכל תהליך מרחב כתובות וירטואלי כל תהליך מרגיש שהוא לבד בעולם והזכרון היחיד הקיים הוא מרחב הכתובות שלו טבלת הדפים וה TLB. אלגוריתמים לדפדוף : חמדן, FIFO, LRU, קירובים...
מערכות הפעלה ( אביב 2009) חגית עטיה ©6 מה היה לנו ? קבצים, התקנים ונושאים נוספים מערכת הקבצים : ממשק המשתמש, קבצים, מדריכים לניהול נתונים נוח יותר מימוש : מיפוי קבצים לדיסק. ניהול הבלוקים הפנויים. אמינות והתאוששות. מערכות קבצים מבוזרות תמיכה בארכיטקטורות שרת - לקוח טיפול בפסיקות וירטואליזציה
מערכות הפעלה ( אביב 2009) חגית עטיה ©7 מדדי הצלחה הצלחת הפתרון תלויה במדד לו רוצים לבצע אופטימיזציה tradeoff בין מדדים למשל ב -scheduling: זמן שהיה ממוצע (SJF,SRT) לעומת תקורה של החלפות הקשר והרעבה בלוקים / דפים גדולים גורמים לפרגמנטציה ( בזבוז משאבים ), בלוקים קטנים גורמים לטבלאות גדולות ומפחיתים יעילות I/O inode: גישה מהירה לקבצים קטנים דרך מצביעים ישירים
מערכות הפעלה ( אביב 2009) חגית עטיה ©8 תכנון תלוי Workload workload = אפיון המשימות שהמערכת צריכה לבצע עקרון ה -locality – ניבוי העתיד בעזרת העבר ( מבוסס על ההנחה שהעתיד יהיה כמו העבר ) החלפת דפים, חישוב working set ניהול buffer cache, LRU קביעת עדיפויות לפי אורך CPU burst קביעת גודל דף / בלוק לפי סטטיסטיקות גודל קבצים הנחה ש -deadlock לא יקרה ( גילוי ולא מניעה )
מערכות הפעלה ( אביב 2009) חגית עטיה ©9 הקצאת משאבים ע " י חלוקה הקצאה רציפה - גורמת לבעיות CPU – תהליך אחד לא נותן לאחרים לרוץ פרגמנטציה חוסר גמישות ( קשה לתת לתהליך / קובץ לגדול ) הקצאה ע " י חלוקה ל " חתיכות " קטנות קוונטים של זמן לתזמון ב -CPU דפים ומסגרות בניהול זיכרון בלוקים בניהול קבצים ודיסקים packets בתקשורת ניתן לתקן הקצאת משאבים עם הזמן למשל להוריד עדיפות
מערכות הפעלה ( אביב 2009) חגית עטיה ©10 כללי אצבע לשיפור ביצועים שימוש במטמון HW cache, TLB, Buffer cache, dentry cache … קבצים פתוחים עבודה עם חוצצים ( והעברת בלוקים של מידע ) מאגר של חוטים (thread pool) הימנעות מקריאות מערכת הפעלה תוכניות עם מקומיות גבוהה
מערכות הפעלה ( אביב 2009) חגית עטיה ©11 על חשיבות המיקבול חוק Moore הכפלת מספר הטרנזיזטורים ומהירות ה -CPU כל שנים חוק דומה קיים גם לגבי נפח דיסקים ורוחב פס של רשתות תקשורת מסיבות פיסיקליות, לאחרונה חלה האטה בקצב השיפור בתדר השעון לכן, הדרך היחידה להגדיל את המהירות ( התיאורטית ) היא ע " י מקבול ריבוי יחידות חישוב (multi-core) בתוך ה -CPU מצד שני, ללא ריבוי חוטים, ה -cores הללו לא יעשו כלום העתיד טמון בתוכניות מרובות חוטים אבל צריך להשתמש במנגנוני סנכרון ומודלי תכנות נכונים מעט מידי סינכרון => קוד שגוי ובאגים שקשה מאוד לגלות עודף סינכרון => חוסר מקביליות מודל Transactional Memory
מערכות הפעלה ( אביב 2009) חגית עטיה ©12 קורסי המשך בפקולטה מערכות קבצים מסדי נתונים מקבילי ומבוזר תכנות מקבילי ומבוזר מערכות מבוזרות אלגוריתמים מבוזרים ב ' עקרונות של מערכות מבוזרות אמינות ( בהנדסת חשמל ) ארכיטקטורה מבנה מחשבים ספרתיים תכנון וניתוח מערכות תוכנה מבוא להנדסת תוכנה תכנות מונחה עצמים (OOP) תקשורת מבוא לרשתות מחשבים תקשורת באינטרנט
מערכות הפעלה ( אביב 2009) חגית עטיה ©13 הבחינה חומר פתוח שעתיים וחצי מסתמכת על ידע שהועבר בהרצאות ובתרגולים, או שנלמד במסגרת תרגילי הבית.
מערכות הפעלה ( אביב 2009) חגית עטיה © 14 בהצלחה !