מזהה תהליך
ערך ללא מקורות
| ||
ערך ללא מקורות | |
במערכות הפעלה, מזהה תהליך (מאנגלית: Process identifier, בדרך כלל מופיע בקיצור process ID או בראשי תיבות PID) הוא מספר המשמש את ליבת מערכת ההפעלה לזהות תהליך באופן ייחודי (חד-חד-ערכי). המספר משמש גם כפרמטר המועבר לפונקציות שונות של מערכת ההפעלה הדורשות הפניה לתהליך, למשל עדכון העדיפות של התהליך, סיום מאולץ שלו (kill) ועוד[1].
במערכות הפעלה מבוססות Unix, תהליכים חדשים נוצרים באמצעות קריאת המערכת Fork, המייצרת תהליך בן חדש מתוך התהליך האב. מזהה התהליך של התהליך הבן מוחזר לתהליך האב כך שהאב יוכל לבצע פעולות על התהליך הבן בהמשך[2]. מזהי התהליך ב-Unix בדרך כלל מוקצים סדרתית, כאשר התהליך הראשון שנוצר במערכת מקבל את המזהה 0 וכל תהליך חדש מקבל את המזהה העוקב לזה האחרון שהוקצה[3]. כאשר מגיעים למזהה התהליך המקסימלי (משתנה ממערכת הפעלה אחת לשנייה), חוזרים ל-0 וממשיכים להקצות את המזהים, אך מדלגים על מזהים המוקצים לתהליכים אחרים שעודם קיימים ברשימת התהליכים (בין אם התהליך עדיין רץ ובין אם הוא תהליך זומבי).
ב-Microsoft Windows תהליכים חדשים נוצרים באמצעות הקריאה לפונקציה CreateProcess, ומזהה התהליך החדש שנוצר מוחזר לתהליך האב כשדה dwProcessId במבנה הנתונים PROCESS_INFORMATION[4]. תהליך המעוניין לקבל את המזהה שהוקצה לו יכול לעשות כן על ידי קריאה לפונקציה GetCurrentProcessId[5].
הערות שוליים
[עריכת קוד מקור | עריכה]- ^ I. CHANDRA MOHAN, OPERATING SYSTEMS, PHI Learning Pvt. Ltd., 2013-02-13, עמ' 69, ISBN 978-81-203-4726-7. (באנגלית)
- ^ fork(2) - Linux manual page, man7.org
- ^ 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. (באנגלית)
- ^ karl-bridge-microsoft, CreateProcessA function (processthreadsapi.h) - Win32 apps, docs.microsoft.com (באנגלית אמריקאית)
- ^ karl-bridge-microsoft, GetCurrentProcessId function (processthreadsapi.h) - Win32 apps, docs.microsoft.com (באנגלית אמריקאית)