os3h

 

threads and processes

Page history last edited by Anonymous 1 yr ago

  

بسم الله الرحمن الرحيم

Threads And Process

 

 
 

أولا:(PROCESS)المهام أو الوظائف:

 

وإنشاء مهمة جديدة (process) يحتاج إلى حجز مكان في الذاكرة( address space) وموارد أخرى مثل فتح ملف وغيره.
 

ثانيا: (THREAD) التجزئة:

 

إنشاء عملية تنفيذ جديدة للمهمة (thread)  أو أكثر من عملية تنفيذ لنفس المهمة  يحتاج إلى موارد اقل من إنشاء مهمة جديدة
(process) .
 

 

 سأشرح بالتفضيل ماسبق:

المهمة  Process

التطبيق (application) يتكون من واحد أو أكثر من المهام , ووجدت العديد من التعاريف للمهمة

منها:

1-المهمة هو تنفيذ البرنامج( an executing program) ويمتاز بأن له مصدر ياخذ منها البينات مثل الذاكرة ..أو أي مصادر يحتاجها في تنفيذ البرنامج.

2- (Process) هي عبارة عن بنية معطيات يقوم نظام التشغيل بإنشائها في الذاكرة  الرئيسية ويوضع (mapping) التطبيق المراد تشغيله ضمن هذه البنية.

3- المهمة هو برنامج يعمل له تنفيذ على جهاز الكمبيوتر يمكن ان يكون اي شيء من الخلفية الصغيرة المهمة ، ممثل انترنت اكسبلورر او مايكروسوفت.

 

 

الخيط thread

أما التعاريف التي وجدتها للخيط:

1- الخيط هو الوحدة الأساسية لنظام التشغيل الذي يحتوي على مجموعة من التعليمات  للمعالج ان يفعل.

 

.

ولو ترجمنا thread نجد  معناه خيط !! 

ماذا يعني خيط ؟......

 

هو المسار أو الطريق أو الخيط الي يؤدي للمهمة نفسها ,وهو يعتبر جزء من المهمة ,.وبما أنه مجرد طريق أو مسار أو خيط فبالطبع لا يحتاج مصادرمثل ذاكره حتى ياخذ البيانات منها ,لأنه سوف ياخذ المصادر من مصادر المهمة نفسها .

ولكل خيط :

 

1-رقم (ID) للتعريف به 

2- عداد (program counter )

3-سجل (register)

4-كومة(stack)

 

 

 

أما العلاقة بين الخيط والمهمة:

 

1-الـخيوط تعتبر أجزاء من المهامبحيث ان كل جزء يقوم بمهمه معينه ، ولكن جميع الـخيوط تستعين بالـمهمة كمصدر لها.ويتم تحديد المهام من قبل المبرمج او البرنامج

2 -العملية ستنفذ الخيوط (مجموعة من التعليمات) ، والذي يمكن ان يحتوي على عدة خيوط في بعض الاحيان.

3- جميع العمليات تتكون من واحد أو اكثر من الخيوط

4-  الخيوط والمهام  كلاهما يشتركان في المعالج(SHARE CPU) وأنشاء طفل

(creat child).

ما هو الفرق بين المهام و الخيط؟

1- الخيط هي اجزاء من المهمة

2- لكل مهمة عنوان(address space) مختلف و بيئة وقت التشغيل( runtime enivorment) ورقم تعريف (process ID) أما الخيوط طالما أنها مشتقة من المهمة لها عنوان واحد  , ويشترك الخيط مع الخيوط الأخرى الموارد التابعه له.

 3-لايوجد خيط  من غير مهمة لكن العكس ممكن

 4-في حالة سياق التحول   context switch  )) مع المهمة يظهر  over head .. أما بحالة الخيط  لايظهر إلا إذا استدعينا نظام التشغيل وغالبا لا نستدعيه .

 

 

5- الخيوط هي أجزاء متزامنة التنفيذ داخل مهمة ما.

(Thread is a concurrent unit of execution inside a process)

6- المهمة هي كلمة أعم و لفترة أطول. الخيط يقتصر على مفهوم "خط التنفيذ".

7- المهمة مرتبطة غالباً مع مستوى نظام التشغيل (مثل في متعدد المعالجة) ، بينما  الخيط مرتبط بمستوى اللغة المنطقي المجرد.

8-  الخيوط ليست مستقلة مثل  العملية.

وهذا رسم توضيحي

 

التعليق : نلاحظ هنا مهمة واحدة وخيط واحد وهذا يعني اشتراك  تام في كل شيء.

_______________________________________________________-

 

 

التعليق: نلاحظ هنا مهمة بأكثر من خيط ونلاحظ اشتراك الخيوط في الفضاء(address space) .

 

___________________________________

التعليق: الصورة توضح أن الخيوط تشترك مع المهام في الفضاء ولكن هناك بعض العناصر تكون خاصة بخيط معين مثل:

-سجل(register) stack)

-كومة(

وهذا موقع يحتوي على مجموعة من tutorial  ينصح بزيارته

http://www.yolinux.com/

 

اتمنى أن أكون وفقت فيما طرحت

أخيرا أقول:

الحمدالله على كل حال وأن أخطأت فمن نفسي وأن أصبت فمن الله

 

كتبته: منى البريه

المصادر:

http://www.cag.lcs.mit.edu/~rinard/osnotes/h2.html

http://msdn2.microsoft.com/en-us/library/ms681917(VS.85).aspx

http://wiki.answers.com/Q/What_is_the_difference_between_a_computer_process_and_thread

http://forum.java.sun.com/thread.jspa?threadID=580508&messageID=2939031

http://cocoadevcentral.com/articles/000061.php

http://vip.cs.utsa.edu/classes/cs3733s2004/notes/USP-02.html

www.w3.org/Library/User/Paper/LibraryPaper.html

 

 


 

Comments (2)

Anonymous said

at 10:19 pm on Nov 18, 2007

Can you please re-write this page it is not very clear!!

Anonymous said

at 7:58 pm on Dec 16, 2007

الموضوع جيد ولكن لابد من توضيح بعض النقاط

You don't have permission to comment on this page.