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

اذهب إلى التنقل اذهب إلى البحث
تم إضافة 22 بايت ، ‏ قبل 5 سنوات
ط
بوت:أضاف قالب {{ضبط استنادي}}
ط (بوت:أضاف قالب {{ضبط استنادي}})
# عملية "مُنتظرة"، أي أن العملية تنتظر ظهور حادثة مثل اكتمال المُدخلات، أو وصول اشارة.
# عملية "جاهزة"، أي أن العملية جاهزة لتأخذ حيز في المعالج.
# عملية "منتهية"، أي أن العملية انهت عملها وتوقفت.
 
من الناحية المنطقية، الحالتان الثانية والرابعة هما نفس الأمر إذ أن كليهما قابلان للتشغيل ولكن الحالة الرابعة لا تستطيع العمل لأن المعالج المركزي ليس متفرغا للعملية وهي تكون دوما جاهزة حتى يتفرغ لها المعالج المركزي. أما الحالة الأولى ففيها تكون العملية فقط عندما تنتج وقبل ولوجها في الحالة الرابعة، وعندما العملية تأخذ حيز في المعالج المركزي ويُنفذ أوامرها تكون في الحالة الثانية يمكن أن تُقطع وذلك لأن المُجدول اختار عملية أخرى لينفذها المعالج المركزي، وفي حالة أنها تريد مُدخل من المستخدم فانها تنتقل للحالة الثالثة وعند اتمام الادخال تعود لتكون جاهزة، لربما اخذت عملية اخرى حيزها ولما يحين دورها. وحين انتهاء العملية من تنفيذ البرنامج وتنهي عملها تنتقل للحالة الأخيرة.
ثانيا، بالاضافة إلى العملية التي أُنتجت في وقت الاقلاع عمليات جديدة يمكن أن تُنتج لاحقا. بشكل عام يمكن للعملية الواحدة طلب انتاج عمليات اخرى من شأنها ان تعين العملية على قضاء عملها، وهذا في خصوصا في حالة أنَّ العمل الذي على العملية فعله يمكن أن ينفذ بواسطة عمليات مرتبطة ومستقلة.
 
ثالثا، في الانظمة التفاعلية، يمكن للمستخدم ادخال امر به يبدأ عملية جديدة وكذا الامر بالنسبة لضغط ايقونة. وفي الحالتين العملية تبدأ وتنفيذ البرنامج في العملية يبدأ تنفيذه. في الانظمة التي تعتمد على الاوامر وشبيهة بنظام [[يونكس|UNIX]] تشغيل الامر X، يسمح للعملية بأن تستولي على الشباك الذي فيه بدأت. في [[مايكروسوفت ويندوز]] عند ابتداء عملية فانها لا تملك [[شباك(حاسوب)|شباكا]] ويمكنها انتاج واحد كهذا والمعظم يفعل هذا. في النظامين يمكن للمستخدم أن يكون عنده عدة شبابيك مفتوحة وكل واحدة منها تشغل عملية مُختلفة. وبإستخدام [[فأرة (حاسوب)|الفأرة]] يمكن للمستخدم اختيار شباك والتفاعل معه مثلا ادخال مُعطيات اذا لزم الامر.
 
الحالة الاخيرة لانتاج العمليات هي عمل بالدفعات وهي تختص بانظمة الدفعات {{إنك|batch systems}} المتواجدة في [[حاسوب كبير|الحواسيب الكبيرة]]. في هذه الانظمة يمكن للمستخدم ادخال دفعات العمل (ربما من بعيد). عندما يقرر النظام انه يحوي الموارد الكافية لتشغيل عمل جديد، تُنتج عملية جديدة لانتاج العملية وتشغل العمل التالي في طابور المُدخلات.
 
عمليا في كل هذه الحالات انتاج العملية يكون بواسطة وجود عملية فعالة التي تطلب من النظام بواسطة أمر نظام لانتاج عملية جديدة. وأمر النظام هذا يقول للنظام أن أنتج عملية جديدة ويومأ، بشكل مباشر او غير مباشر، أي برنامج يشغل.
 
في نظام [[يونكس|UNIX]] هنالك أمر نظام واحد لانتاج العمليات وهو fork. أمر النظام هذا يستنسخ العملية التي أستدعته. بعدما استدعاء fork للعمليتين الابن والاب يوجد نفس صورة الذاكرة، نفس البيئة (وهي مجموعة من المتغيرات التي تحوي [[سلسلة (علم الحاسوب)|سلاسل]] وهي مُتاحة لكل العمليات ) ونفس الملفات المفتوحة. عادة ما يقوم الابن باستدعاء execve او امر مشابه ليغير صورة الذاكرة ويشغل برنامج جديد. ونقيضها نجده في نظام windows حيث أنه يوجد أمر واحد،CreateProcess، يقوم بالاهتمام بانتاج البرنامج وايضا تحميل البرنامج الصحيح، ولهذا الامر 10 عوامل (مُعطيات او مُدخلات) ومن ضمنها البرنامج الذي يجب تشغيله.
* Abraham Silberschatz،Peter Baer Galvin، Greg Gagne. "Operating system Concepts".
* [[أندرو تانينباوم|Andrew S. Tanenbaum]]. "Modern Operating Systems".
</div>
 
{{حوسبة متوازية}}
{{شريط بوابات|معلوماتية|برمجة الكمبيوتر}}
 
{{ضبط استنادي}}
 
[[تصنيف:عملية (حاسوب)]]
6٬552٬997

تعديل

قائمة التصفح