Professional Documents
Culture Documents
מערכות הפעלה הרצאה 14
מערכות הפעלה הרצאה 14
2012
מערכות הפעלה -הרצאה 14
Referenced=false Referenced=true
שינוי קטן ל FIFOהופך אותו לאחד האלג' הטובים -מוסיפים התייחסות ל .reference bit
.1אם הוא כבוי ,מוציאים אותו מביאים חדש (מבצעים החלפה).
.2אם הוא דלוק ,מכבים אותו ומעבירים אותו לסוף התור.
If page’s referenced bit is on, give it a second chance:
Clear bit
Move to end of queue
Else
Remove page
נחזיק couterלכל דף ,במקום לעדכן אותו בכל ( refכמו ב ,)LRUנעלה אותו בכל טיק שעון.
בכל טיק שעון ,מאפסים את כל ה refביט.
להחלפה ,נבחר את הדף עם ה counterהכי נמוך.
בניגוד ל ,LRUאם ניגשים פעמיים לאותו דף במהלך טיק של השעון NRU ,לא סופר אותו.
הבעיה:
* צריך לבצע נרמול של הספירה מידי פעם (לא קריטי)
* יש דפים שניגשו אליהם בזמן אתחול המערכת ,נניח שניגשו אליהם 7000פעם ,ולמרות שאנחנו
לא הולכים להשתמש בהם הם לא יוחלפו .נוצרת לנו בעיה של שכחה.
הפתרון -נוסיף ,אלמנט של ,agingמתבצע בעזרת רגיסטרים.
מידול אלגוריתמים:
”Characterizing “page replacement
- nמספר הדפים הוירטואליים
- mמספר הדפים בזכרון הפיסי.
אינסוף -מייצג דפים שנשלם בכל מקרה.
אלגוריתם מחסנית -אלגוריתם שבו אם אני מגדיל את mאז כל הדפים שהיו בזכרון ב mיותר
קטן נמצאים גם בזיכרון ב mכיוון שכך הגדלה של הזכרון יכולה רק לעזור לי ולא מתקיימת
האנומליה של בלדי.
FIFOהוא לא אלגוריתם מחסנית כי ראינו בדוגמא שהגדלנו את mוהביצועים ירדו.
לעומת זאת האלגוריתם האופטמלי ו LRUהם כן אלגוריתמי מחסנית.
Thrashing
אם תהליך צריך 5דפים ויש רק 2אז הוא כל פעם יחליף את הדפים האלו וזה יביא להרבה page
.faults
- woking setקבוצת הדפים שתהליך פנה אליה בדלתא (זמן) הדפים האחרונים.
ככל שמגדילים את הדלתא המתחילה באותה נקודה ,קבוצת הדפים גדלה -זה לא נכון לגבי
נקודות התחלה שונות.
החלון צריך להיות מספיק גדול כדי לבטא את הקבוצות שרוצים להחזיק ,מספיק קטן כדי לשכוח
את הישנים.