بلاک کنترل فرایند
بلاک کنترل فرایند (به انگلیسی: Process control block) ساختار دادهای در داخل هسته سیستمعامل است که دربرگیرنده اطلاعات مورد نیاز برای مدیریت یک فرایند بخصوص است. هر فرایند بلاک PCB مختص به خود را دارد که سیستمعامل در هنگام تعویض زمینه آن را موقتاً در جایی ذخیره میکند تا فرایند دیگری را اجرا کند، سپس مجدداً آن را بازیابی میکند تا اجرای فرایند قبلی از سر گرفته نشود.
در داخل این ساختار داده معمولاً اطلاعات زیر قرار دارد. (توجه داشته باشید که این اطلاعات در سیستمعاملهای مختلف با هم کمی متفاوت هستند)
- وضعیت جاری فرایند. مثلاً آیا فرایند در حال اجراست، آماده اجراست یا منتظر وقوع رویدادی است.
- شماره شناسایی فرایند (PID)
- فضای آدرس فرایند
- اطلاعات ورودی/خروجی (شامل فهرست فایلهای باز شده توسط فرایند و همینطور دستگاهای ورودی/خروجی اختصاص یافته به فرایند)
- اشارهگری به PCB بعدی. یعنی اشارهگری به PCB فرایندی که قرار است بعد از فرایند جاری اجرا شود.
- اطلاعات حسابرسی فرایند. مانند اینکه فرایند آخرین بار کِی اجرا شده یا اینکه فرایند تا کنون چه قدر از CPU استفاده کردهاست.
- اولویت فرایند. (هر چه اولویت بالاتر باشد فرایند زودتر اجرا میشود)
- مقادیر ثباتها، مثل ثبات شمارنده برنامه و ثبات اشارهگر پشته
- پردازندهای که فرایند بر روی آن اجرا میشود.
- اشارهگری به فرایند والد
- اشاره گری به فرایند فرزند (در صورت وجود داشتن)
در هنگام تعویض زمینه، اجرای فرایند جاری متوقف شده و فرایند دیگری شانس اجرا شدن مییابد، هسته سیستمعامل باید اجرای فرایند جاری را متوقف کرده، مقادیر ثباتها را در PCB کپی کند، سپس ثباتها را با مقادیر مربوط به فرایند جدید جایگرین کند.
جستارهای وابسته
منابع
مشارکتکنندگان ویکیپدیا. «Process control block». در دانشنامهٔ ویکیپدیای انگلیسی.