عکس پیش‌فرض نوشته

در این جلسه قصد داریم تا شما را با انواع فرآیندها ،مفاهیم وکاربردهای آن‏ها آشنا کنیم.

همچنین به بررسی مختصری در مورد حالات فرآیند و ناحیه U (کاربر) در UNIX خواهیم پرداخت.

Operating Systems


کنترل فرآیند
حالت اجرا :
– به سیستم عامل مربوط می‏شود.
– بعضی از دستورات ،تنها در حالت ممتازتر قابل اجرا هستند.
– به حالت کم امتیازتر ،حالت کاربر می‏گویند.

به حالت متمایز ،حالت سیستم ،حالت کنترل یا حالت هسته گویند ؛که نرم‏افزار کنترل پردازنده ،دستورالعمل‏ها ،ثبات‏ها ،حافظه را دارد.
در ثبات PSW یک بیت برای حالت اجرا وجود دارد ؛که بیت حالت به بیت هسته واگذار می‏شود و دستورالعمل حالت را تغییر می‏دهد.

 

ایجاد فرآیند :
– تخصیص شناسه یکتا به فرآیند
– تخصیص فضا برای تمام اجزای تصویر فرآیند
– بلوک کنترل فرآیند مقدار گذاری می‏شود.
– برقراری پیوندهای لازم
– ایجاد وگسترش ساختمان داده‏های دیگر

 

تعویض فرآیند :
ابتدا باید وقفه‏های سیستم را در نظر بگیریم که به نوع دیگر ،تله می‏باشد.
وقفه نوع اول : مستقل از فرآیند در حال اجرا حاصل می‏شود.
وقفه نوع دوم : به خطا یا شرایط استثنایی مربوط است.
با هر وقفه معمولی ؛ابتدا کنترل به یک گرداننده وقفه و به یک روال که مخصوص سیستم عامل آن وقفه است ،منتقل می‏شود.

وقفه ساعت : فرآیند جاری تعویض و فرآیند دیگر بارگذاری می‏شود.
وقفه ورودی / خروجی : دادن ورودی / خروجی به یک فرایند
نقص حافظه : اشتباه بودن آدرس

 

تغییر حالت فرآنید :
– ذخیره‏سازی متن پردازنده
– به‏هنگام‏سازی بلوک‏های کنترل فرآیندی در حالت اجرا
– انتقال بلوک فرآیند مربوط به این فرآیند به صف مناسب
– انتخاب فرآیند دیگر برای اجرا
– به‏هنگام‏سازی بلوک‏های کنترل فرآیند انتخاب شده
– به‏هنگام‏سازی ساختمان داده‏های مدیریت حافظه
– بارگذاری مجدد متن پردازنده

 

مدیریت فرآیند در UNIX SVR4 :
– بخش اعظم سیستم عامل ،در داخل محیط ،یک فرآیند کاربردی اجرا می‏شود.
– از دو گروه فرآیند سیستمی و کاربردی استفاده می‏کند.
– فرآیندهای سیستمی در کد هسته اجرا می‏شوند.
– فرآیندهای کاربر ،در حالت کاربر برای اجرای برنامه‏های کاربر

 

حالات فرآیند در UNIX :
– اجرای کاربر
– اجرای هسته
– آماده در حافظه (بعد از زمان‏بندی حافظه)
– خفته و در حافظه (تا بروز حادثه قابل اجرا نیست.)
– آماده اجرا و مبادله شده (به حافظه اصلی منتقل می‏شود.)
– قبضه شده (از هسته به کاربر می‏رود.)
– ایجاد شده (برای اجرا آماده نیست.)
– جادویی (فرآیندی دیگر وجود ندارد.)

 

تصویر فرآیند در UNIX :
هر فرآیند ،مجموعه‏ای از ساختمان داده‏هایی است که تمام اطّلاعات لازم برای مدیریت و توزیع وقت پردازنده و فرآیند را در اختیار سیستم عامل قرار می‏دهد.
جدولی که در زیر قرار دارد ،عناصر تصویر فرآیند را که در سه بخش “متن سطح کاربر ،متن ثابت و متن سطح سیستم” سازماندهی شده ،خلاصه کرده است.

متن سطح کاربر : حاوی عناصر پایه‏ای کاربر است.
متن ثابت : هنگامی که فرآیندی در حال اجرا نیست در آن ذخیره می‏شود.
متن سطح سیستم : حاوی اطّلاعاتی برای مدیریت سیستم است و شامل یک بخش پویا و یک بخش ایستا است.

 

عناصر تصویر فرآیند در UNIX

 

مدخل جدول فرآیند در UNIX :
– اطّلاعات کنترل فرآیند که همواره در دسترس هسته است را در بردارد.
– در حافظه‏ی اصلی قرار دارد.
– ناحیه‏ی کاربر (ناحیه U) حاوی اطّلاعات اضافی کنترل است.
– این اطّلاعات موقع صفحه‏بندی در حافظه‏ی اصلی قرار می‏گیرد.
– هسته UNIX همیشه در متن فرآیندی اجرا می‏گردد.

جدول زیر نمایشگر این اطّلاعات خواهد بود.

 

مدخل جدول فرآیند در UNIX

 

ناحیه U در UNIX

 

کنترل فرآیند :
– ایجاد فرآیند توسط ()FORK که یک فراخوان هسته سیستم است انجام می‏شود و اعمال زیر انجام می‏شود :

1- برای فرآیند جدید ،عنصری در جدول قرار می‏دهد.
2- یک شناسه یکتا به فرزند می‏دهد.
3- یک کپی از پدر ایجاد می‏کند.
4- شماره پرونده‏های پدر را افزایش می‏دهد.
5- فرآیند فرزند را در حالت اجرا قرار می‏دهد.
6- شماره شناسه فرزند را پدر و مقدار صفر می‏دهد.

تمام این اعمال در حات هسته فرآیند پدر انجام می‏شود.
همچنین در هنگام توزیع فرآیند ،یکی از اعمال زیر انجام می‏شود :
1- ماندن در فرآیند پدر
2- انتقال کنترل به فرآیند فرزند
3- انتقال کنترل به فرآیند دیگر

این آموزش بیش از ۳ سال قبل ارسال شده و اکنون در لیست به‌روزرسانی‌های سایت قرار دارد. اگر پیشنهاد یا انتقادی برای بهبود آموزش دارید، خوشحال می‌شیم به ما اطلاع بدهید.