فرایند (رایانش): تفاوت میان نسخهها
بدون خلاصۀ ویرایش |
اصلاح ارقام برچسب: افزودن پیوند بیرونی به جای ویکیپیوند |
||
خط ۲۴: | خط ۲۴: | ||
* '''پایان یافته''': وضعیتی است که پردازش فرایند بهطور کامل انجام شده باشد و از سیستم بیرون برود. |
* '''پایان یافته''': وضعیتی است که پردازش فرایند بهطور کامل انجام شده باشد و از سیستم بیرون برود. |
||
== |
== پانویس == |
||
{{پانویس}} |
{{پانویس}} |
||
== منابع == |
|||
* {{یادکرد-ویکی|پیوند=https://en.wikipedia.org/wiki/Process_(computing)|عنوان=Process (computing)|زبان=انگلیسی|بازیابی=۸ اسفند ۱۳۹۹}} |
|||
{{جاوا}} |
{{جاوا}} |
||
{{رایانش موازی}} |
{{رایانش موازی}} |
نسخهٔ ۲۷ فوریهٔ ۲۰۲۱، ساعت ۰۶:۵۶
برای تأییدپذیری کامل این مقاله به منابع بیشتری نیاز است. |
پردازه، یا فرایند[۱] یا پروسه (به انگلیسی: process) در رایانش، یک نمونه از یک برنامه رایانهای است که توسط یک یا بیشتر ریسه در حال اجرا می باشد. یک پردازه، شامل یک برنامه و کنش های مرتبط با آن (پشته، مقدار فعلی ثباتها، منابع (مانند فایلهای بازشده)، ساختار بلاک کنترل فرایند و ...) است. بر اساس سیستمعامل (OS)، یک پردازه می تواند از چندین ریسه تشکیل شود، که دستورالعمل ها را به صورت همروند اجرا می کنند.[۲][۳]
درحالیکه یک برنامه رایانهای یک گردآورد غیرفعال از دستورالعمل است که معمولا در یک فایل روی دیسک ذخیره شده است، یک پردازه در واقع اجرای آن دستورالعمل ها است که پس از آن صورت می گیرد که برنامه از روی دسیک به حافظه بارگذاری شود. چندین پردازه را می توان به یک برنامه مشابه مرتبط کرد، برای مثال، باز کردن چندین نمونه از یک برنامه مشابه، معمولا منجر به ایجاد بیش از یک پردازه در حال اجرا می شود.
چندوظیفگی روشی برای آن است که چندین پردازه، پردازندهها (CPUها) و دیگر منابع سیستمی را به اشتراک بگذارند. هر CPU (هسته) در هر زمان فقط یک وظیفه را اجرا می کند. با این حال چندوظیفگی به هر پردازنده امکان آن را می دهد، تا بین وظایف درحالاجرا تعویض یابد، و این کار را بدون انتظار برای تکمیل هر وظیفه انجام می دهد (پیشاجرایی). بر اساس پیادهسازی سیستمعامل، تعویض را می توان موقعی اجرا کرد که وظایف اعمال ورودی/خروجی را شروع یا برای تکمیل شان صبر می کنند، موقعی که یک وظیفه به صورت ارادی منجر به یک عمل CPU شود، در وقفههای سخت افزاری، و موقعی که زمانبند سیستمعامل تصمیم میگیرد که یک پردازه زمان عادلانه اشتراک CPU را منقضی ساخته است (مثلا با زمانبند کاملاً عادلانه در هسته لینوکس).
یک فرم معمول برای چندوظیفگی، توسط اشتراک زمانی CPU ایجاد می شود، که یک روش برای درهمگذاری اجرای فرایند ها و ریسههای کاربر، و حتی وظایف مستقل هسته است، اگرچه ویژگی آخر ذکر شده تنها در هستههای پیشاجرا مثل لینوکس امکانپذیر است. پیشاجرایی یک اثرجانبی مهم برای پردازههای تعاملی که اولویت بالاتری نسبت به پردازه های وابسته با CPU دارند، از این رو به کاربران به صورت فوری، در موقع اعمال سادهای مثل فشار یک کلید یا حرکت ماوس، منابع رایانشی داده می شود. بعلاوه، به برنامههای کاربردی مثل اجرای ویدیو و موسیقی یک نوع اولویت بلادرنگ داده می شود، که هر فرایند با اولویت پایین تر را پیشاجرا می کند. در سامانههای اشتراک-زمانی، تعویض زمینه آنقدر سریع انجام می شود، که آن را مثل موقعی می کند که چندین پردازه به صورت همزمان روی یک پردازنده مشابه اجرا می شوند. به اجرای همزمان چندین پردازه، همروندی گفته می شود.
به دلایل امنیتی و اطمینانپذیری، بیشتر سیستمعاملهای جدید، از ارتباطات مستقیم بین پردازههای مستقل جلوگیری می کنند، که این موضوع باعث ایجاد قابلیت ارتباطی موکدا واسط دار و کنترل شده بین پردازه ها می شود.
هر فرایند دارای فضای آدرس مخصوص به خود است. فضای آدرس، یک لیست از مکانهای حافظه از یک حداقل تا یک حداکثر است که فرایند میتواند از آن فضا بخواند یا در آن بنویسد. فضای آدرس شامل برنامه اجرایی، دادههای برنامه و پشته آن است. همچنین هر فرایند برای خودش دارای یک مجموعه از رجیسترها است که شامل شمارنده، اشاره گر پشته و دیگر رجیسترهای سختافزاری و نیز اطلاعات متنوع دیگری که برای اجرای برنامه مورد نیاز است می باشد. پردازش یک برنامه کامپیوتر که اجرای ان شروع شدهاست شامل کد برنامه و فعالیتهای جاری است. پردازش میتواند از چند بخش کوچک در حال اجرا تشکیل شده باشد. برنامههای کامپیوتر مجموعهای از دستورالعملهای غیر فعال است. پردازش یک اجرای واقعی از دستور العملهای برنامه است.
وضعیتهای فرایند
- در حال اجرا: فرایند توسط پردازنده در حال اجراست.
- آماده: حالتی است که فرایند حافظه مخصوص به خود دارد و برای اجرا آمادهاست.
- در حال انتظار: به دلیل یک فراخوان سیستمی مانند وقفه دستگاههای ورودی-خروجی یا تمام شدن زمان اختصاص داده شده به فرایند، سیستمعامل پردازنده را از فرایند میگیرد، آن را به حالت انتظار برده و پردازنده را به فرایند دیگری میدهد.
- در حال انتظار و معلق: چنانچه فرایند در وضعیت در حال انتظار باشد و سیستمعامل با مشکل کمبود حافظه مواجه شود، اطلاعات فرایند به دیسک منتقل شده و وضعیت فرایند به در حال انتظار و معلق تغییر مییابد. سپس فضای فرایند در حافظه اصلی آزاد میگردد.
- آماده و معلق: چنانچه فرایند در وضعیت در حال انتظار و معلق باشد و بتواند به وضعیت آماده برود، اما همچنان فضای کافی موجود نباشد، سیستمعامل وضعیت آن را به آماده و معلق تغییر میدهد. در این حالت، فرایند همچنان روی دیسک باقی میماند، ولی آماده اجرا است.
- پایان یافته: وضعیتی است که پردازش فرایند بهطور کامل انجام شده باشد و از سیستم بیرون برود.
پانویس
- ↑ «واژه نامه مرجع برای ترجمه محیط لینوکس» (PDF). شورای عالی انفورماتیک. بایگانیشده از اصلی (PDF) در ۱۲ ژانویه ۲۰۱۲. دریافتشده در ۲۷ دسامبر ۲۰۱۱.
- ↑ Silberschatz, Abraham; Cagne, Greg; Galvin, Peter Baer (2004). "Chapter 4. Processes". Operating system concepts with Java (Sixth ed.). John Wiley & Sons. ISBN 0-471-48905-0.
- ↑ Vahalia, Uresh (1996). "Chapter 2. The Process and the Kernel". UNIX Internals: The New Frontiers. Prentice-Hall Inc. ISBN 0-13-101908-2.
منابع
- مشارکتکنندگان ویکیپدیا. «Process (computing)». در دانشنامهٔ ویکیپدیای انگلیسی، بازبینیشده در ۸ اسفند ۱۳۹۹.