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