الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

شرح بسيط للProcess

مغلق
بدأه garo في 14 يوليو 2007 · 3 رد · 1,099 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

الـProcess هو طريقة لتنظيم عمل البرامج في نظام التشغيل حيث

يحتوي كل Process علي مساحة عناوين خاصة به ،يخزن الـProcess البيانات

والكود (الاوامر) في هذه المساحة ويحمي هذه البيانات والاوامر من

اي Process اخر، حيث لا يستطيع اي Process اخر الوصول الي هذه مساحة .

كل Process يحتوي علي الاقل علي thread واحد ويمكن

لهذا الـ threadان ينشئي thread جديد . كذلك كل Process يمكن ان ينشئي Process تابع .

ايضا يحتوي الـProcess علي متغيرات البيئة مثل موقع البحث الحالي،

و يحتوي علي مساحة عناويين الي الـHeap الخاص بالـ Process،كما يحتوي علي الموارد الحالية للبرنامج مثل المقابض المفتوحة.

كل thread في الـ Processتتشارك في الاوامر والمتغيرات العامة والموارد

وعند تشغيل البرنامج ينشي الويندوز process لهذا البرنامج مع thread واحد علي الاقل

( _ /)

(='.'=)

(")-(")

#2
اقتباس
وما الفرق بين الprocess and thread

which of them multitasking and which of them multi sharing

عند فتح برنامج يتم انشاء Process جديد لهذا البرنامج هذا الـprocess يحتوي كود وبيانات هذا البرنامج بما فيها ملفات DLL التي يحملها البرنامج ، لذلك الـprocess ما هو الا العملية الرئيسية للبرنامج فالـprocess لا ينفذ اي كود الا من خلال احدي threads ،فالـ process وظيفته هي انشاء مساحة عناويين يحمل بها نظام التشغيل البرنامج (كود \ بيانات \ Heap\ الخ)

اما thread هو التنفيذ الرئيسي للكود ويجب علي كل process ان يحتوي علي thread واحد علي الاقل.

كل من الـprocess والـthreaad تعتبر multitasking وايضا multisharing فجميع الـthreads في نفس الـprocess تشارك مساحة الاسماء الخاصة بالـprocess.

كذلك الـprocess يمكنها وراثة (تشارك) المقابض المفتوحة من قبل process اخر. اي بمعني اخر اذا انشئت برنامج يفتح احدي الملفات ومن نفس البرنامج انشاءت process جديد يفتح نفس الملف السابق فيمكنك اذا احببت وراثة مقبض ذلك الملف من الـprocess الرئيسي.

يعتبر الـprocess هو الوحدة الرئسية للـmultitasking بالنسبة لنظام التشغيل.

( _ /)

(='.'=)

(")-(")

#3

شرح جميل يا اخ garo ولكن اتمنى لو ان تعيد الموضوع مع ربطه بالقسم (اقصد السي++) ...

وبتوضيح اكثر ...

تحياتي العطره

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

#4

السلام عليكم

أضيف هنا مثال بسيط حول كيفية الإطلاع ال التي تعمل في الحاسوب أثناء تشغيل البرنامج

post-91400-1185046036_thumb.jpg

أضفت تعاليق لشرح الكود وكل من له إستفسار يضعه هنا

ProcessesCollector.zip

post-91400-1185046114_thumb.jpg

هذا الموضوع مغلق.

مواضيع مشابهة