تاریخچه ی:
بلوک کنترلی پردازش
V{maketoc}
! بلوک کنترل پردازش (PCB)
پردازش برنامه در حال اجراست . ولی از دید سیستم عامل میتوان گفت پردازش یکسری ساختمان داده است .
هر پردازش در سیستم عامل توسط یک ساختمان داده به نام بلوک کنترل پردازش یا (process Control Block)PCB نشان داده میشود. PCB شامل اطلاعات زیادی در مورد یک پردازش است . این اطلاعات مثلاً هنگامیکه پروسس از «حالت اجرا» به حالت «آماده » میرود لازم است ذخیره شود که اگر دوباره پروسس خواست به حالت اجرا برگردد از همان نقطه ای که قطع شدهبود, به درستی ادامه یابد . این اطلاعات عبارتند از :
حالت جاری پردازش : که میتواند, آماده,اجراء یا بسته باشد.
شمارنده برنامه:(program Conuter=PC) که آدرس دستورالعمل بعدی قابل اجرای پردازش را نشان میدهد .
محل حفظ ثباتها: هنگام وقوع یا سوئیچ کردن بین پردازشهای پردازش جاری میبایست در PCB مربوط ذخیره شوند تابعداً دوباره بازیابی شوند .
اطلاعات زمانبندی CPU : مثل اولویت پردازش , اشارهگرها به صفهای زمانبندی و غیره
اطلاعات مدیرت حافظه: مثل محل قرار گیری پردازش در حافظه و مسائل حفاظتی آن.
اطلاعات وضعیت I/O :شامل لیستی از وسایل I/O تخصیص یافته به پردازش , لیست فایلهای باز شده برای پردازش و غیره
اطلاعات حسابرسی : مثل میزان زمان CPU مصرف شده برای پردازش , شماره حساب, شماره پردازش و غیره.
وقتیکه سیستم عامل CPU را به پردازش دیگر میدهد با استفاده از PCB تمام اطلاعاتی که جهت راه اندازی مجدد پردازش قبل لازم دارد را حفظ میکند. به این عملیات تعویض متن Context Switch انجام میپذیرد .
از آنجا که گویند .تعویض متن بوسیله بخشی از سیستم عامل به نام Dispatcher انجام میپذیرد. از آنجا که سیستم عامل خیلی با PCB سرو کار دارد, در بسیاری از کامپیوترها ثباتی سخت افزاری وجود دارد که همیشه PCB پردازش در حال اجزا اشاره میکند .
دستوراتی نیز وجود دارند که خیلی سریع اطلاعات را در PCB بار میکنند . عملیات تعویض متن الزاماً سربار اضافی (overhead)روی کامپیوتر ایجاد کرده و قدر از وقت CPU را جهت این کار به هدر میدهد, البته این زمان آنقدر زیاد نیستکه بر مزیت چند برنامگی غلبه کند .
زمان تعویض متن تابع سخت افزار میباشد و به طور نمونهای این زمان از 1تا100میکرو ثانیه متغیر است .