زمان کنونی: ۲۱ اردیبهشت ۱۴۰۳, ۰۱:۳۶ ب.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن می‌توانید عضو شوید.
گزینه‌های شما (ورودثبت نام)

نخ

ارسال:
  

MiladCr7 پرسیده:

نخ

سلام.بچه ها کسی میتونه مهم ترین نکات مربوط به نخ رو بگه؟؟؟؟؟ساده و راحت کتاب دکتر حقیقت اصلا برام قابل فهم نیست قسمت نخش
نقل قول این ارسال در یک پاسخ

۲
ارسال:
  

shayesteb پاسخ داده:

RE: نخ

سلام Smile

اینها نکاتی هستش که من درباره نخ میدونم و ممکنه کمک کنه

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

سوییچ کردن بین نخ ها از سوییچ کردن بین فرآیندها هزینه ی کمتری داره به خاطر اینکه وقتی بین نخ ها سو ییچ صورت میگیره تنها چیزی که باید ذخیره بشه وضعیت پردازنده هستش (CPU State) و این به این دلیل هست که نخ ها دارای حافظه مشترک هستند (Shared memory). ولی برای سوییچ بین فرآیندها باید این اطلاعات ذخیره بشه:

۱- وضعیت پردازنده : منظور مقادیر ثبات ها- شمارنده برنامه- اشاره گرهای پشته و ...
۲-TLB (Translation Look a side Buffer : که برای ترجمه جدول های مدیریت حافظه هستش
۳-Memory Managmement Unit(MMU

اگر لازم باشه که بین فرآیند ها ارتباطی برقرار بشه تنها از طریق فراخوانی سیستمی صورت میگیره ولی نخ ها برای ارتباط از همون حافظه مشترک استفاده میکنن که خیلی هم سریعتر هست.

نخ هم توی سیستم های توزیعی هم غیر توزیعی به کار میره. ( این قسمت بیشتر مربوط به سیستم عامل پیشرفته میشه واسه همین از گفتنش صرف نظر کردم چون ممکنه گنگ باشه )

پیاده سازی نخ به دو صورت امکان پذیر هست:
۱) پیاده سازی در سطح کاربر
۲) پیاده ساری در سطح سیستم

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

پس به صورت خلاصه اینطوری هست که در پیاده سازی نخ به وسیله کابر یک کتابخانه ی نخ وجود داره که کاملا در حالت کاربر اجرا میشه ولی درحالت دوم هسته از نخ ها آگاهه و اونا رو زمان بندی میکنه

اما اجرای نخ در سطح کاربر یک مشکلی هم داره اونم اینه که فرض کنیم یک فرآیندی در حال اجرا باشه و نخ ها هم در سطح کاربر هستن ( در این صورت سیستم عامل از وجود نخ ها اطلاعی نداره) اگر فرآیند اول دارای چند نخ باشه و یکی از نخ ها مثلا درخواست ورودی خروجی بده و در کارش وقفه پیش بیاد (باید منتظر باشه تا داده ورودی خروجی که درخواست داده برسه) در این حالت سیستم عامل به خاطر اینکه از وجود سایر نخ ها در فرآیند اطلاعی نداره به فرآیند دوم سوییچ میکنه ( یعنی بدونه اینکه به نخ های دیگه توجهی بشه پردازنده از فرآیند اولی گرفته میشه و به فرآیند دوم داده میشه) و همونطوری که قبلا گفتیم سوییچ بین فرآیندها هزینه بیشتری نسبت به سوییچ بین نخ ها داره.

پس در سطح کاربر سوییچ بین فرآیند ها صورت میگیره اما در سطح سیستم عامل سوییچ بین نخ ها صورت میگیره (چون خود هسته سیستم عامل وظیفه مدیریت فرآیندها و زمانبندی اون ها را برعهده داره و از نخ های هر فرآیند هم اطلاع داره)

پس هر کدوم از این روشها یک مزیت و مشکلی داشتن به همین خاطر هستش که اومدن و از یک روش ترکیبی استفاده کردند و این دو روش را ادغام کردن تا بتونن از مزیت های هر دو روش استفاده کنند.

اون دو روش را میتونید از این لینک بخونید ( هرچند این ها هم مربوط به سیستم عامل پیشرفته میشه)


مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.


امیدوارم مفید بوده باشه Smile
نقل قول این ارسال در یک پاسخ



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
Question در آمد مهندسین در ایران. اشتباه کردم پزشکی نخوندم؟ sepanta1990 ۷۴ ۴۸,۱۷۵ ۲۷ فروردین ۱۴۰۱ ۰۷:۳۲ ب.ظ
آخرین ارسال: SetareSokhanrani
Smile ۱۰ مدل آدم نخاله که به نفع خودتان است قیدشان را بزنید! αɾια ۱۷ ۹,۶۹۲ ۰۷ اردیبهشت ۱۳۹۹ ۱۲:۲۳ ب.ظ
آخرین ارسال: sarasadati
  خواهش میکنم گول مافیایی کنکور رو نخورید! Rehe1994 ۱۴ ۸,۸۵۵ ۱۹ فروردین ۱۳۹۸ ۱۱:۳۸ ب.ظ
آخرین ارسال: azizehmah
  خواندن یا نخواندن مقطع دکتری ؟ دکتری بدون شغل ! لطفا راهنمایی کنید... aminomidi ۷ ۱۱,۶۶۰ ۱۹ آبان ۱۳۹۷ ۱۲:۴۹ ب.ظ
آخرین ارسال: suraty
  ماجرای نخبه کردستانی که دستفروش شد! H-Arshad ۱ ۶۹ ۰۵ بهمن ۱۳۹۶ ۱۲:۲۹ ق.ظ
آخرین ارسال: RASPINA
  فراخوان ارسال مقالات به مجله نخبگان علوم و مهندسی elitesjournal ۰ ۲,۲۰۰ ۲۲ دى ۱۳۹۶ ۰۶:۰۵ ب.ظ
آخرین ارسال: elitesjournal
  درس نخواندن H-Arshad ۳ ۲,۶۳۳ ۲۰ آبان ۱۳۹۶ ۱۰:۳۰ ب.ظ
آخرین ارسال: H-Arshad
  فراخوان ارسال مقالات به مجله نخبگان علوم و مهندسی elitesjournal ۰ ۲,۰۶۶ ۲۳ مهر ۱۳۹۶ ۱۱:۰۹ ب.ظ
آخرین ارسال: elitesjournal
  فراخوان ارسال مقالات به مجله نخبگان علوم و مهندسی elitesjournal ۰ ۲,۰۷۹ ۲۹ مرداد ۱۳۹۶ ۰۹:۵۸ ب.ظ
آخرین ارسال: elitesjournal
  فراخوان ارسال مقالات به مجله نخبگان علوم و مهندسی elitesjournal ۰ ۲,۲۲۹ ۲۴ اردیبهشت ۱۳۹۶ ۰۹:۵۱ ب.ظ
آخرین ارسال: elitesjournal

پرش به انجمن:

Can I see some ID?

به خاطر سپاری رمز Cancel

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close

رمزت رو فراموش کردی؟

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. close