הזיכרון הווירטואלי
R זיכרון וירטואלי -
זיכרון משלים המוגדר "וירטואלית" על הכונן הקשיח.
Rswap (שיחלוף)
- תהליך העברת מידע מהזיכרון הפיזי לווירטואלי ולהפך, תהליך זה מכונה גם paging.
iRקובץ swap (קובץ
paging או pagefile וכו) - הקובץ בו מאוחסן הזיכרון הווירטואלי.
לסיכום המושגים רק הערה:
swap - השם של התהליך והקובץ בwindows 9x
page - השם והתהליך (paging) ב-winNT (וכמובן 20000,XP וגם מכאן ואילך)
מטרות הזיכרון
הווירטואלי
הזיכרון הווירטואלי קיים על מנת לספק לנו תוספת זיכרון לזיכרון ה-ram הקיים
במחשב למטרת עבודה תקינה של מערכת ההפעלה.
למה בכלל אנו זקוקים לו?
זיכרון ה-ram מעבר להיותו יקר הינו משאב מוגבל במחשב (הממוצע עומד על 128MB
כשהממוצע עולה לאט עם השנים),
מטרת ה-ram היא להחזיק את התוכניות הנטענות ולשמש את
המעבד לביצוע פעולותיו.
למעבד עצמו יש זיכרון, הנקרא "זיכרון מטמון", זיכרון זה נועד למעבד לביצוע פעולות
ברמה המיידית, אך הוא מוגבל (מאוד) ולכן המעבד ישתמש בזיכרון הראשי כמשטח העבודה
שלו.
למה צריך זיכרון וירטואלי - התשובה מאוד פשוטה, כי כמעט תמיד אין מספיק
מקום בזיכרון ה-ram.
עכשיו למה אין מספיק מקום?
תוכנת המסרים שלכם
פועלת ברקע !
תוכנות כמו הקאזה ,
אימיול , סולסיק או מה שאתם משתמשים להעברת קבצים
חיבור לאינטרנט יש, גם הוא
תופס מקום, גם האתר שאתם צופים בו
מערכת ההפעלה
עצמה!!!!
לרוב, חוץ ממקרים חריגים (פתוחות אלפי משימות, אתה עורך גרפי או וידאו עם avid/photoshop, וירוסים ועוד ) מערכת ההפעלה היא הצרכן הגדול ביותר של זיכרון. מערכת ההפעלה מפעילה עשרות (לפעמים גם מאות או אלפים) של תהליכים שונים לעבודתה, והיא תופסת המון זיכרון.
על מנת לספק את צורכי הזיכרון של מערכת ההפעלה, יש לנו בנוסף לזיכרון הראשי, גם
זיכרון וירטואלי!!!!
קצת על מגבלת הזיכרון: מאז דור מעבדי 386 והלאה (INTEL), גודל המילה המטופלת
ע"י המעבד היה 32bit, כלומר
המעבד יכול לטפל במידע באורך של 32 סימני 1 ו-0.
מאחר שזהו קו המידע של המעבד, המגבלות לשימוש בזיכרון הינם גודל זה, שהוא (תרגום
בינארי לדצימלי)
2 בחזקת 32 שזה 4GB זיכרון!
תהליך השחלוף ( swap-paging
file)
תהליך זה, הינו תהליך העברת מידע בין הזיכרון הווירטואלי וזיכרון ה-ram.
למעשה, תהליך "הקריאה" מהזיכרון.
עכשיו מאחר שגישה ל-HD איטית בממוצע פי מליון מגישה ל-ram, אזי דבר זה מאט את
המחשב. המטרה של
ביטול ה-paging file הוא להימנע מתהליך הכתיבה לכונן הקשיח ועל ידי
כך להאיץ את פעלת המחשב. הסכנה באופציה
זו היא שעלול להיווצר מצב בו אין די זיכרון,
אך בדרך כלל מבצע את זה מי שיש לו מספיק זיכרון.
הסכנה השנייה הטמונה בביטול קובץ זה, הוא קוד שגוי שעלול "להפיל" את הזיכרון.
האם לבטל את הזיכרון
הווירטואלי?!
אי אפשר לבטל את הזיכרון הווירטואלי, מה שכן אפשר לבטל זה את השימוש בקובץ ההחלפה
(page file)!
החיסרון הוא בזבוז עצום של RAM - כאשר תכנה מבקשת הקצאת זיכרון וירטואלי, היא עשויה
לבקש כמות גדולה של
זיכרון מאשר מה שהיא באמת הולכת להשתמש (מעין "הכנה" לכל מצב
שלא יבוא) - וסה"כ עשוי להגיע למאות של מגה-בייטים. הקצאת הזיכרון הזו צריכה
להיעשות ממקום כלשהו, ומערכת ההפעלה עושה זאת בד"כ עם קובץ ההחלפה. באם לא
קיים
קובץ כזה, אזי יוקצה זיכרון לשטח זה מתוך ה-RAM, והשטח יהיה נעול לשימוש תוכנה זו
בלבד ולא ישמש שום תכנה
אחרת גם יהיה "פנוי".
צריך לשקול את ההשלכות של ביטול קובץ ההחלפה!!!
לסיכום
במערכות ההפעלה החדשות הזיכרון הווירטואלי הוא הכרחי וחשוב ולא קימת מגבלה של
מהירות הדיסקים בגלל המהירות הקריאה והכתיבה שלהם אשר נגזרים ממהירות הגישה שלהם
וצורת ופירמוט שלהם (NTFS)אבל
זיכרון זה קיים וחשוב ולא רצוי לבטל אותו.