קצת off topic
אני לומד למבחן במערכות הפעלה ויש משהו קטן שאני לא מצליח להבין, אני לא בטוח איפה בכלל לשאול שאלה כזאת.
נניח ויש לי מערכת ובה יש two level paging
רמה ראשונה בגודל 1024 רשומות של 2nd level page tables
רמה שניה בגודל 1024 רשומות שמיצגות 4096 ביטים
במילים אחרות מערכת עם אורך כתובת 32 ביטים (4 גיגה בייט זיכרון כביכול)
נניח ואני מקבל כתובת Ox00403004 וירטואלית (לוגית), איך אני ממפה אותה לזיכרון פיזי כאשר אני יודע שכתובת מחולקת ל (10 ביט רמה ראשונה 10 ביט רמה שניה 12 ביט הייסט - כמובן מדובר משמאל לימין)
בספר (modern operating systems 3rd ed.) הם מיפו את זה לרשומה הראשונה בטבלה הראשונה לרשומה השניה בטבלה השניה וכמובן משם ישירות לזיכרון, מבלי להציג חישוב מתמטי של איך זה נעשה בפועל.
מישהו יכול להסביר או לתת לי איזה לינק למקום בו מסבירים? ראיתי כבר הרצאה של שעה של איזה הודי מהאוניברסיטה הלאומית של בומביי או משהו כזה וגם הוא לא עונה על השאלה הזאת.
תודה מראש!
אני לומד למבחן במערכות הפעלה ויש משהו קטן שאני לא מצליח להבין, אני לא בטוח איפה בכלל לשאול שאלה כזאת.
נניח ויש לי מערכת ובה יש two level paging
רמה ראשונה בגודל 1024 רשומות של 2nd level page tables
רמה שניה בגודל 1024 רשומות שמיצגות 4096 ביטים
במילים אחרות מערכת עם אורך כתובת 32 ביטים (4 גיגה בייט זיכרון כביכול)
נניח ואני מקבל כתובת Ox00403004 וירטואלית (לוגית), איך אני ממפה אותה לזיכרון פיזי כאשר אני יודע שכתובת מחולקת ל (10 ביט רמה ראשונה 10 ביט רמה שניה 12 ביט הייסט - כמובן מדובר משמאל לימין)
בספר (modern operating systems 3rd ed.) הם מיפו את זה לרשומה הראשונה בטבלה הראשונה לרשומה השניה בטבלה השניה וכמובן משם ישירות לזיכרון, מבלי להציג חישוב מתמטי של איך זה נעשה בפועל.
מישהו יכול להסביר או לתת לי איזה לינק למקום בו מסבירים? ראיתי כבר הרצאה של שעה של איזה הודי מהאוניברסיטה הלאומית של בומביי או משהו כזה וגם הוא לא עונה על השאלה הזאת.
תודה מראש!