پردازش‌ها در سیستم عامل — راهنمای جامع

۱۳۶۳ بازدید
آخرین به‌روزرسانی: ۲۱ شهریور ۱۴۰۲
زمان مطالعه: ۳ دقیقه
پردازش‌ها در سیستم عامل — راهنمای جامع

پردازش در واقع به یک برنامه در حال اجرا گفته می‌شود. اجرای یک پردازش می‌بایست به صورت ترتیبی انجام بگیرد. پردازش‌ها به صورت نهادی تعریف می‌شوند که واحد پایه‌ایِ کار پیاده‌سازی شده در سیستم را نشان می‌دهند. به بیان ساده‌تر برنامه‌های رایانه‌ای در فایل‌های متنی نوشته می‌شوند و هنگامی که روی سیستم عامل اجرا می‌شوند به پردازش تبدیل می‌شوند و همه وظایف اشاره شده در برنامه را به مرحله اجرا در می‌آورند.

زمانی که یک برنامه در حافظه بارگذاری و به یک پردازش تبدیل می‌شود، می‌توان آن را به چهار بخش تقسیم کرد: پشته، هیپ، متن و داده. در تصویر زیر طرح ساده‌ای از پردازش درون حافظه اصلی نمایش یافته است:

بخش پردازشتوضیح
پشته شته در پردازش شامل داده‌های موقتی مانند پارامترهای متد/تابع، آدرس‌های بازگشتی و متغیرهای محلی است.
هیپهیپ حافظه‌ای است که به صورت دینامیک در طی زمان اجرا تخصیص می‌یابد.
متن بخش متنی پردازش شامل فعالیت جاری است که بر اساس مقدار Program Counter و محتوای رجیسترهای پردازنده نمایش می‌یابد.
داده‌ها در این بخش متغیرهای گلوبال و استاتیک وجود دارند.

برنامه

برنامه قطعه‌ای از کد است که می‌تواند از یک خط منفرد یا میلیون‌ها خط تشکیل یافته باشد. یک برنامه رایانه‌ای معمولاً به وسیله برنامه‌نویس رایانه و به یک زبان خاص برنامه‌نویسی نوشته می‌شود.

برای نمونه در ادامه برنامه ساده‌ای به زبان C را مشاهده می‌کنید:

#include <stdio.h>

int main() {
   printf("Hello, World! \n");
   return 0;
}

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

بخشی از برنامه رایانه‌ای که وظیفه کاملاً تعریف‌شده‌ای را اجرا می‌کند به نام الگوریتم شناخته می‌شود. مجموعه‌ای از برنامه‌های رایانه‌ای، کتابخانه‌ها و داده‌های مرتبط به نام نرم‌افزار نامیده می‌شوند.

چرخه عمر پردازش‌ها

زمانی که یک پردازش اجرا می‌شود، حالت‌های مختلفی را تجربه می‌کند. این مراحل بسته به نوع سیستم عامل متفاوت هستند و نام این مراحل نیز استاندارد خاصی ندارد.

به طور کلی یک پردازش در هر زمان یکی از حالت‌های زیر را می‌تواند داشته باشد:

حالتتوضیح
آغاز (Start)حالت اولیه یک پردازش است که در حالت آغاز یا ایجاد است.
آماده (Ready) در این حالت پردازش منتظر انتساب یافتن به یک پردازنده است. پردازش‌های آماده در انتظار این هستند که زمان پردازنده از سوی سیستم عامل به آن‌ها اختصاص یابد تا بتوانند اجرا شوند. پردازش پس از مرحله آغاز و یا پس از وقفه‌ای که در آن سیستم عامل، زمان CPU را به پردازش دیگری اختصاص داده است، ممکن است وارد این حالت شوند.
اجرا (Running)زمانی که زمان پردازنده از سوی سیستم عامل به پردازش اختصاص یافت، پردازش وارد حالت اجرا می‌شود و دستورالعمل‌های آن از سوی پردازنده اجرا می‌شوند.
انتظار (Waiting) پردازش در صورتی که نیاز باشد منتظر منابعی مانند ورودی کاربر یا دسترسی به یک فایل بماند وارد حالت انتظار می‌شود.
خاتمه یا خروج (Terminated or Exit)زمانی که اجزای پردازش پایان می‌یابد یا از سوی سیستم عامل به آن پایان داده می‌شود، به حالت خاتمه می‌رود و بدین ترتیب از حافظه اصلی خارج می‌شود.

بلوک کنترل پردازش (PCB)

بلوک کنترل پردازش نوعی ساختمان داده است که از سوی سیستم عامل برای هر پردازش نگهداری می‌شود. PCB به وسیله یک شناسه پردازش (PID) مشخص می‌شود.

PCB همه اطلاعات مورد نیاز برای پیگیری روند پردازش را که شامل موارد زیر هستند شامل می‌شود.

اطلاعاتتوضیح
حالت پردازش حالت کنونی پردازش مانند این که آماده، در حال اجرا، و یا انتظار است را شامل می‌شود.
مجوزهای پردازش این اطلاعات برای فعال‌سازی یا غیر فعال‌سازی دسترسی پردازش به منابع سیستم ضروری است
شناسه پردازششناسه‌ای یکتا برای هر پردازش است که از سوی سیستم عامل تخصیص داده می‌شود.
اشاره‌گر (Pointer)یک اشاره‌گر به پردازش والد است.
 

شمارنده برنامه (Program Counter)

شمارنده برنامه یک اشاره‌گر به آدرس دستورالعمل بعدی که باید در پردازش اجرا شود محسوب می‌شود.
ثبات‌های CPUشامل ثبات‌ها یا رجیسترهای مختلف CPU است که باید برای اجرای پردازش در حالت اجرایی نگهداری شوند.
اطلاعات مدیریت حافظهاین اطلاعات شامل جدول page، محدودیت حافظه، جدول Segment است و به حافظه مورد استفاده از سوی سیستم عامل وابسته است.
اطلاعات Accounting شامل مقدار CPU مورد استفاده برای اجرای پردازش، محدودیت زمانی، شناسه اجرایی و غیره است.
اطلاعات وضعیت‌های IOشامل فهرستی از دستگاه‌های ورودی/خروجی تخصیص یافته به پردازش است.
معماری PCBبه طور کامل به نوع سیستم عامل وابسته است و در سیستم‌های عامل مختلف می‌تواند شامل اطلاعات متفاوتی باشد. در ادامه نمودار ساده‌ای از یک PCB را مشاهده می‌کنید:

PCB پردازش در طی چرخه عمر پردازش حفظ می‌شود و تنها زمانی حذف می‌شود که پردازش خاتمه یابد.

اگر این نوشته مورد توجه شما قرار گرفته، پیشنهاد ما استفاده از منابع آموزشی زیر است:

==

بر اساس رای ۵ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
tutorialspoint
نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *