זיכרון וירטואלי הוא שיטה לניהול זיכרון המחשב. הוא מסתיר את הזיכרון הפיזי ומציג לכל תוכנית מרחב זיכרון רציף.
ארכיטקטורת פון נוימן (הוצעה בשנות ה-40) מגדירה שמחשב שומר גם תוכניות וגם נתונים באותו זיכרון. בזמנו, וכך גם היום, הזיכרון הפיזי הוא RAM. בשנות ה-70, המחיר הגבוה של זיכרון RAM הוביל ליצירת זיכרון וירטואלי. הוא מאפשר לתוכניות להראות כאילו יש להן זיכרון גדול יותר מהזיכרון הפיזי.
זיכרון וירטואלי נותן לכל תהליך מרחב מזוּי שבו הכתובות הן וירטואליות (כתובות שהתהליך רואה, ולאו דווקא הכתובות בפיזי). החלקים הנחוצים מרחב זה נשמרים על מדיה איטית יותר, כמו דיסק. מערכת ההפעלה מעבירה למחשב רק את החלקים שהמעבד צריך כרגע. כאשר צריך מקום, המערכת מעבירה חזרה לדיסק חלקים שלא בשימוש.
במעבדי אינטל הגישה לזיכרון מבוססת דפדוף: כל כתובת מורכבת ממקטע (segment) והֵסֶט (offset). היחידה לניהול זיכרון (MMU) היא רכיב חומרה שמתרגם כתובת וירטואלית לכתובת פיזית. אם המידע המבוקש אינו ב-RAM, נוצרת פסקה שמודיעה למערכת ההפעלה להביא את המידע מהדיסק. קריאה כזו נקראת "Page Fault". כדי לייעל קריאה לדיסק, המערכת מביאה חבילה של כמה KB שנקראת דף (page), ומעבירה לדיסק דף אחר לא פעיל.
המעבד משתמש בטבלאות דפים כדי לתרגם כתובות. טבלאות אלה מסודרות לעתים ברמות כדי לחסוך זיכרון. גישה לטבלאות דורשת גישות נוספות לזיכרון, ולכן יש רכיב מטמון מהיר בשם TLB (Translation Lookaside Buffer). ה-TLB שומר תרגומי כתובות שנעשה בהם שימוש לאחרונה. זאת כדי להפחית את מספר הגישות האיטיות. החיסרון של ה-TLB הוא שהוא קטן יחסית.
זיכרון וירטואלי הוא טריק במחשב. הוא נותן לכל תוכנית תחושה שיש לה הרבה זיכרון.
ג'ון פון נוימן חשב על מחשבים בשנות ה-40. המחשב שומר גם תוכניות וגם נתונים באותו מקום. בזמנו זיכרון RAM היה יקר. בשנות ה-70 המציאו זיכרון וירטואלי כדי לעזור.
זיכרון וירטואלי מחלק את הזיכרון לחלקים. חלקים לא נחוצים נשמרים על דיסק, שהוא איטי יותר. מערכת ההפעלה מביאה למחשב רק את החלקים שצריך עכשיו.
במעבדי אינטל כל כתובת מחולקת לשני חלקים. רכיב שנקרא MMU (יחידת ניהול זיכרון) מתרגם את הכתובת לכתובת אמיתית. אם המידע לא נמצא ב-RAM, המחשב קורא לדיסק. אירוע כזה נקרא Page Fault (תקלה שמכריחה להביא דף מהדיסק). דף (page) הוא חתיכה קטנה של נתונים, בדרך כלל כמה KB.
טבלאות דפים עוזרות לתרגם כתובות. זה יכול להיות איטי, לכן יש מטמון מהיר שנקרא TLB. ה-TLB זוכר תרגומים אחרונים ועוזר למהירות.
תגובות גולשים