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

[نسخة منشورة][نسخة منشورة]
تم حذف المحتوى تمت إضافة المحتوى
ZkBot (نقاش | مساهمات)
ط WPCleaner v1.30b - باستخدام وب:فو - تصنيف مكرر
لا ملخص تعديل
سطر 1:
'''عملية''' {{إنك|process}}، في الحاسوبية عملية هي [[كائن (علوم الحاسوب)]] برنامج قيد التنفيذ بالاضافة الى القيم الحالية لكل من عداد البرنامج والسجلات {{إنك|register}} والمتغيرات {{إنك|variable}} اي انه لا يحوي فقط الكود ولكن ايضا فعالية البرنامج الحالية . مبدئيا لكل عملية لها CPU افتراضي , ولكن في الواقع ال CPU الفعلي يتقلب بين العمليات التي تحتاج الى هذا ال- CPU . هذا التقلب يُسمى البرمجة المتعددة {{إنك|multiprogramming}} . وكذلك لكل عملية لها عداد برنامج افتراضي مخزن عندها وعند حيازتها لل- CPU تنسخ محتوى هذا العداد الى العداد الفعلي في ال- CPU وعند الانتهاء يُنسخ العداد الفعلي في داخل العداد الافتراضي للبرنامج لاستخدامه لاحقا . يوجد فروق بين العملية والبرنامج فالفرق حاذق ولكنه حاسم وذلك لان العملية هي فعالية من أي نوع اي عنده برنامج ومُدخل ومُخرج وحالة (state) . كما أن العاملالمُعالج (processor) الواحد قد تتشارك فيه عدة عمليات وكمية الوقت الذي يأخذه كل برنامج يتحدد بواسطة خوارزمية تزامنجدولة . وفي حالة أن نفس البرنامج تستخدمه عمليتان (او اكثر) لا يغير من حقيقة انهما عمليتان منفصلتان .
 
==حالة العملية==
[[File:Process modes.jpg|350px|thumb|الصورة توضح العلاقة بين حالات العملية ]]
بينما العملية تُنفذ تُغير حالاتها , وحالة العملية مُعرفة جزئيا بأنها الفعالية الحالية للعملية . والعملية يمكن ان تكون في احد الحالات التالية :
# عملية "جديدة" , اي أن العملية قيد الانتاج .
# عملية "مُشغلة" , اي ان العملية تُنفذ .
# عملية "مُنتظرة" , اي أن العملية تنتظر ظهور حادثة مثل اكتمال المُدخلات , او وصول اشارة .
# عملية "جاهزة" , اي أن العملية جاهزة لتأخذ حيز في المعالج .
# عملية "منتهية" , اي أن العملية انهت عملها وتوقفت .
 
 
 
 
 
 
 
==كتلة التحكم بالعملية==
كل عملية في نظام التشغيل مُمثلة بواسطة كتلة التحكم بالعملية {{انك|Process Control Block}} او بالاختصار PCB . وهي تحوي العديد من المعلومات المرتبطة بعملية مُعينة , من ضمنها :
* حالة العملية : وقد تكون أيا من الحالات الانف ذكرها .
* عداد البرنامج : العداد يشير الى عنوان الامر التالي الذي يجب تنفيذه في هذه العملية .
* سجلات المعالج المركزي {{انك | CPU registers}}: السجلات تختلف وكذا عددها وهذا يتعلق ببنية الحاسوب . ومن ضمنها : المُراكمات , سجلات الاستدلال , مؤشر المكدس , سجلات متعددة الاستخدامات بالاضافة للسجل العلم {{ انك | flag register }} . بالاضافة لعداد البرنامج معلومات الحالة هذه يجب حفظها عند ظهور مقاطعة وذلك للسماح لاحقا بأن تعمل العملية بشكل ملائم .
* معلومات لمُجدول المعالج المركزي : هذه المعلومات من ضمنها اولوية العملية , مؤشرات لطوابير الجدولة واية معلومات اخرى متعلقة بالجدولة .
* معولومات لادارة الذاكرة : قد تحوي على معلومات مثل سجلات القاعدة والحد {{انك|base and limit registers}} , جدول الصفحات أو جدول الاقسام حسب نظام الذاكرة المُستخدم في نظام التشغيل .
==انتاج العملية==
تحتاج نُظم التشغيل ايجاد وسيلة بها تُنتج العمليات وتُنهيها حسب الحاجة ( يُستثنى من هذا بعض الاجهزة التي عندما تُشغل تكون كل عملياتها جاهزة ولا حاجة لانهائها او البدأ بجديدة مثل : المكرويف ) وما يلي هي الوسائل الرئيسية لانتاج العملية :
# ابتداء النظام.
# تنفيذ نداء النظام لانتاج العمليات بواسطة عملية قيد التنفيذ .
# طلب المستخدم لانتاج عملية جديدة .
# بدء عمل بالدفعات . (batch job)
[[تصنيف:حوسبة متزامنة]]
[[تصنيف:تقنيات نظم التشغيل]]