click below
click below
Normal Size Small Size show me how
OS lecture 5
Term | Definition |
---|---|
Code Relocation | בשימוש במחיצות בזכרון-כשהקומפיילר מתרגם תוכנית הוא לא יודע לאיזו כתובת אבסולוטית תטען. הכתובות הפיזיות נקבעות רק אחרי שה-OS טוענת את התוכנית ל-RAM. relocation=מנגנון לתיקון הכתובות בתוכנית אחרי שנטענה ל-RAM. |
Memory Protection | כשיש מחיצות בזכרון-שתי תוכניות נמצאות באותו זכרון פיזי- צריך למנוע מתוכנית אחת לגשת לכתובות של אחרת (למחיצה). המנגנון: ממספרים את המחיצות. מספר המחיצה של תהליך מעודכן ב-PCB וה-CPU בודק אם הכתובת חוקית. |
Base and Limit | שיטה שמטפלת גם ב-Relocation וגם ב-Protection: במקום לתת מסכות קבועות למחיצות יש רגיסטר base- כך שכשהתוכנית ניגשת לכתובת 100 ה-OS מפנה ל-Base+100 ואז לא צריך relocation. בנוסף - base ו-limit מונעים גישה לזיכרון של אחרים |
Dynamic Partitions (swaping) | שיטה ליצירת multi-programing: כבר לא מחיצות- תהליך נכנס למקום פנוי בזכרון. ה-Swaping זה הכנסה והוצאה של תהליכים מ ו-לזכרון. יכול ליצור חורים, לכן לרוב לא בשימוש |
Memory Fragmentation | Fragmentation=מצב בו יש הרבה מקום פנוי בזכרון אבל הוא ב"חורים קטנים" כך שאי אפשר לטעון תהליך. |
Bitmap Data Structure | מבנ"ת בעזרתו ה-OS עוקבת אחרי החורים בזכרון. הזכרון מחולק ליחידות ולכל יחידה מוקצה ביט שאומר אם היא תפוסה או פנויה (חור). חסרונות - הbit map עצמו תופס הרבה מקום בזכרון וגם- קשה לחפש בו. [דוגמא לגדלים-שקף 23] |
List Of Holes Data Structure | מבנ"ת בעזרתו ה-OS עוקבת אחרי החורים בזכרון. הזכרון מחולק ליחידות. שומרים רשימה מקושרת שמכילה: האם מדובר בחור או תהליך, מאיזו יחידה מתחיל ובאיזו נגמר. |
First Fit | שיטה לבחור באיזה חור בזיכרון לשים תהליך. עוברים על רשימת החורים והראשון שבגודל מספיק-מכניסים אליו. פשוט ומהיר. |
Worst Fit | שיטה לבחור באיזה חור בזיכרון לשים תהליך. עוברים על רשימת החורים ומכניסים לחור הכי גדול. במטרה למנוע fragmentation. (לא פתרון מוצלח) |
Best Fit | שיטה לבחור באיזה חור בזיכרון לשים תהליך. עוברים על רשימת החורים ומוצאים מבין החורים את זה שהכי מתאים. חסרונות-צריך לבדוק את כל הרשימה, נוצרים חורים קטנים. |
Quick Fit | שומרים רשימות עם גדלים נפוצים של בלוקים |
Virtual Memory | התהליכים משתמשים במרחב זכרון וירטואלי- מרחב עבור כל תהליך יכול להיות גדול מסך-כל הזכרון שיש במחשב. הרעיון-חלק מהתוכנית באמת נמצא ב-RAM וחלק נמצא ב-HD. החלקים עוברים הלוך-חזור בין הזכרון ל-HD והתוכנית לא מודעת. כל חלק נקרא Page |
Address Space | מרחב כתובות - תחום של כתובות בו יכולה תוכנית להשתמש. |
MMU | Memory Management Unit יחידה בתוך ה-CPU שתפקידה לתרגם מכתובת וירטואלית לפיזית. ה-CPU נותן כתובת וירטואלית לMMU היא מתרגמת לכתובת פיזית (באמצעות ה-page table) ומעבירה אותה על ה-bus לזכרון. פעולתו של ה-MMU- שקף 40 . |
Pages And Frames | דף=יחידה בסיסית של זכרון וירטואלי. מסגרת=יחידה בסיסית של זכרון פיזי. דף ומסגרת הם באותו גודל. [דוגמא- שקף 36] |
Page Table | לכל תהליך יש טבלת דפים משלו. מערך עם כניסה לכל דף (מס' כניסות=מס' דפים בזכרון הוירטואלי) בתוך התא- המסגרת אליה הדף ממופה. זכרון וירטואלי>זכרון פיזי ו- מסגרת=דף (בגודל) ולכן יש יותר דפים ממסגרות. |
Page Fault | כשלדף מסוים לא ממופת מסגרת אז ז"א שהמסגרת לא בזיכרון וצריך להביא מה-HD. ה-page fault זו פסיקה ל-OS. הטיפול בפסיקה: מפנים מסגרת אחרת מהזיכרון, מעתיקים את המסגרת הרצויה מהדיסק לזכרון, מבצעים שוב את הפקודה. (טיפול ב-p.falt: הMMU +הOS) |
Page Lookup | טבלת הדפדוף יכולה להיות ארוכה [דוגמא שקף 42] ואז חיפוש של דף יכול לקחת הרבה זמן. אם הוראה מגיעה כל 4ns אז החיפוש צריך להיות 1ns. |