ریسمان (رایانش)
From Wikipedia, the free encyclopedia
یک ریسمان اجرایی یا نخ اجرایی (به انگلیسی: thread) در علوم رایانه، «کوچترین توالی» از دستورالعملهای برنامهریزی شدهاست که توسط یک زمانبند میتواند مستقلاً مدیریت گردد، این زمانبند معمولاً جزئی از سیستمعامل است.[1] پیادهسازی ریسمانها و فرایندها از یک سیستمعامل به سیستمعامل دیگر متفاوت است اما در اکثر موارد، ریسمان یک مولفه از فرایند است. چندین ریسمان میتوانند در داخل یک فرایند یکسان قرار داشته باشند، که به صورت همروند اجرا میشوند و منابعی (مثل حافظه) را در میان خود به اشتراک میگذارند، اما فرایندهای متفاوت، این منابع را به اشتراک نمیگذارند. ریسمانهای یک فرایند، مخصوصا «کد اجراییشان»، «مقادیر متغیرهای با انتساب پویا»، و «متغیرهای سراسری ریسمانی محلی» را، در هر زمان، به اشتراک میگذارند.
ریسمان، فرایند سبکوزنی است. به ویژه اینکه، ریسمان در یک فرایند دستورالعمل (کد قابل اجرا) و متن خود (ارزش هر متغیر در هر لحظه معین) را به اشتراک میگذارد.
در سیستم تکپردازندهای، چندریسمانی به صورت عمده توسط تقسیم-زمانی چندگانه (به انگلیسی: time-division multiplexing) به صورت برنامه چندکاره اجرا میشود و واحد پردازش مرکزی (CPU) در بین ریسمانهای نرمافزاری متفاوت تعویض میشود. این تعویض زمینه به گونهای اجرا میشود که کاربر تصور میکند ریسمانها یا وظایف؛ همزمان اجرا میشوند. در سیستمهای چند پردازندهای یا چندهستهای، ریسمانها میتوانند به صورت جداگانه و همزمان توسط هر کدام از پردازندهها یا هستهها اجرا شوند. در حالت چندپردازندهای، سیستم عامل ممکن است از ریسمانهای سختافزار که برای بهرهبرداری بهتر از پردازندهٔ مرکزی؛ در پشتیبان سختافزار موجود است استفاده کند و این حالت با ریسمانهای نرمافزاری که بهطور کامل توسط نرمافزار بدون دخالت پردازنده مرکزی ساخته میشوند؛ متفاوت است.
زمانبندی پردازش در اغلب سیستم عاملهای امروزه بهطور مستقیم از هر دو حالت ریسمانهای اشتراک زمانی و چندپردازندهای پشتیبانی میکنند. هسته سیستم عامل به برنامهها این اجازه را میدهد که ریسمانها را توسط بازبینی واسط فراخوان سیستمی اداره کند. برخی از پیادهسازی ریسمان ها؛ ریسمانهای هسته نامیده میشوند، در حقیقت فرایندهای سبکوزن نوع خاصی از ریسمانهای هسته هستند که وضعیت و اطلاعات مشابه را به اشتراک میگذارند.
برنامهها میتوانند ریسمانهای فضای کاربر را برای ایجاد وقفه در عملکرد خود توسط زمانسنج، ارسال سیگنال یا روشهای دیگر استفاده کنند. بهطور مثال اد هوک و قبضهکردن از این دستهاند.