اجرای یک برنامهٔ رایانهای و محاسبات مربوط به آن در سختافزار From Wikipedia, the free encyclopedia
فرایند[1]، پردازه یا پروسه (به انگلیسی: Process) در رایانش، یک نمونه از یک برنامه رایانهای است که توسط یک یا بیشتر ریسه درحالاجرا میباشد. یک پردازه، شامل یک برنامه و کنشهای مرتبط با آن (پشته، مقدار فعلی ثباتها، منابع (مانند فایلهای بازشده)، ساختار بلاک کنترل فرایند و …) است. بر اساس نوع سیستمعامل (OS)، یک پردازه میتواند از چندین ریسه تشکیل شود، که دستورالعملها را به صورت همروند اجرا میکنند.[2][3]
برای تأییدپذیری کامل این مقاله به منابع بیشتری نیاز است. |
درحالیکه یک «برنامه» رایانهای، یک گردآورد غیرفعال از دستورالعمل است که معمولاً در یک فایل روی دیسک ذخیره شدهاست، یک «پردازه» در واقع اجرای آن دستورالعملها است مستلزم آن است که برنامه قبل از آن از روی دیسک به حافظه بارگذاری گردد. چندین پردازه را میتوان به یک برنامه مشابه مرتبط کرد، برای مثال، بازکردن چندین نمونه از یک برنامه مشابه، معمولاً منجر به ایجاد بیش از یک پردازه درحالاجرا از آن برنامه میشود.
چندوظیفگی روشی برای آن است که چندین پردازه، پردازندهها (CPUها) و دیگر منابع سیستمی را به اشتراک بگذارند. هر CPU (هسته) در هر زمان فقط یک وظیفه را اجرا میکند. با این حال چندوظیفگی به هر پردازنده امکان آن را میدهد، تا بین وظایف درحالاجرا تعویض شود، و این کار را بدون منتظر شدن برای تکمیل هر وظیفه انجام میدهد (پیشاجرایی). بر اساس پیادهسازی سیستمعامل، تعویض را میتوان موقعی اجرا کرد که وظایف، فعالیتهای ورودی/خروجی را شروع میکنند یا برای تکمیلشان صبر میکنند، یا موقعی که یک وظیفه، به صورت ارادی منجر به یک عمل CPU میشود، یا در وقفههای سختافزاری، یا موقعی که زمانبند سیستمعامل میفهمد که یک پردازه، زمان عادلانه اشتراک CPU را منقضی کردهاست (مثلا با زمانبند کاملاً عادلانه در هسته لینوکس).
یک حالت معمول چندوظیفگی، روش اشتراک زمانی CPU است، که روشی برای درهمگذاری اجرای فرایندها و ریسههای کاربر، و حتی وظایف مستقل هسته است، اگرچه ویژگی در آخر ذکر شده، تنها در هستههای پیشاجرا، مثل لینوکس، قابل انجام است. پیشاجرایی یک اثر جانبی مهم برای «پردازههای تعاملی دارای اولویت بالاتر نسبت به پردازههای وابسته با CPU» دارد، از این رو به کاربران، به صورت فوری (در موقع اعمال سادهای مثل فشار یک کلید یا حرکت ماوس) منابع رایانشی داده میشود. بهعلاوه، به برنامههای کاربردی (مثل اجرای ویدیو و موسیقی) یک نوع اولویت بیدرنگ داده میشود، که در نتیجه آن هر فرایند با اولویت پایینتر را پیشاجرا میکند. در سامانههای اشتراک-زمانی، تعویض زمینه آنقدر سریع انجام میشود، که آن را مثل موقعی میکند که چندین پردازه به صورت همزمان روی تنها یک پردازنده اجرا میشوند. به اجرای همزمان چندین پردازه، همروندی گفته میشود.
به دلایل امنیتی و اطمینانپذیری، بیشتر سیستمعاملهای جدید، از ارتباطات مستقیم بین پردازههای مستقل جلوگیری میکنند، که این موضوع باعث ایجاد قابلیت ارتباطی موکداً واسطدار و کنترلشده بین پردازهها میشود.
هر فرایند دارای فضای آدرس مخصوص به خود است. فضای آدرس، یک لیست از مکانهای حافظه از یک حداقل تا یک حداکثر است که فرایند میتواند از آن فضا بخواند یا در آن بنویسد. فضای آدرس شامل برنامه اجرایی، دادههای برنامه و پشته آن است. همچنین هر فرایند برای خودش دارای یک مجموعه از رجیسترها است که شامل شمارنده، اشاره گر پشته و دیگر رجیسترهای سختافزاری و نیز اطلاعات متنوع دیگری که برای اجرای برنامه مورد نیاز است میباشد. پردازش یک برنامه کامپیوتر که اجرای ان شروع شدهاست شامل کد برنامه و فعالیتهای جاری است. پردازش میتواند از چند بخش کوچک در حال اجرا تشکیل شده باشد. برنامههای کامپیوتر مجموعهای از دستورالعملهای غیرفعال است. پردازش یک اجرای واقعی از دستور العملهای برنامه است.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.