تعدد المهام: عملية الخلفية وعملية المقدمة

باعتباره نظام تشغيل متعدد المهام ، يدعم Linux تنفيذ العديد من العمليات - في الأساس ، البرامج أو الأوامر أو المهام المماثلة - في الخلفية بينما تستمر في العمل في المقدمة.

العمليات الأمامية

عملية المقدمة هي أي أمر أو مهمة تقوم بتشغيلها مباشرة والانتظار حتى تكتمل. تعرض بعض العمليات الأمامية نوعًا من واجهة المستخدم التي تدعم تفاعل المستخدم المستمر ، في حين يقوم البعض الآخر بتنفيذ مهمة "وتجميد" الكمبيوتر أثناء إكمال هذه المهمة.

من shell ، تبدأ عملية المقدمة عن طريق كتابة أمر في الموجه. على سبيل المثال ، لمشاهدة قائمة بسيطة بالملفات الموجودة في الدليل النشط ، اكتب:

$ ls

سترى قائمة الملفات. أثناء قيام الكمبيوتر بإعداد هذه القائمة وطباعتها ، لا يمكنك القيام بأي شيء آخر من موجه الأوامر.

عملية الخلفية

على عكس عملية المقدمة ، لا تحتاج shell إلى انتظار انتهاء عملية الخلفية قبل أن تتمكن من تشغيل المزيد من العمليات. في حدود مقدار الذاكرة المتوفرة ، يمكنك إدخال العديد من أوامر الخلفية واحدة تلو الأخرى. لتشغيل أمر كعملية خلفية ، اكتب الأمر وأضف مسافة وعلامة العطف إلى نهاية الأمر. فمثلا:

$ command1 &

عندما تقوم بإصدار أمر بعلامة الاختتام ، ستقوم shell بتنفيذ العمل ، ولكن بدلاً من جعلك تنتظر حتى ينتهي الأمر ، ستتم إعادتك على الفور إلى shell ، وستظهر لك مطالبة shell (٪ لـ عودة C Shell و $ لـ Bourne Shell و Korn Shell). في هذه المرحلة ، يمكنك إدخال أمر آخر في عملية المقدمة أو الخلفية. يتم تشغيل مهام الخلفية في أولوية أقل إلى مهام المقدمة.

سترى رسالة على الشاشة عند انتهاء عملية الخلفية.

التبديل بين العمليات

إذا كانت عملية المقدمة تستغرق الكثير من الوقت ، فقم بإيقافها بالضغط على CTRL + Z. لا تزال هناك مهمة متوقفة ، ولكن يتم تعليق التنفيذ. لاستئناف المهمة ، ولكن في الخلفية ، اكتب bg لإرسال المهمة المتوقفة إلى تنفيذ الخلفية.

لاستئناف عملية معلقة في المقدمة ، اكتب fg وستتولى تلك العملية الجلسة النشطة.

للاطلاع على قائمة بجميع العمليات المعلّقة ، استخدم أمر مهام ، أو استخدم الأمر العلوي لإظهار قائمة بالمهام التي تتطلب الكثير من وحدة المعالجة المركزية بحيث يمكنك تعليقها أو إيقافها لتحرير موارد النظام.

شل مقابل واجهة المستخدم الرسومية

يعمل تعدد المهام بشكل مختلف بناءً على ما إذا كنت تعمل من shell أو واجهة مستخدم رسومية . يدعم Linux من shell عملية مقدمة واحدة نشطة في كل محطة افتراضية. ومع ذلك ، من وجهة نظر المستخدم العملية ، فإن بيئة النوافذ (على سبيل المثال ، لينكس مع سطح المكتب ، وليس من غلاف نصي) تدعم العديد من النوافذ النشطة التي تعمل بفعالية كعمليات متعددة في وقت واحد. في الواقع ، يقوم Linux من وراء الكواليس بتعديل أولوية العمليات في واجهة المستخدم الرسومية لتعزيز استقرار النظام ودعم معالجة المستخدم النهائي.