وضعیت پراسس ها آموزش و یادگیری وضعیت پراسس ها به صورت رایگان
همونطور که توی بیشتر بدونید ترد قبل گفتیم یکی از اجزای مهم PCB وضعیت یا State بودش!
بیاید به این بپردازیم که این وضعیت ها دقیقا چی هستن! هر Process از ابتدای تولدش تا پایان چرخه حیاطش در حالات متفاوتی در حال چرخش هستش.
- New 👶
- Ready 🧍
- Running 🏃
- Blocked (Waiting) 🛑
- Exit (Terminate) 💀
حالت New :
اولین حالتی که هر Process تجربه میکنه این حالته. سیستم عامل به محض ساختن این پراسس وضعیت New رو بهش اختصاص میده. این حالت به این معنی هستش که پراسس ساخته شده، اطلاعات اولیه ثبت شده، PCB ساخته شده و مموری رزرو شده اما اجازه اجرا شدن نداره!
حالت Ready :
این حالت یعنی Process کاملا آماده اجرا هستش فقط CPU نداره!بنابراین در مرحله اجرا نیست.
یکم بیشتر بدونید
یکی از مفاهیم مهم سیستم عامل Queue یا صف هستش.
پراسس هایی که در وضعیت Ready قرار دارن توی صفی به نام Ready Queue قرار میگیرن. زمانبند (Scheduler) از این صف به پراسس ها دسترسی داره و یکی رو انتخاب میکنه ⌛
(نگران مبحث Scheduler یا Queue ها نباشید در ترد های آینده حسابی با این مباحث آشنا میشید ☺️)
حالت Running :
این حالت یعنی پردازنده داره این Process رو اجرا میکنه. (در حال حاضر در حال اجراست!)
تو سیستم های تک هسته ای (Single Core) فقط یه پراسس میتونه در حالت Running باشه. اما تو سیستم های چند هسته ای (Multicore) به تعداد هسته ها پراسس میتونه در حالت Running باشه!
حالت Blocked :
این حالت یعنی Process نمیتونه به اجرا شدن ادمه بده چون منتظر یه رویداد (Event) هستش! این رویدار میتونه عملیات I/O، رخ دادن یه Interrupt، آزاد شدن یه منبع و … باشه!
حالت Exit :
وقتی پراسس تمام میشه این حالت بهش اختصاص داده میشه. تو این حالت سیستم عامل فایل ها رو میبنده، مموری رو آزاد میکنه، PCB رو حذف میکنه و دیتا های مربوط به پراسس رو که توی رم یا رجیستر های CPU ذخیره شده حذف میکنه! 🗑️
یکم بیشتر بدونید
حالت دیگه هم وجود داره به نام “مدل هفت حالته”. این مدل با ۲ حالت اضافه به نام های
Ready/Suspend و Blocked/Suspend مدل پیشرفته تری به نسبت مدل پنج حالته هستش. این حالت ها زمانی استفاده میشن که به دلیل کمبود RAM بعضی پراسس ها رو موقتا از رم به دیسک منتقل میکنه (Swapping) 🔁چرا Exit؟
وقتی پراسسی تموم میشه PCB بلافاصله حذف نمیشه و مقدار state به exit تغییر پیدا میکنه. حالا سیستم عامل شروع به آزاد کردن منابع، بستن فایل ها و حذف دیتا ها میکنه. PCB همون اول حذف نمیشه چون ممکنه process دیگه ای بخواد نتیجه این پراسس رو ببینه.
