عملية (حوسبة): الفرق بين النسختين

[نسخة منشورة][نسخة منشورة]
تم حذف المحتوى تمت إضافة المحتوى
JarBot (نقاش | مساهمات)
ط بوت:الإبلاغ عن رابط معطوب أو مؤرشف V4.2
ط بوت:إضافة وصلة أرشيفية.
سطر 2:
[[ملف:Process states.en.svg|thumb|left|300px|حالات عملية حاسوبية في نظام تشغيل عصري.]]
 
في الحاسوبية، '''عملية''' {{إنج|process}} هي [[كائن (علوم الحاسوب)|كائن]] برنامج قيد التنفيذ بالإضافة إلى القيم الحالية لكل من عداد البرنامج والسجلات {{إنج|register}} والمتغيرات {{إنج|variable}}.<ref>{{مرجع ويب| مسار = https://d-nb.info/gnd/4235427-4 | عنوان = معلومات عن عملية (حوسبة) على موقع d-nb.info | ناشر = d-nb.info|مسار أرشيف= https://web.archive.org/web/20191210173716/https://d-nb.info/gnd/4235427-4|تاريخ أرشيف=2019-12-10}}</ref><ref>{{مرجع ويب| مسار = https://babelnet.org/synset?word=bn:03211034n | عنوان = معلومات عن عملية (حوسبة) على موقع babelnet.org | ناشر = babelnet.org| مسار أرشيف = https://web.archive.org/web/20190830163545/https://babelnet.org/synset?word=bn:03211034n | تاريخ أرشيف = 30 أغسطس 2019 }}</ref> أي أنه لا يحوي فقط الكود ولكن أيضا فعالية البرنامج الحالية. مبدئيا لكل عملية [[وحدة المعالجة المركزية|وحدة معالجة مركزية]] افتراضية. ولكن في الواقع ال CPU الفعلي يتقلب بين العمليات التي تحتاج إلى هذا ال- CPU.
هذا التقلب يُسمى البرمجة المتعددة {{إنج|multiprogramming}}. وكذلك لكل عملية لها عداد برنامج افتراضي مخزن عندها وعند حيازتها لل- CPU تنسخ محتوى هذا العداد إلى العداد الفعلي في ال- CPU وعند الانتهاء يُنسخ العداد الفعلي في داخل العداد الافتراضي للبرنامج لاستخدامه لاحقا.
يوجد فروق بين العملية والبرنامج فالفرق حاذق ولكنه حاسم وذلك لأن العملية هي فعالية من أي نوع أي عنده برنامج ومُدخل ومُخرج وحالة (state). كما أن المُعالج (processor) الواحد قد تتشارك فيه عدة عمليات وكمية الوقت الذي يأخذه كل برنامج يتحدد بواسطة خوارزمية جدولة. وفي حالة أن نفس البرنامج تستخدمه عمليتان (أو أكثر) لا يغير من حقيقة أنهما عمليتان منفصلتان.