זיכרון וירטואלי – הבדלי גרסאות
תוכן שנמחק תוכן שנוסף
מאין תקציר עריכה |
|||
שורה 3:
<!-- חסר כאן הסבר על קשיים בניהול זיכרון: מהיר, קטן ויקר מול גדול, זול ואיטי (ובכלל הייררכיית הזיכרון). מולטי-טאסקינג, -->
הרעיון של זיכרון וירטואלי הוא להוסיף עוד רמה של הפשטה בארגון הזיכרון. תהליך המנסה לגשת לזיכרון ב[[כתובת (זיכרון מחשב)|כתובת]] X (כתובת '''וירטואלית'''), ייגש בפועל לכתובת מתאימה Y (כתובת '''פיזית''') בזיכרון הראשי של המחשב, או לכתובת Z בזיכרון משני כלשהו, בדרך כלל [[
ארבע מטרות מושגות בדרך זו:
*'''גודל''': גלגול האחריות על ניהול [[מדרג הזיכרון]] מהתוכנית אל מערכת ההפעלה. ההגבלה על גודל הזיכרון הזמין לתהליך איננה תלויה בגודל הזיכרון הראשי, שהוא מהיר אך יקר יחסית ולכן גם קטן, אלא בפרמטרים אחרים: גודל
*'''רצף''': כאשר תהליך מבקש זיכרון רציף (עבור [[מערך (מבנה נתונים)|מערכים]], למשל), הוא יכול להתייחס לזיכרון וירטואלי רציף, ואין צורך למצוא בזיכרון הראשי רצף של כתובות שאינן בשימוש.
*'''בידוד''' בין תהליכים: אם שני תהליכים שאינם משתפים זיכרון מנסים שניהם לגשת לכתובת X, הם ניגשים בפועל לכתובות שונות, אלא אם כן מערכת הזיכרון הווירטואלי (על פי רוב, [[מערכת הפעלה|מערכת ההפעלה]]) מסיקה שאין בעיה בשיתוף של כתובות פיזיות - אם המידע הדרוש זהה, והגישה היא לקריאה בלבד, או שמדובר במידע שמשותף במפורש בין תהליכים.
*'''ניהול יעיל יותר של החומרה''': זיכרון RAM (על ידי הקטנת שברור),
== היסטוריה ==
|