תהליך (מדעי המחשב) – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
מאין תקציר עריכה
Yonidebot (שיחה | תרומות)
מ בוט החלפות: שנייה; תוכנית; לעתים; זיכרון; הווירטואלי;
שורה 1:
'''תהליך''' ב[[מדעי המחשב]], הוא מופע של [[תכניתתוכנית מחשב]] שמופעל על ידי מערכת מחשב שיש לה היכולת להפעיל מספר תהליכים בו זמנית.
 
תכניתתוכנית מחשב היא בעצמה רק אוסף פקודות, בעוד שתהליך הוא ההפעלה של אותן פקודות. כך למשל, הפעלה של מספר מופעים של אותה תוכנה יגרום לעיתיםלעתים קרובות למספר תהליכים של התוכנה להפתח בו זמנית. כדי לאפשר למשתמש להפעיל מספר תהליכים במקביל, מתבצעת על ידי [[סדרן תכניות|סדרן התכניות]] (Scheduler) חלוקת זמן [[מעבד]] בין התהליכים.
 
== יצוג תהליך במערכת ההפעלה ==
תהליך מהווה מחשב וירטואלי שלם, והגדרתו נעשית על ידי [[מערכת הפעלה|מערכת ההפעלה]] ועל כן יכולה להשתנות ממערכת הפעלה אחת לשניהלשנייה. אך באופן כללי הגדרה זו תכיל:
* העתק של אוסף הפקודות של התכניתהתוכנית.
* הזכרוןהזיכרון של התהליך - מיפוי הזכרוןהזיכרון של התהליך במרחב הזכרוןהזיכרון הוירטואליהווירטואלי לזכרוןלזיכרון הפיזי, [[מחסנית (מבנה נתונים)|מחסנית]] קריאות ו[[ערימה]] לחישובי ביניים הנעשים בזמן ריצה.
* רשימת משאבים זמינים שהוקצו לתהליך על ידי מערכת ההפעלה.
* זהות והרשאות - מידע אודות הבעלים של התהליך והרשאות ריצה. על מערכת ההפעלה גם לדעת אם התהליך הופעל ממצב ליבה או ממצב משתמש.
* מצב המעבד - זהו ההקשר שמאפשר למעבד לבצע [[החלפת הקשר]]. מידע זה מכיל את ערך ה[[אוגר (מחשבים)|אוגרים]], כתובת זכרוןזיכרון פיזי וכו'. מידע זה נשמר ב[[אוגר (מחשבים)|אוגרים]] של המעבד בזמן ריצה, ואחרת בזכרוןבזיכרון.
 
'''תהליך''' אחד יכול להריץ מספר [[תהליכון|תהליכונים]]. תהליכונים אלו חולקים את הייצוג של התהליך, ועל כן הם בעלי הרשאות משותפות, מפת זכרוןזיכרון משותפת וכו'.
 
מערכת ההפעלה שומרת על הפרדה בין התהליכים ומקצה להם את המשאבים בצורה שתבטיח עד כמה שניתן שתהליכים לא יפריעו אחד לשני (הפרעה כזו יכולה להתבטא בצורת [[קיפאון (מדעי המחשב)|קיפאון]]). כמו כן על מערכת ההפעלה לספק מנגנון לתקשורת בין תהליכים, כדי לאפשר לתהליכים לתקשר אחד עם השני באופן בטוח.