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

حالات العملية الأولية
توجد حالات العمليات النموذجية التالية في أنظمة الحاسوب بجميع أنواعها. وفي معظم هذه الحالات، تُخزَّن العمليات في الذاكرة الرئيسية .
مخلوق
عند إنشاء عملية لأول مرة، تكون في حالة " تم الإنشاء " أو " جديدة ". في هذه الحالة، تنتظر العملية قبولها في حالة "جاهزة". تتم الموافقة على القبول أو تأجيله بواسطة مُجدوِل طويل الأجل، أو مُجدوِل القبول . عادةً، في معظم أنظمة الحواسيب المكتبية ، تتم الموافقة على هذا القبول تلقائيًا. مع ذلك، في أنظمة التشغيل الآنية، قد يتأخر هذا القبول. في النظام الآني، قد يؤدي قبول عدد كبير جدًا من العمليات في حالة "جاهزة" إلى تشبع موارد النظام وتنافسها ، مما يؤدي إلى عدم القدرة على الوفاء بالمواعيد النهائية للعمليات.
مستعد
تُحمّل العملية "الجاهزة" أو "المنتظرة" في الذاكرة الرئيسية وتنتظر التنفيذ على وحدة المعالجة المركزية (ليتم تحويل سياقها إلى وحدة المعالجة المركزية بواسطة الموزع، أو المجدول قصير المدى). قد يكون هناك العديد من العمليات "الجاهزة" في أي لحظة من لحظات تنفيذ النظام - على سبيل المثال، في نظام بمعالج واحد، لا يمكن تنفيذ سوى عملية واحدة في أي وقت، وستكون جميع العمليات الأخرى "التي تُنفذ بالتزامن" في انتظار التنفيذ.
تُستخدم قائمة الانتظار الجاهزة أو قائمة التشغيل في جدولة مهام الحاسوب . تتميز الحواسيب الحديثة بقدرتها على تشغيل العديد من البرامج أو العمليات المختلفة في الوقت نفسه. مع ذلك، لا يستطيع المعالج المركزي (CPU) معالجة سوى عملية واحدة في كل مرة. تُحفظ العمليات الجاهزة للمعالج المركزي في قائمة انتظار خاصة بها. أما العمليات الأخرى التي تنتظر حدثًا ما، مثل تحميل البيانات من القرص الصلب أو انتظار اتصال الإنترنت، فلا تُدرج في قائمة الانتظار الجاهزة.
جري
تنتقل العملية إلى حالة التشغيل عند اختيارها للتنفيذ. تُنفَّذ تعليمات العملية بواسطة إحدى وحدات المعالجة المركزية (أو النوى) في النظام. يوجد على الأكثر عملية واحدة قيد التشغيل لكل وحدة معالجة مركزية أو نواة. يمكن للعملية أن تعمل في أحد الوضعين، وهما وضع النواة أو وضع المستخدم . [ 1 ] [ 2 ]
وضع النواة
- يمكن للعمليات في وضع النواة الوصول إلى كل من: عناوين النواة وعناوين المستخدم.
- يسمح وضع النواة بالوصول غير المقيد إلى الأجهزة بما في ذلك تنفيذ التعليمات ذات الامتيازات .
- تعتبر العديد من التعليمات (مثل تعليمات الإدخال/الإخراج وتعليمات الإيقاف) ذات امتيازات خاصة ولا يمكن تنفيذها إلا في وضع النواة.
- يؤدي استدعاء النظام من برنامج المستخدم إلى التبديل إلى وضع النواة.
وضع المستخدم
- يمكن للعمليات في وضع المستخدم الوصول إلى تعليماتها وبياناتها الخاصة ولكن ليس تعليمات وبيانات النواة (أو تلك الخاصة بالعمليات الأخرى).
- عندما يعمل نظام الحاسوب نيابةً عن تطبيق مستخدم، يكون النظام في وضع المستخدم. ولكن، عندما يطلب تطبيق المستخدم خدمةً من نظام التشغيل (عبر استدعاء نظام )، يجب على النظام الانتقال من وضع المستخدم إلى وضع النواة لتلبية الطلب.
- يتجنب وضع المستخدم العديد من حالات الفشل الكارثية (مثل تعطل النظام ) عن طريق:
- توفير مساحة عنوان افتراضية معزولة لكل عملية في وضع المستخدم،
- ضمان تنفيذ العمليات بشكل منفصل حتى لا تؤثر على بعضها البعض،
- منع الوصول المباشر إلى أي جهاز مادي.
محظور
ينتقل البرنامج إلى حالة التوقف عندما يتعذر عليه الاستمرار دون حدوث تغيير خارجي في حالته أو وقوع حدث ما. على سبيل المثال، قد يتوقف البرنامج عند استدعاء جهاز إدخال/إخراج كطابعة، إذا كانت الطابعة غير متاحة. كما تتوقف البرامج عادةً عندما تتطلب إدخالًا من المستخدم، أو عندما تتطلب الوصول إلى قسم حرج يجب تنفيذه بشكل ذري. تُحمى هذه الأقسام الحرجة باستخدام كائن تزامن مثل الإشارة أو القفل المتبادل.
إنهاء
يمكن إنهاء عملية ما ، إما من حالة "التشغيل" بإتمام تنفيذها أو بإنهاءها صراحةً . في كلتا الحالتين، تنتقل العملية إلى حالة "الإنهاء". يتوقف البرنامج الأساسي عن التنفيذ، لكن تبقى العملية في جدول العمليات كعملية زومبي حتى تستدعي العملية الأصلية waitاستدعاء النظام لقراءة حالة خروجها ، وعندها تُزال العملية من جدول العمليات، منهيةً بذلك دورة حياتها. إذا لم تستدعِ العملية الأصلية استدعاء النظام wait، فإنها تستمر في استهلاك مدخل جدول العمليات (وتحديدًا مُعرّف العملية أو PID)، مما يُسبب تسربًا للموارد .
حالات عملية إضافية
تتوفر حالتان إضافيتان للعمليات في الأنظمة التي تدعم الذاكرة الافتراضية . في كلتا الحالتين، يتم "تخزين" العمليات على الذاكرة الثانوية (عادةً القرص الصلب ).
تم استبدالها وهي في انتظار
(يُطلق عليها أيضًا حالة التعليق والانتظار ). في الأنظمة التي تدعم الذاكرة الافتراضية، قد يقوم المجدول بنقل عملية ما، أي إزالتها من الذاكرة الرئيسية ووضعها على وحدة تخزين خارجية. ومن ثم، يمكن إعادة العملية إلى حالة الانتظار.
تم استبدالها وحظرها
(يُطلق عليها أيضًا اسم "معلقة" و"محظورة "). قد يتم استبدال العمليات المحظورة. في هذه الحالة، يتم استبدال العملية وحظرها في نفس الوقت، ويمكن إعادتها مرة أخرى في ظل نفس الظروف التي تخضع لها العملية المستبدلة والمنتظرة (مع أن العملية في هذه الحالة ستنتقل إلى حالة الحظر، وقد تظل تنتظر توفر مورد ما).
انظر أيضاً
مراجع
- ↑ أبراهام سيلبرشاتز؛ بيتر باير جالفين؛ جريج غاني (29-07-2008). مفاهيم أنظمة التشغيل . ISBN 978-0470128725.
- ↑ موريس ج. باخ (1986). تصميم نظام التشغيل يونكس . برنتيس هول، إنك.، أبر سادل ريفر، نيوجيرسي، الولايات المتحدة الأمريكية ©1986. ISBN 0-13-201799-7.
- ستالينغز، ويليام (2005). أنظمة التشغيل: المبادئ الداخلية والتصميمية ( الطبعة الخامسة). برنتيس هول. ISBN 0-13-127837-1.
- وخاصة الفصل 3، القسم 3.2، "حالات العملية"، بما في ذلك الشكل 3.9 "انتقال حالة العملية مع حالات التعليق"
- عملية (حوسبة)
