X
تبلیغات
زولا

چند نخی یا Multithreading چیست؟ آهنگ

پنج‌شنبه 8 بهمن 1394 ساعت 23:19

پردازش,چند نخی یا Multithreading چیست؟,,cpu,Multithreading, آهنگ,proce, سریال,چند نخی, انیمیشن,دانلود رایگان فیلم,فرآیند,سی پی یو, بازی جدید با لینک مستقیم

چند نخی یا Multithreading چیست؟ آهنگ

توانایی یک برنامه در تقسیم شدن به چند ریسه (زیربرنامه) است که می‌توانند جداگانه و در عین حال همزمان توسط رایانه اجرا شوند. یک رایانه چند پردازنده می ‌تواند همزمان دو یا چند ریسمان را اجرا کند که به معنی اجرای زودتر کل برنامه نسبت به رایانه تک ‌پردازنده است.بر روی یک رایانه تک ‌پردازنده یک برنامه چند ریسمانی زودتر اجرا نمی‌شود اما یک نرم‌ افزار کاربردی چند ریسمانی ممکن است با کاربر اندرکنش بیشتری داشته باشد زیرا چندین فعالیت در نرم‌ افزار همزمان اجرا می‌شوند. نرم‌افزارهای سنتی تک ‌ریسه‌ ای بر روی سیستم‌ های چند پردازنده سریع ‌تر اجرا نمی‌ شوند زیرا این نرم‌افزارها در هر زمان می‌ توانند تنها یک پردازنده را به کار بگیرند.

 

به طور ساده نخ مسیری است که پروسه یا برنامه در طول اجرایش طی می کند. سیستم عامل های امروزی فضای چند نخی به وجود آورده اند. 

  پردازش,چند نخی یا Multithreading چیست؟,,cpu,Multithreading, آهنگ,proce, سریال,چند نخی, انیمیشن,دانلود رایگان فیلم,

 

برنامه ها از گذشته به صورت تک مسیر اجرا می شدند یعنی تک بند. در حالی که امروزه برنامه ها برای اجرای چندین کار و فعالیت به طور همزمان سرعت بیشتری را می طلبند، موضوعی که امروزه تولید برنامه های نرم افزاری را غیر ممکن ساخته است. روش قدیمی در بازی نوبتی سنتی مانند tic-tac-toe یا شطرنج جواب می دهد، در حالی که شیوه سنتی در برنامه های چند کاره جدید که چندین فرایند به طور موازی در یک زمان انجام می شوند، کاربردی ندارد.

 

توانایی یک برنامه در تقسیم شدن به چند ریسه (زیربرنامه) است که می‌توانند جداگانه و در عین حال همزمان توسط رایانه اجرا شوند. یک رایانه چند پردازنده می ‌تواند همزمان دو یا چند ریسمان را اجرا کند که به معنی اجرای زودتر کل برنامه نسبت به رایانه تک ‌پردازنده است.بر روی یک رایانه تک ‌پردازنده یک برنامه چند ریسمانی زودتر اجرا نمی‌شود اما یک نرم‌ افزار کاربردی چند ریسمانی ممکن است با کاربر اندرکنش بیشتری داشته باشد زیرا چندین فعالیت در نرم‌ افزار همزمان اجرا می‌شوند. نرم‌افزارهای سنتی تک ‌ریسه‌ ای بر روی سیستم‌ های چند پردازنده سریع ‌تر اجرا نمی‌ شوند زیرا این نرم‌افزارها در هر زمان می‌ توانند تنها یک پردازنده را به کار بگیرند.

 

تکنیک های سخت افزاری پشتیبان چند نخی ، تکنیک های نرم افزاری برنامه های کامپیوتری کامپیوترهای چندکاره را همسو و همزمان می کنند. نخ ها جزء جدایی ناپذیر محصولات نرم افزاری و واحد اصلی CPU هستند که به عنوان بنیان اصلی سیستم های چند نخی به کار می روند. بندها طی چندین سال از روی برنامه های متشکل از تک بند به عنوان مسیر اجرا به تکامل رسیده اند. مفهوم چند نخی شکل انبساط یافته نخ کاربردی اولیه در چندین نخ است که در چندین رویداد موازی پیاده و همزمان چندین فرایند را انجام می دهد. سیستم عامل های مدرن امروزی توانایی نخ های چندگانه تحت کنترل تک پروسه ای در فضای آدرس یکسان را تقویت می کنند.

 

در چند پردازنده ، عمدتا برای استفاده بهینه از تمام پردازنده های موجود مورد استفاده قرار میگرند یعنی نخ ها باعث می شوند که از تمامی پردازشگرهای موجود حداکثر استفاده را برای اجرای فرایند کنند. موضوعات بیان شده عوامل مؤثر یک انگیزه برای رواج دادن چند نخی بودند.


سیستم های چند نخی برای برنامه های دینامیک و غیرمنظم مانند مسائل جستجوی درختی بسیار مناسبند و به واسطه همین مفاهیم جدید از قبیل پیام های فعال و کپی از حافظه دور راه طبیعی برای دست یابی به بازده بیشتر ارائه می کنند. علیرغم محبوبیت چند نخی در سیستم های تک پردازنده یا سیستم های پردازشگر حافظه مشترک، چند نخی در سیستم های توزیع شده با مشکلات بیشتری مواجه می شود و مسائل تازه ای از قبیل ارتباطات، زمان بندی و انتقال بین دو نخ در دو فضای جدا مطرح می شوند. از اواخر دهه 1990 که تلاش برای استفاده بیشتر از تطابق سطح دستورالعمل متوقف شده، نمونه برنامه چند نخی مشهورتر و رایج تر شده است.

 

گونه ای دیگر از پردازش، فرا ریسمانی یا Hyper-Threading نام دارد که به مفهوم چندریسمانی همزمان است. فراریسمانی یک فناوری اختصاصی شرکت اینتل است که برای بهبود رایانش موازی یا پردازش موازی (انجام چند دستورالعمل به طور همزمان) در پردازنده به کار رفته‌است. با این فناوری، برای هر هسته پردازشی سیستم عامل به دو هستهٔ مجازی آدرس دهی می‌کند و در هنگامی که امکان داشته باشد حجم کار را بین آن ها تقسیم می‌کند. برای این فناوری نه تنها لازم است که سیستم عامل از چند پردازنده پشتیبانی کند بلکه باید برای آن بهینه سازی شده باشد؛ و شرکت اینتل توصیه می‌کند که در صورتی که از سیستم عاملی استفاده می‌کنید که هایپرتردینگ را پشتیبانی نمی‌کند، این فناوری را غیر فعال کنید.