فرایند (رایانش): تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
بدون خلاصۀ ویرایش
بدون خلاصۀ ویرایش
خط ۵:
درحالیکه یک «برنامه» رایانه‌ای، یک گردآورد غیرفعال از [[مجموعه دستورالعمل|دستورالعمل]] است که معمولاً در یک فایل روی دیسک ذخیره شده‌است، یک «پردازه» در واقع اجرای آن دستورالعمل‌ها است مستلزم آن است که برنامه قبل از آن از روی دسیک به حافظه بارگذاری گردد. چندین پردازه را می‌توان به یک برنامه مشابه مرتبط کرد، برای مثال، بازکردن چندین نمونه از یک برنامه مشابه، معمولاً منجر به ایجاد بیش از یک پردازه درحال‌اجرا از آن برنامه می‌شود.
 
[[چندوظیفگی در رایانه|چندوظیفگی]] روشی برای آن است که چندین پردازه، [[واحد پردازش مرکزی|پردازنده‌ها]] (CPUها) و دیگر منابع سیستمی را به اشتراک بگذارند. هر CPU (هسته) در هر زمان فقط یک [[وظیفه (رایانش)|وظیفه]] را اجرا می‌کند. با این حال چندوظیفگی به هر پردازنده امکان آن را می‌دهد، تا بین وظایف درحال‌اجرا [[تعویض زمینه|تعویض]] شود، و این کار را بدون منتظرشدن برای تکمیل هر وظیفه انجام می‌دهد ([[پیش‌اجرایی (رایانش)|پیش‌اجرایی]]). بر اساس پیاده‌سازی سیستم‌عامل، تعویض را می‌توان موقعی اجرا کرد که وظایف، فعالیت‌های [[ورودی/خروجی]] را شروع می‌کنند یا برای تکمیل‌شان صبر می‌کنند، یا موقعی که یک وظیفهوظیفه، به صورت ارادی منجر به یک عمل CPU می‌شود، یا در [[وقفه]]‌های سخت‌افزاری، یا موقعی که زمان‌بند سیستم‌عامل می‌فهمد که یک پردازه، زمان عادلانه اشتراک CPU را منقضی کرده‌است (مثلا با [[زمان‌بند کاملاً عادلانه]] در [[هسته لینوکس]]).
 
یک حالت معمول چندوظیفگی، روش [[اشتراک زمانی]] CPU است، که روشی برای درهم‌گذاری اجرای فرایندها و ریسه‌های کاربر، و حتی وظایف مستقل هسته است، اگرچه ویژگی در آخر ذکر شده، تنها در [[هسته (سیستم‌عامل)|هسته‌های]] پیش‌اجراپیش‌اجرا، مثل [[لینوکس]]، قابل انجام است. پیش‌اجرایی یک اثرجانبی مهم برای «پردازه‌های تعاملی دارای اولویت بالاتر نسبت به پردازه‌های وابسته با CPU» دارد، از این رو به کاربرانکاربران، به صورت فوری (در موقع اعمال ساده‌ای مثل فشار یک کلید یا حرکت ماوس) منابع رایانشی داده می‌شود. بعلاوه، به برنامه‌های کاربردی (مثل اجرای ویدیو و موسیقی) یک نوع اولویت بلادرنگ داده می‌شود، که در نتیجه آن هر فرایند با اولویت پایین‌تر را پیش‌اجرا می‌کند. در سامانه‌های اشتراک-زمانی، [[تعویض زمینه]] آن‌قدر سریع انجام می‌شود، که آن را مثل موقعی می‌کند که چندین پردازه به صورت همزمان روی تنها یک پردازنده اجرا می‌شوند. به اجرای همزمان چندین پردازه، [[همروندی (علوم رایانه)|همروندی]] گفته می‌شود.
 
به دلایل امنیتی و اطمینان‌پذیری، بیشتر [[سیستم‌عامل]]‌های جدید، از [[ارتباط بین پردازشی|ارتباطات]] مستقیم بین پردازه‌های مستقل جلوگیری می‌کنند، که این موضوع باعث ایجاد قابلیت ارتباطی موکداً واسط‌دار و کنترل‌شده بین پردازه‌ها می‌شود.