תהליך (מדעי המחשב)

מתוך המכלול, האנציקלופדיה היהודית
קפיצה לניווט קפיצה לחיפוש
Crystal Clear app help index.svg
ערך מחפש מקורות
רובו של ערך זה אינו כולל מקורות או הערות שוליים, וככל הנראה, הקיימים אינם מספקים.

אנא עזרו לשפר את אמינות הערך באמצעות הבאת מקורות לדברים ושילובם בגוף הערך בצורת קישורים חיצוניים והערות שוליים.
אם אתם סבורים כי ניתן להסיר את התבנית, ניתן לציין זאת בדף השיחה.

ערך מחפש מקורות
רובו של ערך זה אינו כולל מקורות או הערות שוליים, וככל הנראה, הקיימים אינם מספקים.

אנא עזרו לשפר את אמינות הערך באמצעות הבאת מקורות לדברים ושילובם בגוף הערך בצורת קישורים חיצוניים והערות שוליים.
אם אתם סבורים כי ניתן להסיר את התבנית, ניתן לציין זאת בדף השיחה.

תהליךאנגלית: Process) במדעי המחשב, הוא מופע של תוכנית מחשב שמופעל על ידי מערכת מחשב שיש לה היכולת להפעיל מספר תהליכים בו זמנית.

תוכנית מחשב היא בעצמה רק אוסף פקודות, בעוד שתהליך הוא ההפעלה של אותן פקודות. כך למשל, הפעלה של מספר מופעים של אותה תוכנה יגרום לעיתים קרובות למספר תהליכים של התוכנה להפתח בו זמנית. כדי לאפשר למשתמש להפעיל מספר תהליכים במקביל, מתבצעת על ידי סדרן התוכניות (Scheduler) חלוקת זמן מעבד בין התהליכים. בסיום ריצתו, התהליך מחזיר ערך יציאה (Exit status) שמאפשר לתהליך האב שיצר אותו לקבל מידע על סיום מוצלח של התהליך או לחלופין ערך שגיאה המעיד על סוג הכישלון שמנע מהתהליך להסתיים בהצלחה. תהליך שסיים את פעולתו אך עדיין קיים בטבלת התהליכים כדי שיתאפשר לתהליך האב לקרוא את ערך היציאה שלו מכונה תהליך זומבי.

יצוג תהליך במערכת ההפעלה

תהליך מהווה מחשב וירטואלי שלם, והגדרתו נעשית על ידי מערכת ההפעלה ועל כן יכולה להשתנות ממערכת הפעלה אחת לשנייה. אך באופן כללי הגדרה זו תכיל:

  • העתק של אוסף הפקודות של התוכנית.
  • הזיכרון של התהליך - מיפוי הזיכרון של התהליך במרחב הזיכרון הווירטואלי לזיכרון הפיזי, מחסנית קריאות וערימה לחישובי ביניים הנעשים בזמן ריצה.
  • רשימת משאבים זמינים שהוקצו לתהליך על ידי מערכת ההפעלה.
  • זהות והרשאות - מידע אודות הבעלים של התהליך והרשאות ריצה. על מערכת ההפעלה גם לדעת אם התהליך הופעל ממצב ליבה או ממצב משתמש.
  • מצב המעבד - זהו ההקשר שמאפשר למעבד לבצע החלפת הקשר. מידע זה מכיל את ערך האוגרים, כתובת זיכרון פיזי וכו'. מידע זה נשמר באוגרים של המעבד בזמן ריצה, ואחרת בזיכרון.

תהליך אחד יכול להריץ מספר תהליכונים. תהליכונים אלו חולקים את הייצוג של התהליך, ועל כן הם בעלי הרשאות משותפות, מפת זיכרון משותפת וכו'. כמו כן תהליך אחד יכול ליצור ולהריץ תהליכים אחרים במקביל לפעולתו.

מערכת ההפעלה שומרת על הפרדה בין התהליכים ומקצה להם את המשאבים בצורה שתבטיח עד כמה שניתן שתהליכים לא יפריעו אחד לשני (הפרעה כזו יכולה להתבטא בצורת קיפאון). כמו כן על מערכת ההפעלה לספק מנגנון לתקשורת בין תהליכים, כדי לאפשר לתהליכים לתקשר אחד עם השני באופן בטוח.

ראו גם