چند وظیفه ای: پردازش پس زمینه و فرآیند پیش زمینه

به عنوان یک سیستم عامل چند وظیفه، لینوکس از اجرای بسیاری از فرآیندها، اساسا، برنامه ها یا دستورات و یا کارهای مشابه، در پس زمینه پشتیبانی می کند در حالی که شما همچنان در پیش زمینه کار می کنید.

فرایندهای پیشرو

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

از پوسته، یک فرایند پیشزمینه با تایپ دستور در خط فرمان شروع می شود. برای مثال، برای دیدن یک لیست ساده از فایل ها در دایرکتوری فعال، تایپ کنید:

$ ls

شما لیست فایل ها را مشاهده خواهید کرد. در حالی که رایانه آماده و چاپ این لیست است، شما نمیتوانید از دستور فرمان دیگر کاری انجام دهید.

روند سابقه

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

$ command1 &

هنگامی که یک فرمان را با انتساب انتزاعی صادر می کنید، پوسته کار را اجرا می کند، اما به جای اینکه شما منتظر دستور فرمان باشید، شما بلافاصله به پوسته بازگشته اید و شما می خواهید فورمه پوسته (٪ برای C Shell و $ برای Bourne Shell و Korn Shell). در این مرحله می توانید فرمان دیگری را برای فرآیند پیش زمینه یا پس زمینه وارد کنید. مشاغل سابقه در اولویت های پایین تر به مشاغل پیش زمینه اجرا می شوند.

هنگامی که فرایند پس زمینه اجرا می شود پیامی را بر روی صفحه مشاهده خواهید کرد.

تعویض بین پروسه ها

اگر یک فرایند پیشزمینی زمان زیادی را مصرف می کند، با فشار دادن CTRL + Z آن را متوقف کنید. یک کار متوقف شده هنوز وجود دارد، اما اجرای آن به حالت تعلیق درآمده است. برای بازگرداندن کار، اما در پس زمینه، BG را تایپ کنید تا شغل متوقف شده را به اجرای پس زمینه ارسال کنید.

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

برای دیدن لیستی از تمام فرآیندهای معلق، از دستور دستور کار استفاده کنید یا از دستور بالا برای نمایش لیستی از وظایف پرقدرت بیشتر CPU استفاده کنید تا بتوانید آنها را برای آزاد کردن منابع سیستم متوقف کنید یا آنها را متوقف کنید.

شل در مقابل GUI

عملکرد چند وظیفه ای متفاوت است بسته به اینکه آیا از پوسته یا یک رابط کاربر گرافیکی کار می کنید . لینوکس از پوسته تنها از یک فرایند پیش زمینه فعال در هر ترمینال مجازی پشتیبانی می کند. با این حال، از منظر عملی کاربر، یک محیط پنجره (به عنوان مثال لینوکس با یک دسکتاپ، نه از یک پوسته مبتنی بر متن) از چندین پنجره فعال پشتیبانی می کند که به طور موثر به عنوان فرایندهای چندگانه همزمان پیش می رود. در عمل لینوکس در پشت صحنه، اولویت فرآیندها را در GUI تنظیم می کند تا ثبات سیستم را پشتیبانی کند و پردازش کاربر نهایی را پشتیبانی کند.