(C) Yohai Devir234267 - January 20061 מבנה מחשבים ספרתיים 234267 זכרון וירטואלי מבוסס על תרגול של מורן גביש.

Slides:



Advertisements
Similar presentations
Computer Structure 2012 – VM 1 Computer Structure X86 Virtual Memory and TLB Franck Sala Updated by tomer gurevich Slides from Lihu and Adi’s Lecture.
Advertisements

מבוא למדעי המחשב לתעשייה וניהול
1 Formal Specifications for Complex Systems (236368) Tutorial #4 Refinement in Z: data refinement; operations refinement; their combinations.
טבלאות סמלים נכתב ע"י אלכס קוגן סמסטר חורף, תשס"ח.
(C) Yohai Devir November מבנה מחשבים ספרתיים תרגול מס ' 4: זכרון מטמון מבוסס על תרגול של מורן גביש, חלק מהשרטוטים עפ " י ליהוא רפפורט,
1 מבוא למדעי המחשב הקצאה דינאמית. 2 הקצאת זיכרון דינאמית  כאשר אנו משתמשים במערכים, אנו מקצים אוטומטית את הזיכרון המקסימלי שנצטרך.  בפועל, אנו משתמשים.
Operating Systems, 112 Practical Session 10, Memory Management continues 1.
מכונת מצבים תרגול מס' 4 Moshe Malka.
1 חישוב של אופרטורים רלציוניים Evaluation of Relational Operators.
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
מסדי נתונים תשס " ג 1 תכנון סכמות (Design Theory) מסדי נתונים.
תרגול 8 עצי B+ אינדקס משני.
A. Frank File Organization קובץ ישיר מתקדם Advanced Direct File.
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
מערכות הפעלה תרגול 10 – זיכרון וירטואלי ב- Linux.
שאלות חזרה לבחינה. שאלה דיסקים אופטיים מסוג WORM (write-once-read-many) משמשים חברות לצורך איחסון כמויות גדולות של מידע באופן קבוע ומבלי שניתן לשנותו.
מה החומר למבחן ? כל החומר שנלמד בהרצאות ובתרגולים. לגבי backtracking: לא תידרשו לממש אלגוריתם, אך כן להבין או להשלים מימוש נתון. אחת משאלות המבחן מבוססת.
מערכות הפעלה ( אביב 2009) חגית עטיה © 1 ניהול זיכרון  מבוא : מטרות ניהול הזיכרון.  מנגנונים : מרחב כתובות וירטואלי / פיזי. חלוקת זכרון קבועה מול דפדוף.
Map-Reduce Input: a collection of scientific articles on different topics, each marked with a field of science –Mathematics, Computer Science, Biology,
A. Frank File Organization Indexed-Sequential File Introduction Thanks to Tamar Barnes.
1 Formal Specifications for Complex Systems (236368) Tutorial #5 Refinement in Z: data refinement; operations refinement; their combinations.
מערכות הפעלה תרגול 12 – ניהול זיכרון ב-Linux : המשך.
(C) Yohai Devir January מבנה מחשבים ספרתיים תרגול מס ' 12: זיכרון וירטואלי ב - VAX מבוסס על תרגולים מאת מורן גביש ואורן קצנגולד.
תרגול 10 – זיכרון וירטואלי ב-Linux
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
Multicycle MIPS תרגול כיתה מס' 13.
מערכות הפעלה ( אביב 2009) חגית עטיה ©1 מערכת קבצים log-structured  ה log הוא העותק היחיד של הנתונים  כאשר משנים בלוק (data, header) פשוט כותבים את הבלוק.
תהליכים  מהו תהליך ?  מבני הנתונים לניהול תהליכים.  החלפת הקשר.  ניהול תהליכים ע " י מערכת ההפעלה.
Multi-Cycle MIPS דוגמאות. דוגמה 1 נתון קטע הקוד הבא: begin:addi $v0, $zero, -1 loop:add $a0, $a0, $a0 addi$v0,$v0,1 bne $a0, $zero, loop הניחו כי בתחילת.
ניהול זיכרון  מבוא : מטרות ניהול הזיכרון.  מנגנונים : מרחב כתובות וירטואלי / פיזי. ניהול טבלת הדפים. מדיניות החלפת דפים.
מערכות הפעלה תרגול 12 – ניהול זיכרון ב-Linux : המשך.
ערכים עצמיים בשיטות נומריות. משוואה אופינית X מציין וקטור עצמי מציינת ערך עצמי תואם לוקטור.
מערכות הפעלה תרגול 11 – ניהול זיכרון ב-Linux: המשך.
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 ניהול זיכרון  מבוא : מטרות ניהול הזיכרון.  מנגנונים : מרחב כתובות וירטואלי / פיזי. חלוקת זכרון קבועה מול דפדוף.
הקיבול איננו תלוי במטען ובפוטנציאל
Data Structures, CS, TAU, Perfect Hashing 1 Perfect Hashing בעיה : נתונה קבוצה S של n מפתחות מתחום U השוואה ל - Hash : * טבלה קבועה (Hash רגיל - דינאמי.
1 Data Structures, CS, TAU, Perfect Hashing בעיה: נתונה קבוצה S של n מפתחות מתחום U השוואה ל- Hash : * טבלה קבועה (Hash רגיל - דינאמי) * רוצים זמן קבוע.
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א מודל הלמידה מדוגמאות Learning.
עקרון ההכלה וההדחה.
מערכות הפעלה ( אביב 2006) חגית עטיה © 1 סיכום הקורס.
מבוא למדעי המחשב תרגול 3 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
1 חישוב של אופרטורים רלציוניים Evaluation of Relational Operators.
מבוא למדעי המחשב, סמסטר א ', תשע " א תרגול מס ' 1 נושאים  הכרת הקורס  פסאודו - קוד / אלגוריתם 1.
Markov Decision Processes (MDP) תומר באום Based on ch. 14 in “Probabilistic Robotics” By Thrun et al. ב"הב"ה.
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א.
מערכות הפעלה ( אביב 2004) חגית עטיה © 1 תהליכים  מהו תהליך ?  מבני הנתונים לניהול תהליכים.  החלפת הקשר.  ניהול תהליכים ע " י מערכת ההפעלה.
מבוא כללי למדעי המחשב הקצאת זיכרון דינאמית
A. Frank File Organization Hardware Size Parameters.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #3 Internet Control Message Protocol (ICMP)
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
Safari On-line books. מה זה ספארי ספארי זו ספריה וירטואלית בנושא מחשבים היא כוללת יותר מ כותרים כל הספרים הם בטקסט מלא ניתן לחפש ספר בנושא מסוים.
ניהול זיכרון  מבוא : מטרות ניהול הזיכרון.  מנגנונים : מרחב כתובות וירטואלי / פיזי. ניהול טבלת הדפים. מדיניות החלפת דפים.
Points on a perimeter (Convex Hull) קורס – מבוא לעבוד מקבילי מבצעים – אריאל פנדלר יאיר ברעם.
מבוא למדעי המחשב תרגול 12 – הקצאת זיכרון דינאמית שעת קבלה : יום שני 11:00-12:00 דוא " ל :
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
Computer Structure 2012 – VM 1 Computer Structure X86 Virtual Memory and TLB Franck Sala Updated by tomer gurevich Slides from Lihu and Adi’s Lecture.
Operating Systems Practical Session 10, Memory Management continues.
Computer Structure – VM 1 Computer Structure X86 Virtual Memory and TLB Franck Sala Updated by tomer gurevich Slides from Lihu and Adi’s Lecture.
תרגול מס' 8: x86 Virtual Memory and TLB
מערכות הפעלה ערן טרומר סמסטר א' תשע"ב
מבוא למדעי המחשב סיבוכיות.
תקשורת ומחשוב תרגול 1 IP, Classes and Masks.
SQL בסיסי – הגדרה אינדוקטיבית
OS Virtualization.
תרגול 12 – ניהול זיכרון ב-Linux: המשך
מערכים של מצביעים הקצאה דינאמית
שפת סף וארכיטקטורה של מעבד 8086
Computer Programming תרגול 3 Summer 2016
Engineering Programming A
Computer Architecture and Assembly Language
Presentation transcript:

(C) Yohai Devir January מבנה מחשבים ספרתיים זכרון וירטואלי מבוסס על תרגול של מורן גביש

(C) Yohai Devir January הבעייה ישנה כמות נתונה ומוגבלת של זיכרון פיזי. איך נחלק אותו בין התהליכים השונים ? CPU תהליך 2 תהליך 1 תהליך 3 זיכרון פיזי

(C) Yohai Devir January פתרון ראשון : חלוקה שווה של הזיכרון בין התהליכים השונים. הבעייתיות בפתרון : 1. תהליכים שדורשים הרבה זיכרון מצריכים הגדלת הבלוק ( שמגביל מספר התהליכים האפשרי ) 2. תהליכים שדורשים מעט זיכרון מבזבזים את רוב הבלוק הגדול שהוקצה עבורם ( שברור פנימי ) 3. הקצאת הזיכרון לא ניתנת לשינוי בזמן ריצת התהליכים

(C) Yohai Devir January פתרון שני הקצאת זיכרון תיעשה בקטעים, על פי בקשות התהליכים. (דוגמה: Windows 3.x) הבעייתיות בפתרון : 1. עקב הקצאה ושחרור קטעים בגדלים שונים, הזיכרון שבין הקטעים מתבזבז ( שברור חיצוני ) 2. ניצול יעיל של זיכרון מצריך הזזת קטעים ושיטות מיעון מסובכות

(C) Yohai Devir January פתרון שלישי - זיכרון וירטואלי נפריד בין הזכרון שהתכנית רואה – "המרחב הלוגי" (הווירטואלי) לבין המרחב הפיזי (הזיכרון בפועל של המחשב). בפתרון זה בד"כ גם מקצים מקום בזיכרון המשני (הדיסק הקשיח) שישמש כהרחבה לזיכרון הפיזי הקיים במחשב.(swapping)

(C) Yohai Devir January מושגים מסגרת – הזיכרון הפיזי מחולק ליחידות שוות שנקראות מסגרות. PFN (physical frame number) – מספר מסגרת במרחב הפיזי. דף (page) – הזיכרון הלוגי של כל תהליך מחולק ליחידות שוות בגודל למסגרות. כל יחידה נקראת דף. VPN (virtual page number) – מספר דף במרחב הלוגי. זיכרון פיזי – הזיכרון של המחשב. זיכרון וירטואלי – מרחב זיכרון מדומה אליו ניגש תהליך. swapping – ניצול הזיכרון המשני להרחבת מרחב הזכרון שבשימוש; מבטל את החובה כי כל תהליך ישהה בזיכרון הפיזי במהלך כל הריצה, ובפרט מאפשר להריץ תהליכים גדולים מגודל הזיכרון הפיזי.

(C) Yohai Devir January יתרונות הזיכרון הווירטואלי 1. אפשרות להגדיל את הזיכרון השמיש מעבר לגודל הזיכרון הפיזי, בעזרת swapping. 2. אין צורך ב -relocation – לכל תוכנית מרחב זיכרון וירטואלי נפרד ( מתחילה מכתובת 0 בזיכרון ). 3. שיתוף זיכרון קל – יכולים להחזיק דף אחד בזיכרון הפיזי שאליו יצביעו רשומות PTE של תהליכים שונים. מקרה פרטי: תמיכה יעילה בריבוי תהליכים (fork). 4. הגנה ( הפרדה ) – בין מרחבי זיכרון של תהליכים שונים.

(C) Yohai Devir January מבנה  הזיכרון  הווירטואלי CPU 0x00000

(C) Yohai Devir January מבנה  הזיכרון  הפיזי הזיכרון הפיזי מחולק ל -2 חלקים : 1." החלק העליון " מכיל טבלאות תרגום עבור המרחבים הווירטואליים של כל התהליכים. 2."החלק התחתון" מכיל את המסגרות המכילות דפי הזיכרון של התהליכים. כל מסגרת יכולה להכיל דף כלשהו, ללא סדר מסוים. גודל מסגרת בזיכרון הפיזי = גודל דף בזיכרון הווירטואלי.

(C) Yohai Devir January מבנה  הזיכרון  הפיזי זיכרון משני ( דיסק ) PTE PT זיכרון ראשי PTBR 2

(C) Yohai Devir January מהלך גישה לכתובת וירטואלית ה -CPU ממען רק לפי הכתובות הווירטואליות של התהליך, ולכן כדי לגשת לנתון בזיכרון הפיזי יש צורך לתרגם את הכתובת הווירטואלית לכתובת פיזית. OffsetVPN VPN (Virtual Page Number) הוא מספר דף וירטואלי במרחב של התהליך. Offset – היסט מתחילת הדף לבית אליו רוצים לגשת. ניגשים למסגרת הנכונה בחלק התחתון עפ"י טבלת התרגום.

(C) Yohai Devir January מבנה טבלת תרגום PTE.... כל כניסה נקראת PTE (Page Table Entry) עבור כל דף וירטואלי במרחב התהליך יש כניסה אחת בטבלת התרגום של אותו תהליך. כלומר, לפי ה-VPN בכתובת הווירטואלית מוצאים את כניסת ה-PTE המתאימה בטבלת התרגום.

(C) Yohai Devir January מבנה טבלת תרגום PTE במערכת יש כמה תהליכים, אך בכל רגע נתון יש רק תהליך אחד (נקרא "התהליך הפעיל") שרץ כרגע במעבד. לתחילת טבלת התרגום של התהליך הפעיל מצביע ה-PTBR (Page Table Base Register). במקרה של החלפת תהליכים, יש לשנות את ה-PTBR להצביע על תחילת טבלת התרגום של התהליך החדש. PTE PTBR

(C) Yohai Devir January חישוב כתובת ( פיסית ) הכניסה המתאימה בטבלת התרגום : PTE_Address = [PTBR] + VPN*(Size Of One PTE)

(C) Yohai Devir January מבנה כניסה בטבלת התרגום VMPFN שדה PFN - זהו מספר המסגרת בה יושב הדף בזיכרון הפיזי.

(C) Yohai Devir January מבנה כניסה בטבלת התרגום VMPFN סיבית Valid – מציינת האם הדף נמצא בזיכרון הפיזי. (אם לא, ייתכן שהדף נמצא בזכרון המשני, או שהכתובת לא חוקית.) מדיניות הבאת הדפים היא Paging on Demand, כלומר רק כשיש דרישה מביאים את הדף המתאים לזיכרון הפיזי. אם הדף לא קיים בזיכרון הפיזי, בפנייה אליו תקרה פסיקת Page Fault (פנייה לכתובת וירטואלית שאין עבורה מיפוי לכתובת פיזית). הפסיקה מטופלת ע"י מערכת ההפעלה. אם הדף המבוקש נמצא בדיסק, המערכת צריכה לטעון אותו לאחת המסגרות הפנויות בזיכרון הפיזי. אם אין מסגרת פנויה אז יש לפנות את אחד הדפים, לעדכן את הדף שהוצא בזיכרון המשני, ולהכניס את הדף החדש למסגרת. הפינוי נעשה לפי מדיניות LRU.

(C) Yohai Devir January מבנה כניסה בטבלת התרגום VMPFN סיבית Modified – לפי מדיניות כתיבה Write-Back מעדכנים את תוכן הדף בזיכרון המשני רק כאשר מפנים אותו מהזיכרון הפיזי. הסיבית M מציינת האם הדף עודכן אחרי הטעינה. אם כן, בפינוי הדף נעדכן את תוכנו בדיסק.

(C) Yohai Devir January תרגום כתובת וירטואלית לפיזית שדה PFN – זהו מספר המסגרת בה יושב הדף בזיכרון הפיזי. שדה offset – אותו שדה ה - offset של הכתובת הוירטואלית. בסך הכל ישנן 2 גישות לזיכרון הפיזי – אחת לטבלת התרגום, ואחת לנתון עצמו. במידה ויש גם זיכרון מטמון, לאחר מציאת הכתובת הפיזית נחלק אותה לשדות tag, set, disp, ונחפש את הנתון במטמון כרגיל, כלומר, נחסוך את הגישה השניה. VPNoffset PFNoffset טבלת תרגום

(C) Yohai Devir January דוגמא של מכונה עם זיכרון מדומה הנחות : למכונה אין cache טבלת הדפים נמצאת בזיכרון הראשי כתובת בסיס של טבלת הדפים נתונה ברגיסטר PTBR=0x1000 תוכן הכתובת הוא C0. כתובת וירטואלית באורך 30 ביטים כתובת פיזית באורך 32 ביטים כניסה בטבלת הדפים מכילה את המידע הבא (PTE): PFNUnusedModifiedProtectionValid תזכורת : האינדקס בטבלת התרגום הנו מספר הדף המדומה.

(C) Yohai Devir January דוגמא : תוכנית קוראת משתנה מסוג DW (4 בתים ) הנמצא בכתובת מדומה x100100A מה היא הכתובת הפיזית של המשתנה ? 2. כמה גישות לזיכרון דרוש כדי לקרוא את הערך של המשתנה ? 1.מציאת הכתובת הפיזית של המשתנה: א- תרגום הכתובת לבינארי : A

(C) Yohai Devir January דוגמא : תוכנית קוראת משתנה מסוג DW (4 בתים ) הנמצא בכתובת מדומה x100100A מה היא הכתובת הפיזית של המשתנה ? 2. כמה גישות לזיכרון דרוש כדי לקרוא את הערך של המשתנה ? 1.מציאת הכתובת הפיזית של המשתנה: א- תרגום הכתובת לבינארי : A גודלו של שדה ה -PFN הוא 23 סיביות. גודלה של כתובת פיזית הינו 32 סיביות, והיא מחולקת ל -PFN ו -offest. לכן גודלו של שדה ה -offset הוא #offset=32-23=9 bit offsetVPN

(C) Yohai Devir January מציאת כתובת ה- PTE: + PTBR =PTE =0x VPN*

(C) Yohai Devir January גישה ראשונה לזיכרון לכתובת של ה PTE. תוכן הכתובת הוא C0 (נתון) זיכרון משני דיסק PTE C0 PT זיכרון ראשי PTBR

(C) Yohai Devir January מציאת ה - PFN: תרגום תוכן ה -PTE, C0 לבינארי 0C PFNUnusedModifiedProtectionValid

(C) Yohai Devir January היות ו - V=1 הדף נמצא בזכרון הפיזי, וניתן לגשת אליו. כתובת הדף בזכרון הפיזי היא : PFN (מתוך ה- PTE) Offset ( מהכתובת הוירטואלית )

(C) Yohai Devir January גישה שניה לזיכרון לכתובת A0 – להבאת הנתון זיכרון משני דיסק PTE C0 PT זיכרון ראשי PTBR A0

(C) Yohai Devir January שאלה 1 נתון מחשב עם זיכרון פיזי, זיכרון מדומה ומטמון. מרחב הכתובות המדומה בגודל 2 n. גודל הזיכרון הפיזי 2 m בתים. לכל בית יש כתובת. גודל דף בזיכרון המדומה הוא 2 q בתים. גודל בלוק של המטמון הוא 2 b בתים. המטמון יכול להכיל 2 c בלוקים. שיטת העבודה של המטמון - Direct mapped.

(C) Yohai Devir January א. תאר כיצד נראית כתובת מדומה במחשב זה. ב. תאר כיצד נראית כתובת פיזית במחשב זה. ג. איזה שיפור במהירות המחשב ניתן להשיג אם מתכנן המחשב ידאג לכך שיתקיים q≥b+c ? פתרון : א + ב, מרחב הכתובת המדומה בגודל 2 n, לכן אורך הכתובת הוירטואלית הוא n ביטים. גודל הזכרון הפיסי הוא 2 m ובכל כתובת יש בית, לכן אורך הכתובת הפיסית הוא m ביטים. גודל דף בזכרון המדומה הוא 2 q בתים, לכן אורך שדה ה - offset גם בכתובת המדומה וגם בכתובת הפיסית ( כי ה - offset המדומה שווה ל -offset הפיסי ) הוא q ביטים.

(C) Yohai Devir January PFNOffset m-qq כתובת פיזית VPNoffset n-qq כתובת מדומה ( וירטואלית )

(C) Yohai Devir January גודל בלוק במטמון הוא 2 b בתים, לכן אורך שדה ה - displacement בכתובת פיסית הוא b ביטים. המטמון יכול להכיל 2 c בלוקים ופועל בשיטת Direct mapped. לכן אורך שדה ה -set בכתובת פיסית הוא c ביטים. חלוקת הכתובת לשדות היא : tagsetdisp m-b-ccb

(C) Yohai Devir January ג. אם מתקיים אי שוויון q≥b+c אז ה -offset ( שדה q) מכיל בתוכו את השדות set ו - disp (b+c): יתכן ביצוע של שני תהליכים במקביל : תרגום כתובת מדומה לפיזית וחיפוש נתון במטמון.  יתקבל מצב בו נידע את מיקומו של הנתון המבוקש במטמון עוד לפני תרגום מלא של כתובתו הוירטואלית לפיזית.  ניתן יהיה להשתמש בנתון שהוצא מהמטמון עוד לפני סיום תרגום כתובתו המדומה ( שיפור מהירות המחשב ). הבעיה שעלולה להיווצר : לא ניתן לדעת אם הנתון שייך לכתובת הפיסית שתתקבל לאחר התרגום של הכתובת המדומה או לכתובת פיסית אחרת עקב קבלת tag- ים שונים.

(C) Yohai Devir January שאלה 2 1.במחשב מסוים יש זיכרון מדומה של 2 32 כתובות. 2.גודל דף של הזיכרון המדומה 2 13 בתים. 3.מבנה הכניסה בטבלת הדפים: 1 bit 2 bit12 bit MVUnusedPFN

(C) Yohai Devir January מהו גודל הזיכרון הפיזי ( לכל היותר )? מהו גודל טבלת הדפים ? גודל שדה ה -PFN הוא 12 ביטים ולכן כמות המסגרות בזיכרון הראשי היא לכל היותר הגודל של כל דף וירטואלי ( ולכן גם של מסגרת ) הוא 2 13 בתים, לכן מתקבל שגודל הזיכרון הפיסי הוא לכל היותר 2 12 *2 13 =2 25 בתים. גודל מרחב הזיכרון המדומה הוא 2 32 כתובות ( בית בכל כתובת ) וגודל הדף הינו ישנם 2 32 /2 13 =2 19 דפים וירטואליים ולכן אותה כמות כניסות בטבלת הדפים. למציאת אורך הכניסה בטבלת הדפים ( אורך כל PTE) נסכום את אורך השדות : =16 סיביות, כלומר 2 בתים. גודל טבלת הדפים הוא 2*2 19 =2 20 בתים.

(C) Yohai Devir January כמה תהליכים יכולים לרוץ בו זמנית על גבי המעבד? מספר התהליכים שיכולים לרוץ בזיכרון בו זמנית הוא לכל היותר כמספר טבלאות התרגום פחות אחד ( כדי שיהיה גם מקום בזיכרון לדפים ). לכל היותר 31 תהליכים יכולים לרוץ במקביל.

(C) Yohai Devir January בניסיון לחסוך זיכרון פיזי הנדרש ע"י ה-PT הוחלט להחזיק טבלה בה יש כניסה לכל מסגרת פיזית. אילו שדות צריכה להכיל טבלה כזו? נחזיק טבלת תרגום הפוכה, כלומר לכל מסגרת בזיכרון הפיזי נחזיק את השדות: VPN, Valid, Modified. כמו כן נחזיק מזהה תהליך (PID) כי דף מספר 2 (למשל) יכול להיות שייך לתהליך א' או לתהליך ב'.

(C) Yohai Devir January בהנחה שגודל כניסה חייב להיות חזקה של 2, כמה דפים פיזיים נצטרך כדי להחזיק את כל הטבלה ? ( של הסעיף הקודם ) ישנם 2 19 דפים ווירטואליים לכל תהליך, כלומר דרושים 19 ביטים לשדה VPN, ביט אחד ל - Valid, ביט אחד ל - Modified ובכדי להשלים לחזקה שלמה של 2 נחזיק 11 ביטים עבור מזהה התהליך. גודל הכניסה בטבלה החדשה יהיה 32 ביטים = 4 בתים. 1 bit 19 bit11 bit VMVPNProcess id מספר הכניסות הוא כמספר המסגרות הפיזיות. יש 2 12 מסגרות פיזיות, גודל כל כניסה 4 בתים ולכן גודל הטבלה החדשה 4*2 12 =2 14 בתים.

(C) Yohai Devir January מה היתרונות ואילו בעיות צפויות עם מימוש זה ? היתרון בטבלה החדשה הוא חסכון במקום. גודל כל דף וירטואלי הוא 2 13 בתים, גודל הטבלה החדשה הוא 2 14 ולכן הטבלה תתפוס רק 2 14 /2 13 =2 מסגרות בזיכרון. הבעיה הצפויה בשימוש בטבלה החדשה היא חיפוש של PFN בהינתן VPN. אם בטבלה הישנה VPN שימש כאינדקס כניסה, בטבלה החדשה נצטרך לסרוק את כל הכניסות, לבדוק את מזהה התהליך ואת ה -VPN הנתון ואז אינדקס הכניסה שמצאנו יהיה ה -PFN הדרוש. כלומר חסכנו מקום ופגענו ביעילות.

(C) Yohai Devir January backups

(C) Yohai Devir January רשימת ראשי תיבות PFN (Physical Frame Number) - אחת המסגרות בזיכרון הפיזי, שיכולה להכיל דף וירטואלי. VPN (Virtual Page Number ) - מספר הדף הוירטואלי של תהליך מסוים. Offset - כמה צריך לקפוץ מתחילת הדף עד המקום המסוים אליו רוצים לגשת בדף. PT (page table) – טבלה שמקשרת בין מספר דף וירטואלי (VPN) לבין הסטטוס והמיקום שלו. PTE (page table entry) – שורה ב - PT PTBR (Page Table Base Register) – רגיסטר שמצביע על טבלת הדפים של התהליך שרץ כרגע

(C) Yohai Devir January זיכרון וירטואלי עם מטמון