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

اذهب إلى التنقل اذهب إلى البحث
تم إضافة 358 بايت ، ‏ قبل سنتين
بوت:إضافة مصدر (1.1)، إزالة وسم مصدر
ط (بوت:صيانة V3.1، أضاف وسم مصدر)
(بوت:إضافة مصدر (1.1)، إزالة وسم مصدر)
{{مصدر|تاريخ=ديسمبر 2018}}
{{وضح|3=عملية (توضيح)}}
[[ملف:Process states.en.svg|thumb|left|300px|حالات عملية حاسوبية في نظام تشغيل عصري.]]
 
في الحاسوبية، '''عملية''' {{إنج|process}} هي [[كائن (علوم الحاسوب)|كائن]] برنامج قيد التنفيذ بالإضافة إلى القيم الحالية لكل من عداد البرنامج والسجلات {{إنج|register}} والمتغيرات {{إنج|variable}}.<ref>{{مرجع ويب| مسار = https://d-nb.info/gnd/4235427-4 | عنوان = معلومات عن عملية (حوسبة) على موقع d-nb.info | ناشر = d-nb.info}}</ref><ref>{{مرجع ويب| مسار = https://babelnet.org/synset?word=bn:03211034n | عنوان = معلومات عن عملية (حوسبة) على موقع babelnet.org | ناشر = babelnet.org}}</ref> أي أنه لا يحوي فقط الكود ولكن أيضا فعالية البرنامج الحالية. مبدئيا لكل عملية [[وحدة المعالجة المركزية|وحدة معالجة مركزية]] افتراضية. ولكن في الواقع ال CPU الفعلي يتقلب بين العمليات التي تحتاج إلى هذا ال- CPU.
هذا التقلب يُسمى البرمجة المتعددة {{إنج|multiprogramming}}. وكذلك لكل عملية لها عداد برنامج افتراضي مخزن عندها وعند حيازتها لل- CPU تنسخ محتوى هذا العداد إلى العداد الفعلي في ال- CPU وعند الانتهاء يُنسخ العداد الفعلي في داخل العداد الافتراضي للبرنامج لاستخدامه لاحقا.
يوجد فروق بين العملية والبرنامج فالفرق حاذق ولكنه حاسم وذلك لأن العملية هي فعالية من أي نوع أي عنده برنامج ومُدخل ومُخرج وحالة (state). كما أن المُعالج (processor) الواحد قد تتشارك فيه عدة عمليات وكمية الوقت الذي يأخذه كل برنامج يتحدد بواسطة خوارزمية جدولة. وفي حالة أن نفس البرنامج تستخدمه عمليتان (أو أكثر) لا يغير من حقيقة أنهما عمليتان منفصلتان.
اغلب الاحيان تنتهي العملية لانها قد انهت تنفيذ برنامجها. في نظام [[يونكس|UNIX]] الانهاء يكون بواسطة الامر exit اما في [[مايكروسوفت ويندوز|windows]] بواسطة ExitProcess. السبب الثاني للانهاء هو خطأ قاتل مثلا عدم وجود الملف المرغوب بالوصول اليه وما إلى ذلك من الاخطاء التي قد يقع بها بعض المستخدمين. السبب الثالث هو وجود خطأ في العملية مثلا محاولة تنفيذ عملية غير قانونية ومحاولة الوصول إلى معلومات غير موجودة او محاولة القسمة على 0. في بعض الانظمة العملية تخبر النظام انها تريد الاهتمام بالخطأ بنفسها، وهذا يسبب توقف العملية بدل انهائها عند حدوث هذا الخطأ. والسبب الرابع للانهاء هو أن العملية تنفذ أمرا فيه على النظام ان ينهي عملية اخرى. في نظام [[يونكس|UNIX]] هذه الامر هو kill، وفي [[مايكروسوفت ويندوز|Windows]] هو TerminateProcess وفي كلتا الحالتين على القاتل ان يملك الصلاحية الملائمة لتنفيذ عملية القتل. في بعض الانظمة، عند انتهاء العملية ينتهي معها كل عملية انتجتها هذه العملية ولكن لا يعمل أيا من [[يونكس|UNIX]] و [[مايكروسوفت ويندوز|windows]] بهذه الطريقة.
== مصادر ==
{{مراجع}}
 
<div dir="ltr">
* Abraham Silberschatz،Peter Baer Galvin، Greg Gagne. "Operating system Concepts".

قائمة التصفح