عملية (حوسبة): الفرق بين النسختين
[نسخة منشورة] | [نسخة منشورة] |
تم حذف المحتوى تمت إضافة المحتوى
Mr.Ibrahembot (نقاش | مساهمات) ط بوت:أضاف قالب {{ضبط استنادي}} |
ط قوالب الصيانة و/أو تنسيق باستخدام أوب (12030) |
||
سطر 1:
[[ملف:Process states.ru.svg|thumb|left|300px|حالات عملية حاسوبية في نظام تشغيل عصري.]]
في الحاسوبية، '''عملية''' {{
هذا التقلب يُسمى البرمجة المتعددة {{
يوجد فروق بين العملية والبرنامج فالفرق حاذق ولكنه حاسم وذلك لأن العملية هي فعالية من أي نوع أي عنده برنامج ومُدخل ومُخرج وحالة (state). كما أن المُعالج (processor) الواحد قد تتشارك فيه عدة عمليات وكمية الوقت الذي يأخذه كل برنامج يتحدد بواسطة خوارزمية جدولة. وفي حالة أن نفس البرنامج تستخدمه عمليتان (أو أكثر) لا يغير من حقيقة أنهما عمليتان منفصلتان.
سطر 18:
=== كتلة التحكم بالعملية ===
[[ملف:المنشور3.jpg|thumb|كتلة التحكم بالعملية (PCB)]]
كل عملية في نظام التشغيل مُمثلة بواسطة كتلة التحكم بالعملية {{
* حالة العملية : وقد تكون أيا من الحالات الانف ذكرها.
* عداد البرنامج : العداد يشير إلى عنوان الامر التالي الذي يجب تنفيذه في هذه العملية.
* سجلات المعالج المركزي {{
* معلومات لمُجدول المعالج المركزي : هذه المعلومات من ضمنها اولوية العملية، مؤشرات لطوابير الجدولة واية معلومات اخرى متعلقة بالجدولة.
* معولومات لادارة الذاكرة : قد تحوي على معلومات مثل سجلات القاعدة والحد {{
* معلومات حسابية : هذه المعلومات من ضمنها كمية وقت استخدام المعالج المركزي وايضا كمية وقت استخدام وقت الحقيقة، حدود الوقت، ارقام الحسابات، رقم العملية او العمل، وهكذا...
* معلومات عن حالة المدخلات/المخرجات (I/O) : هذه المعلومات من ضمنها قائمة اجهزة المدخلات/المخرجات التي خُصصت للعملية، قائمة الملفات المفتوحة وهكذا.
باختصار، كتلة التحكم بالعملية هو مستودع ايَّة معلومة التي قد تختلف من عملية إلى اخرى.
=== خطوط ===
{{
العملية هي برنامج الذي يقوم بخط عمليات واحد. خط التحكم هذا يسمح للعملية بتنفيذ مهمة واحدة في لحظة مُعينة، مثلا لا يستطيع المرئ ان يكتب الكلمة وفي نفس الوقت فحص املاء الكلمة خلال العملية الواحدة. معظم انظمة التشغيل وسعت مفهوم العملية بالسماح لها باستغلال اكثر من خط واحد وهذا سمح لها بتنفيذ عدة مهمات. وهذه الخاصية مهمة في انظمة فيها المعالج متعدد النواة وذلك لان في هذه الانظمة تسمح بأن تعمل الخطوط على التوازي. في أنظمة فيها الخطوط، كتلة التحكم بالعملية موسع كذلك ليضم معلومات عن الخطوط لهذه العملية.
== جدولة العملية ==
هدف البرمجة المتعددة هو وجود عملية مُشتغلة في كل لحظة، لرفع كمية وقت استخدام المعالج المركزي. وهدف مشاركة الوقت هو تحويل {{
=== طوابير الجدولة ===
حين بدأ العملية في النظام، تُوضع في طابور عمل، ويحوي هذا الطابور كل العمليات في النظام. العمليات القاطنة في الذاكرة الرئيسية وهي جاهزة وتنتظر ان يتم تنفيذها يحفظها النظام في قائمة تُسمى طابور الجاهزين. بشكل عام هذه القائمة تُحفظ بشكل [[قائمة متصلة]]. رأس طابور الجاهزين مؤشر لل-PCB الاول والنهائي في القائمة. وكل PCB عنده مؤشر إلى ال PCB التالي في طابور الجاهزين. طوابير اخرى يستخدمها النظام وهي طابور الاجهزة، وطابور I\O وهو طابور للمُدخلات.
سطر 42:
# طلب المستخدم لانتاج عملية جديدة.
# بدء عمل بالدفعات. (batch job)
في الحالة الاولى، عندما يُقلع النظام عادة ما يُنتج عدة عمليات، منها ما هو عمليات مُقدمة أي انها تتفاعل مع المُستخدم وتنفذ الاوامر من أجلهم، واخرى هي للخلفية وهي غير مرتبطة بمستخدم مُعين، ولكن عندها وظيفة مُعينة. هذه العمليات تُسمى أيضا شياطين{{
ثانيا، بالاضافة إلى العملية التي أُنتجت في وقت الاقلاع عمليات جديدة يمكن أن تُنتج لاحقا. بشكل عام يمكن للعملية الواحدة طلب انتاج عمليات اخرى من شأنها ان تعين العملية على قضاء عملها، وهذا في خصوصا في حالة أنَّ العمل الذي على العملية فعله يمكن أن ينفذ بواسطة عمليات مرتبطة ومستقلة.
سطر 48:
ثالثا، في الانظمة التفاعلية، يمكن للمستخدم ادخال امر به يبدأ عملية جديدة وكذا الامر بالنسبة لضغط ايقونة. وفي الحالتين العملية تبدأ وتنفيذ البرنامج في العملية يبدأ تنفيذه. في الانظمة التي تعتمد على الاوامر وشبيهة بنظام [[يونكس|UNIX]] تشغيل الامر X، يسمح للعملية بأن تستولي على الشباك الذي فيه بدأت. في [[مايكروسوفت ويندوز]] عند ابتداء عملية فانها لا تملك [[شباك(حاسوب)|شباكا]] ويمكنها انتاج واحد كهذا والمعظم يفعل هذا. في النظامين يمكن للمستخدم أن يكون عنده عدة شبابيك مفتوحة وكل واحدة منها تشغل عملية مُختلفة. وبإستخدام [[فأرة (حاسوب)|الفأرة]] يمكن للمستخدم اختيار شباك والتفاعل معه مثلا ادخال مُعطيات اذا لزم الامر.
الحالة الاخيرة لانتاج العمليات هي عمل بالدفعات وهي تختص بانظمة الدفعات {{
عمليا في كل هذه الحالات انتاج العملية يكون بواسطة وجود عملية فعالة التي تطلب من النظام بواسطة أمر نظام لانتاج عملية جديدة. وأمر النظام هذا يقول للنظام أن أنتج عملية جديدة ويومأ، بشكل مباشر او غير مباشر، أي برنامج يشغل.
سطر 57:
# انهاء طبيعي (كما اسلفنا الذكر عندما تطلب العملية ذلك )
# انهاء لدخول البرنامج مُدخل خطأ لوجود علة في التنفيذ.
# انهاء بسبب خطأ قاتل {{
# العملية قُتلت بواسطة عملية اخرى.
الحالتين الاوليين الانهاء فيهما يكون تطوعي، اما الاخيرين ففيهما الانهاء اجباري.
|