החלפת הקשר – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
Matanyabot (שיחה | תרומות)
מ בוט החלפות: תוכנ\1ת
אין תקציר עריכה
שורה 1:
{{קישורי פורטל|מדעי המחשב}}
 
ב[[מחשב]], '''החלפת הקשר''' (context switch) הוא תהליך של החלפת מצב ה[[מעבד]] כך שמספר [[תהליך (מדעי המחשב)|תהליכים]] יוכלו לחלוק את אותו [[מעבד]]. תהליך זה שומר את מצב האוגרים במעבד בזכרון המחשב, ולאחר מכן מכניס למעבד את נתוני ריצת תהליך אחר, לאחר מכן, מחזיר את נתוני הריצה של התהליך הקודם אל המעבד וממשיך את ריצתו מאותה הנקודה בה הפסיק.
'''החלפת הקשר''' הוא כלי חיוני במחשבים הפועלים ב[[ריבוי משימות]] הרצות על מעבד יחיד.
בעת ביצוע [[סט פקודות|פקודות מכונה]], המעבד נמצא בהקשר, מצב שתואם תהליך ספציפי, שאת פקודותיו הוא מבצע. על מנת שיוכל לעבור לבצע פקודות של תהליך אחר, עליו לעבור למצב שתואם תהליך זה. כלומר יש לשמור את מצב המעבד הנוכחי, ולטעון את המצב השמור של המעבד עבור התהליך החדש.
 
'''החלפת הקשר''' הוא כלי חיוני במחשבים הפועלים ב[[ריבוי משימות]].
תהליך '''החלפת ההקשר''' נחשב לתהליך בזבזני מבחינת [[משאב מערכת|משאבי מערכת]] ועל כן [[מערכת הפעלה|מערכות הפעלה]] מנסות לבצע [[מיטוב אלגוריתמים|אופטימיזציה]] בשימוש בהן.
 
==מתי תבוצע החלפת הקשר?==
קיימים שלושה תרחישים בהם יש צורך בהחלפת הקשר:
* במחשב הפועל ב[[ריבוי משימות]], קיים [[סדרן תוכניות]] (scheduler) הקובע את סדר הרצת התוכניות ומקצה "זמן מעבד" לכל [[תהליך (מדעי המחשב)|תהליך]]. כש"זמן מעבד" של תהליך אחד מסתיים, מופעלת [[פסיקה (מחשב)|פסיקה]] שתגרור '''החלפת הקשר'''.
* ארכיטקטורות מסוימות (למשל [[x86|ארכיטקטורת x86]] של [[אינטל]]) הן מונעות-פסיקה. משמעות הדבר היא שבמידה וה[[מעבד]] צריך למשל לבצע קריאה מהדיסק, הוא ישלח את בקשת הקריאה ויעבור לבצע פעילות אחרת במקום להמתין. עם סיום הקריאה מהדיסק תופעל [[פסיקה (מחשב)|פסיקה]] שתגרור '''החלפת הקשר'''. ה[[פסיקה (מחשב)|פסיקה]] מהדיסק תטופל על ידי [[שגרת טיפול בפסיקה]].
* במעבר בין [[מרחב משתמש|מצב משתמש]] (user mode) ל[[מצב ליבה]] (kernel mode), תלוי במערכת ההפעלה, תיתכן '''החלפת הקשר'''.
 
[[קטגוריה:תהליכים (מדעי המחשב)]]