מזהה תהליך

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

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

במערכות הפעלה, מזהה תהליךאנגלית: Process identifier, בדרך כלל מופיע בקיצור process ID או בראשי תיבות PID) הוא מספר המשמש את ליבת מערכת ההפעלה לזהות תהליך באופן ייחודי (חד-חד-ערכי). המספר משמש גם כפרמטר המועבר לפונקציות שונות של מערכת ההפעלה הדורשות הפניה לתהליך, למשל עדכון העדיפות של התהליך, סיום מאולץ שלו (kill) ועוד[1].

במערכות הפעלה מבוססות Unix, תהליכים חדשים נוצרים באמצעות קריאת המערכת Fork, המייצרת תהליך בן חדש מתוך התהליך האב. מזהה התהליך של התהליך הבן מוחזר לתהליך האב כך שהאב יוכל לבצע פעולות על התהליך הבן בהמשך[2]. מזהי התהליך ב-Unix בדרך כלל מוקצים סדרתית, כאשר התהליך הראשון שנוצר במערכת מקבל את המזהה 0 וכל תהליך חדש מקבל את המזהה העוקב לזה האחרון שהוקצה[3]. כאשר מגיעים למזהה התהליך המקסימלי (משתנה ממערכת הפעלה אחת לשנייה), חוזרים ל-0 וממשיכים להקצות את המזהים, אך מדלגים על מזהים המוקצים לתהליכים אחרים שעודם קיימים ברשימת התהליכים (בין אם התהליך עדיין רץ ובין אם הוא תהליך זומבי).

ב-Microsoft Windows תהליכים חדשים נוצרים באמצעות הקריאה לפונקציה CreateProcess, ומזהה התהליך החדש שנוצר מוחזר לתהליך האב כשדה dwProcessId במבנה הנתונים PROCESS_INFORMATION[4]. תהליך המעוניין לקבל את המזהה שהוקצה לו יכול לעשות כן על ידי קריאה לפונקציה GetCurrentProcessId[5].

הערות שולייםעריכה

  1. ^ I. CHANDRA MOHAN, OPERATING SYSTEMS, PHI Learning Pvt. Ltd., 2013-02-13, עמ' 69, ISBN 978-81-203-4726-7. (באנגלית)
  2. ^ fork(2) - Linux manual page, man7.org
  3. ^ Robert Love, Linux System Programming: Talking Directly to the Kernel and C Library, "O'Reilly Media, Inc.", 2013-05-14, עמ' 138-139, ISBN 978-1-4493-4154-1. (באנגלית)
  4. ^ karl-bridge-microsoft, CreateProcessA function (processthreadsapi.h) - Win32 apps, docs.microsoft.com (בAmerican English)
  5. ^ karl-bridge-microsoft, GetCurrentProcessId function (processthreadsapi.h) - Win32 apps, docs.microsoft.com (בAmerican English)