تشعب (حوسبة): الفرق بين النسختين
[نسخة منشورة] | [نسخة منشورة] |
تم حذف المحتوى تمت إضافة المحتوى
ط تدقيق إملائي وتنسيق |
ط تعديلات بسيطة وتنظيم |
||
سطر 1:
في [[معلوماتية|المعلوماتية]] و[[الحوسبة]]، '''الخيط''' أو '''سلسلة التعليمات''' '''thread''' (أو ''thread of execution'') هي عبارة عن مسار لتنفيذ العملية وبما انه مجرد مسار فانه لا يحتاج لمصادر خاصة لانه يستخدم مصادر العملية [[برنامج حاسوبي|برنامج]] ليقوم بأكثر من [[مهمة (معلوماتية)|مهمة]] Task بشكل متزامن (أو بشكل متزامن افتراضي) لكن إذا كانت وحدة المعالجة المركزية باكثر من نواة فانه يقوم بعمل تزامن حقيقي. بهذا فهو يتميز عن [[عملية (معلوماتية)|العملية]] Process بشكل عام في طريقة إنشاء سلسلة التعليمات وطريقة مشاركتها لمصادرها بشكل مختلف عن العمليات لكن هذه الفوارق في النهاية تختلف حسب [[نظام التشغيل]].
يمكن تنفيذ سلاسل تعليمات متعددة بشكل متواز على عدة أنظمة حاسوبية. وكان هذا يدعى قديما بالتنفيذ المتعدد للسلاسل التعلميمية ''multithreading'' ويحدث عن طريق [[تعدد المهام الحاسوبية|تعدد المهام]] computer multitasking أو ما يدعى بتجزئة
في الوقت الراهن، العديد من أنظمة التشغيل تدعم تجزئة الزمن وتعدد المهام، أو التنفيذ متعدد المعالجات multiprocessor threading عن طريق [[منسق مواعيد|منسق عمليات]] scheduler. تمكن [[نواة (معلوماتية)|نوى]] أنظمة التشغيل المبرمجين من التعامل مع عدة سلاسل تعليمات عن طريق واجهة [[استدعاء (نظام تشغيل)|استدعاءات النظام]] system call. بعض التطبيقات لهذا الموضوع يدعى ''سلسلة تعليمات النواة'' ''kernel thread'' حيث تكون ''العمليات الخفيفة'' ''lightweight process'' أنماطا خاصة من سلاسل تعليمات النواة والتي تتشارك بنفس الحالة ونفس المعلومات. ويبقى المبرمجون قادرين على تطبيق سَلسَلة التعليمات threading عن طريق المؤقتات، الإشارات، أو وسائل أخرى لتفسير تسلسل تنفيذ التعليمات وبالتالي الحصول على تجزئة زمنية جيدة. وهذا ما يدعى أحيانا : ''سلاسل تعليمات مجال المستخدم'' ''user-space threads''.في أغلب أنظمة التشغيل لايتم تنفيذ سلاسل تعليمات المستخدم الا عبر سلسلة تعليمات النواة.
علاقة سلاسل مجال المستخدم وسلاسل تعليمات النواة:هناك اربع أنواع من العلاقات تربط النوعين من السلاسل وهي كالتالي.
هناك ثلاث مكتبات أساسية للتشعبات أو السلاسل : (1) PThreads: وهي اختصار لل POSIX Threads وتستخدم في يونكس وماكنتوش وغيرهما كما تسمح باستخدام سلاسل على مستوى النواة أو على مستوى المستخدم. (2) Win32 Threads : وهي المستخدمة في أنظمة تشغيل ويندوز "النوافذ" ولا تسمح للمستخدم في التعامل مع تشعبات " سلاسل " النواة وانما تتوفر له هذه السلاسل في مجال المستخدم فقط. (3) Java Threads : وهي خاصة ببرامج لغة الجافا وتقوم بإنشاء سلاسل خاصة بكل برنامج على حدة.
|