החלפה היא סכמת ניהול זיכרון שבה ניתן להחליף כל תהליך באופן זמני מזיכרון ראשי לזיכרון משני, כך שניתן יהיה להפוך את הזיכרון הראשי לזמין עבור תהליכים אחרים. הוא משמש לשיפור ניצול הזיכרון הראשי. בזיכרון משני, המקום שבו מאוחסן תהליך ההחלפה נקרא חלל החלפה.
מטרת ההחלפה במערכת ההפעלה היא לגשת לנתונים הקיימים בדיסק הקשיח ולהביא אותם ל-RAM כך שתוכניות היישום יוכלו להשתמש בו. הדבר שיש לזכור הוא שהחלפה משמשת רק כאשר אין נתונים ב-RAM.
למרות שתהליך ההחלפה משפיע על ביצועי המערכת, הוא עוזר להפעיל יותר מתהליך אחד. זו הסיבה לכך שהחלפה מכונה גם דחיסת זיכרון.
מושג ההחלפה התחלק לשני מושגים נוספים: החלפה והחלפה החוצה.
- Swap-out היא שיטה להסרת תהליך מ-RAM והוספתו לדיסק הקשיח.
- Swap-in היא שיטה להסרת תוכנית מהדיסק הקשיח ולהחזיר אותה לזיכרון הראשי או ל-RAM.
דוגמא: נניח שגודל תהליך המשתמש הוא 2048KB והוא דיסק קשיח סטנדרטי שבו להחלפה יש קצב העברת נתונים של 1Mbps. כעת נחשב כמה זמן ייקח להעביר מהזיכרון הראשי לזיכרון המשני.
User process size is 2048Kb Data transfer rate is 1Mbps = 1024 kbps Time = process size / transfer rate = 2048 / 1024 = 2 seconds = 2000 milliseconds Now taking swap-in and swap-out time, the process will take 4000 milliseconds.
יתרונות ההחלפה
- זה עוזר למעבד לנהל מספר תהליכים בתוך זיכרון ראשי יחיד.
- זה עוזר ליצור ולהשתמש בזיכרון וירטואלי.
- החלפה מאפשרת למעבד לבצע מספר משימות בו זמנית. לכן, תהליכים לא צריכים להמתין הרבה זמן לפני שהם מבוצעים.
- זה משפר את ניצול הזיכרון העיקרי.
חסרונות של החלפה
- אם מערכת המחשב מאבדת חשמל, המשתמש עלול לאבד את כל המידע הקשור לתוכנית במקרה של פעילות החלפה משמעותית.
- אם אלגוריתם ההחלפה אינו טוב, השיטה המרוכבת יכולה להגדיל את מספר תקלות העמוד ולהפחית את ביצועי העיבוד הכוללים.
הערה:
- במערכת הפעלה יחידה, רק תהליך אחד תופס את אזור הזיכרון של תוכנת המשתמש ונשאר בזיכרון עד להשלמת התהליך.
- במערכת הפעלה מרובת משימות, נוצר מצב שכל התהליכים הפעילים לא יכולים לתאם בזיכרון הראשי, אז תהליך מחליף מהזיכרון הראשי כדי שתהליכים אחרים יוכלו להיכנס אליו.