טבלת הדפים של תהליך במערכת עם זיכרון וירטואלי נראית כך. כל המספרים הם דצימליים, מתחילים מאפס, וכל הכתובות הן כתובות של בייט בזיכרון. גודל הדף הוא 8192 בתים (8KByte).| Page Number | Valid bit | Frame Number |
|---|
| 0 | 1 | 1 |
| 1 | 1 | 0 |
| 2 | 0 | 0 |
| 3 | 1 | 0 |
| 4 | 0 | 3 |
| 5 | 0 | 0 |
לאיזו כתובת פיזית, אם ניתן לחשב, תמופה הכתובת הוירטואלית הבאה: 9000?
א. 808
ב. 9000
ג. 8192
ד. לא ניתן לחשב האוניברסיטה הפתוחהמועד 92 · 2025 · סמסטר א
זיכרוןניהול זיכרוןזיכרון וירטואלידפדוףטבלת דפים
מה היתרון בשימוש בדפים גדולים במקום דפים קטנים בניהול זיכרון ראשי מדפדף (PAGING)?
א. כל PROCESS יוכל לקבל יותר זיכרון ראשי.
ב. ניצול שטח הזיכרון יהיה טוב יותר (פחות FRAGMENTATION INTERNAL).
ג. זמן טיפול בכל שגיאת דף בודדת PAGE FAULT יהיה קצר יותר.
ד. בד"כ יהיו פחות שגיאות דף (PAGE FAULTS).
האוניברסיטה הפתוחהמועד 69 · 2024 · סמסטר ג
ניהול זיכרוןזיכרון וירטואלידפדוףטבלת דפיםTLBשגיאת דף
ניתן ליצור איזור של זיכרון משותף MEMORY SHARED בין שני תהליכים PROCESSES ע"י שבכל טבלת הדפים יהיו מצביעים לאזור המשותף של שני התהליכים. במצב זה:
א. האזור המשותף חייב להיות ממופה לאותה כתובת וירטואלית במרחבי הכתובות של שני התהליכים.
ב. אחד התהליכים פונה לכתובת משותפת ויש fault page, אזי שני התהליכים יחסמו בוודאות.
ג. קידום ערך המשתנה הנמצא באזור המשותף צריך להיות מוגן ע"י סמפור (SEMAPHORE).
ד. כל גישה לאזור המשותף תבוצע ע"י מערכת ההפעלה ולא ישירות ע"י התהליך.
האוניברסיטה הפתוחהמועד 69 · 2024 · סמסטר ג
ניהול זיכרוןזיכרון וירטואליסנכרוןסמפוריםתנאי מרוץקטע קריטיתהליכיםטבלת דפים
סעיף ג: מה צריך להיות פורמט החלוקה לסיביות של כתובת וירטואלית שבשאלה כדי שבממוצע יהיה פחות חריגות דף בסה"כ?
תשובה והסבר:
האוניברסיטה הפתוחהמועד 69 · 2024 · סמסטר ג
זיכרון וירטואלידפדוףהחלפת דפיםטבלת דפים
סעיף ב: מה צריך להיות פורמט החלוקה לסיביות של כתובת וירטואלית שבשאלה כדי שיהיה פחות מקום לא מנוצל בכל טבלאות הדפים בסה"כ?
תשובה והסבר:
האוניברסיטה הפתוחהמועד 69 · 2024 · סמסטר ג
זיכרון וירטואלידפדוףטבלת דפיםניהול זיכרון
סעיף ב: מהירות גישה
תשובה והסבר:
האוניברסיטה הפתוחהמועד 69 · 2024 · סמסטר ג
זיכרוןניהול זיכרוןזיכרון וירטואלידפדוףטבלת דפיםTLB
נניח שבמערכת נתונה יש טבלת דפים בשתי רמות. כל כניסת טבלת הדפים (PTE) היא 4 בתים ואורך כתובת וירטואלית 40 סיביות.
א. מה צריך להיות גודל הדף אם אנו רוצים שכל טבלת דפים בודדת (ראשית וכל אחת ממשניות) תיכנס לדף זיכרון אחד עם כמה שפחות מקום לא מנוצל.
הערה: ניתן לחשב ממשוואה או בניסוי וטעיה.
תשובה וחישוב:
האוניברסיטה הפתוחהמועד 69 · 2024 · סמסטר ג
ניהול זיכרוןזיכרון וירטואלידפדוףטבלת דפים
א. (11 נק')
נניח שיש לנו טבלת דפים בשתי רמות. אורך כל כניסת טבלת הדפים (PTE) הוא 4 בתים. נניח שאנו רוצים שכל טבלת דפים בודדת (ראשית וכל אחת ממשניות) תתפוס בדיוק דף זיכרון אחד.
מה צריך להיות הפורמט החלוקה לסיביות של כתובת וירטואלית באורך 32 סיביות שמתאים לזה?
הערה: למרות שלא ניתן גודל הדף, ניתן לחשב אותו ממשוואה שתאפשר את זה או בניסוי וטעיה.
תשובה, חישוב והסבר
ב. (4 נק')
כמה דפים בסה"כ יתפסו כל טבלאות הדפים ביחד (ראשית ומשניות) בהנחה שכל תהליך מקבל את מרחב הזיכרון המרבי האפשרי לפי נתוני השאלה?
הסבר וחישוב:
ג. (3 נק')
מה היתרון בשימוש בטבלת הדפים במספר רמות יחסית לטבלת הדפים ברמה אחת (שטוחה)?
האוניברסיטה הפתוחהמועד 72 · 2024 · סמסטר א
זיכרוןניהול זיכרוןזיכרון וירטואלידפדוףטבלת דפים
נתונה מערכת מחשב שתומכת בדפים בגדלים שונים: 4Kbyte ו 4Mbyte בלבד. כל דף בכל גודל יכול להימצא בכל מקום בזיכרון הפיזי RAM. תהליך שמבקש הקצאת זיכרון ראשי 8Mbyte או יותר מקבל אותו בדפים בגודל 4Mbyte ובהקצאות קטנות יותר בדפים בגודל 4Kbyte. המרחב הוירטואלי מחולק לשני אזורים שווים, בחלק הנמוך גודל הדף 4Kbyte ובחלק הגבוה 4Mbyte במרחב הזיכרון הפיזי אין חלוקה כזאת.
הקומפיילר המיוחד שפותח בשביל המערכת ופונקציות הספרייה של שפת תכנות קובעים כתובות וירטואליות של משתנים בהתאם(בכתובות גבוהות או נמוכות, לא משנה מה הדרך לעשות את זה).
א. (9 נק')
תארו את האלגוריתם(את הדרך) של MMU לתרגום הכתובת הוירטואלית לכתובת פיזית. ציינו האם נדרשים שינויים בצורת הכתובת הוירטואלית ובטבלת הדפים(בהשוואה לצורה רגילה) כדי לאפשר את תרגום הכתובת ואם כן, מה הם. הדגישו במיוחד את שיטת חישוב מספר מסגרת זיכרון פיזית ואת הגודל שלה.
ב. (5 נק')
מה החיסרון העיקרי, חוץ מקיטוע פנימי, ויתרון העיקרי בשימוש בדפים בגודל משתנה בצורה המתוארת בשאלה?
ג. (5 נק')
הציעו פתרון לחסרון שצוין בסעיף ב'.
האוניברסיטה הפתוחהמועד 82 · 2023 · סמסטר ב
זיכרוןניהול זיכרוןזיכרון וירטואלידפדוףטבלת דפיםTLB
נתונה מערכת מחשב שתומכת בדפים בגדלים שונים: 4 Kbyte ו-4 Mbyte בלבד. הזיכרון הפיזי RAM והמרחב הווירטואלי מחולקים לשני אזורים שווים, בחלק הנמוך גודל מסגרת הזיכרון הפיזית וגודל הדף 4 Kbyte ובחלק הגבוה 4 Mbyte.
הקומפיילר המיוחד שפותח בשביל המערכת ופונקציות הספריה של שפת תכנות קובעים כתובות וירטואליות של משתנים בהתאם (בכתובות גבוהות או נמוכות, לא משנה מה הדרך לעושות את זה).
תהליך שמבקש הקצאת זיכרון ראשי 4 Mbyte או יותר מקבל אותו בדפים בגודל 4 Mbyte ובהקצאות קטנות יותר בדפים בגודל 4 Kbyte.
א. )9 נק'( תארו את האלגוריתם (את הדרך) של MMU לתרגום הכתובת הוירטואלית לכתובת פיזית. ציינו האם נדרשים שינויים בצורת הכתובת הוירטואלית ובטבלת הדפים (בהשוואה לצורה רגילה) כדי לאפשר את תרגום הכתובת ואם כן, מה הם.
ב. )11 נק'( במערכת המתוארת בסעיף א' ובהנחה שגודל הזיכרון הפיזי במערכת הוא 64 Mbyte (קטן מאוד בשביל נוחות החישוב), המרחב הווירטואלי שכל תהליך מקבל הוא 128 Mbyte, הדגימו את תרגום כתובות וירטואליות הבאות לכתובות פיזיות (נקודות בין כל 10 ספרות רק לנוחות התמצאות):
(1) 0000100.0000000000.0000000011
(2) 1000100.0000000000.0000000100
הניחו (בהיעדר נתוני טבלת הדפים) שמספר המסגרת הפיזית שווה למספר הדף + 1 ושהדף נוכח בזיכרון.
ציינו את מספר סיביות ה-OFFSET ומספר סיביות מספר הדף בתוך כל כתובת וירטואלית.
האוניברסיטה הפתוחהמועד 61 · 2023 · סמסטר ב
זיכרוןניהול זיכרוןזיכרון וירטואלידפדוףטבלת דפים