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

سوال چهارم از فصل دوم

ارسال: #۱۶
۱۰ مهر ۱۳۹۰, ۰۶:۰۰ ق.ظ
سوال چهارم از فصل دوم
در کتاب دکتر حقیقت مهمترین مزیت نخها اینطور عنوان شده:
"افزایش سرعت اجرا و زمان پاسخ فرایندهایی که مکررا مسدود میشوند"
یعنی در یک فرایند ماژولاریتی و درجه بندی رو افزایش بدیم یعنی فرایند بجای یک نخ دارای چندین نخ باشه که وقتی یک نخ مسدود شد تمام فرایند مسدود نشه و وقتی یکی از نخها مسدود شد بقیه نخها بتونن به کارشو نادامه بدن و این معنی همروندی رو میده
پس مهمترین مزیت نخها ایجاد همروندی است
همونطور که گفته شد گاهی اوقات نخها عامل صرفا افزایش سرعت نیستند چون همونطور که در پست قبل گفتم نخهای سطح هسته سرعتشون به اندازه سرعت فرایندهاست مثلا در سوئیچ شدن
اما با همروندی میتونن سرعت رو افزایش بدن
یافتن تمامی ارسال‌های این کاربر
 سپاس‌گزاری شده توسط: hatami
ارسال: #۱۷
۱۰ مهر ۱۳۹۰, ۱۱:۳۴ ق.ظ
RE: سوال چهارم از فصل دوم
بحثتون در مورد تفاوت هزینه نخ های سطح هسته و سطح کاربر صحیح است ولی دقت کنید تفاوت اصلی این دو در چیز های دیگه هست و این قدر سطحی نیست. مثلا اگه ۵ نخ سطح هسته (با استفاده از یک کتابخونه سطح کاربر) برای یک برنامه تعیین کرده باشید و در زمان اجرای این پردازه یکی از اینها یک system call مثلا یک page fault رو حادث بشه کل ۵ نخ و در واقع پردازه بلاک میشه! اما اگه نخ سطح کرنل باشه فقط اون نخ که این رویداد بلاک شونده رو حادث شده بلاک میشه. همین موضوع باعث میشه که نخ های سطح کاربر سبک‌تر باشند چه تو مهاجرت چه تو همگام سازی اما همه اینها فقط در مورد نخ هایی که متعلق به یک پردازه هستند صادق چون هسته خبری از وجود اینها نداره و همه این‌ها رو به چشم همون پردازه می بینه. داستان بعدی اینه که وقتی کرنل خبری از وجود این نخ‌ها نداشته باشه نمی تونه به هر یک از این‌ها یک کوانتوم زمانی تخصیص بده در واقع کرنل فقط می دونه یه پردازه x هم هست که باید بهش CPU رو تخصیص بده مثلا ۱۰ms. این ۱۰ms باید بین همه این ۵ تا نخ تقسیم بشه (توسط همون کتابخونه سطح کاربر میشه انجام داد) اما اگه اینها نخ های سطح کرنل بودن مثلا به هر کدوم ۱۰ms تخصیص داده میشد.

نقل قول: "افزایش سرعت اجرا و زمان پاسخ فرایندهایی که مکررا مسدود میشوند"
یعنی در یک فرایند ماژولاریتی و درجه بندی رو افزایش بدیم یعنی فرایند بجای یک نخ دارای چندین نخ باشه که وقتی یک نخ مسدود شد تمام فرایند مسدود نشه و وقتی یکی از نخها مسدود شد بقیه نخها بتونن به کارشو نادامه بدن و این معنی همروندی رو میده
پس مهمترین مزیت نخها ایجاد همروندی است

این جمله هم درست هست اما ناقص! باید اشاره می کرد که این موضوع یکی از مزیت های نخ های سطح کرنل هست.

در مورد نخ های سطح کاربر چون هسته از وجود اونها خبری نداره نمی تونه اون‌ها رو زمانبندی کنه! برای همین هسته فقط پردازه‌ها رو زمان بندی می کنه و از وجود اونها آگاهی داره. بنابراین اگه پردازه x که ۵ تا نخ سطح کاربر داشته باشه تو بازه زمانی که بهش تخصیص داده میشه می تونه خیلی سبک و سریع بین نخ هاش تعویض صورت بگیره اما وقتی یکی ازین نخ‌ها بلاک بشه یا مهلت زمانی پردازه تموم بشه باید CPU رو ازین پردازه گرفت و به پردازه بعدی داد (که شاید اونم ۷ ۸ تا نخ واسه خودش داشته باشه و بخواد نخ ۴ ش رو فعال کنه تو این لحظه!!) و این یعنی تعویض متن بین دو پردازه که زمان انجام این کار مشخص. در مورد نخ های سطح هسته هم می دونید که هسته یک چدول نخ برای نگهداری و اطلاع از نخ‌ها داره و همین طور هر نخ یه TCB (یا TEB اگه اشتباه نکنم) داره. هزینه سوئیچ بین نخ های سطح هسته هم می دونید و واضح که سنگین هست. فکر کنم مشخص شده باشه که هزینه مهاجرت از نخ های یک پردازه کم هست ولی هزینه مهاجرت از نخ هایی که مربوط به یک پردازه نیستند تفاوتی با تعویض متن بین دو پردازه نداره.
یافتن تمامی ارسال‌های این کاربر
 سپاس‌گزاری شده توسط: hatami , eli.pd
ارسال: #۱۸
۱۰ مهر ۱۳۹۰, ۰۴:۰۰ ب.ظ (آخرین ویرایش در این ارسال: ۱۰ مهر ۱۳۹۰ ۰۴:۰۵ ب.ظ، توسط narges_r.)
RE: سوال چهارم از فصل دوم
(۱۰ مهر ۱۳۹۰ ۱۱:۳۴ ق.ظ)_Milad_ نوشته شده توسط:  بحثتون در مورد تفاوت هزینه نخ های سطح هسته و سطح کاربر صحیح است ولی دقت کنید تفاوت اصلی این دو در چیز های دیگه هست و این قدر سطحی نیست. مثلا اگه ۵ نخ سطح هسته (با استفاده از یک کتابخونه سطح کاربر) برای یک برنامه تعیین کرده باشید و در زمان اجرای این پردازه یکی از اینها یک system call مثلا یک page fault رو حادث بشه کل ۵ نخ و در واقع پردازه بلاک میشه! اما اگه نخ سطح کرنل باشه فقط اون نخ که این رویداد بلاک شونده رو حادث شده بلاک میشه. همین موضوع باعث میشه که نخ های سطح کاربر سبک‌تر باشند چه تو مهاجرت چه تو همگام سازی اما همه اینها فقط در مورد نخ هایی که متعلق به یک پردازه هستند صادق چون هسته خبری از وجود اینها نداره و همه این‌ها رو به چشم همون پردازه می بینه. داستان بعدی اینه که وقتی کرنل خبری از وجود این نخ‌ها نداشته باشه نمی تونه به هر یک از این‌ها یک کوانتوم زمانی تخصیص بده در واقع کرنل فقط می دونه یه پردازه x هم هست که باید بهش CPU رو تخصیص بده مثلا ۱۰ms. این ۱۰ms باید بین همه این ۵ تا نخ تقسیم بشه (توسط همون کتابخونه سطح کاربر میشه انجام داد) اما اگه اینها نخ های سطح کرنل بودن مثلا به هر کدوم ۱۰ms تخصیص داده میشد.
اینکه نخ سطح هسته و سطح کاربر باهم نفاوتهای اساسی دارند که شکی نیست درواقع مزایا و معایب این دو معکوس همدیگه هستند من خواستم فقط برای پستی که شما اشاره کردید که هزینه سوئیچ نخها کم هست به این اشاره بکنم که همیشه هم اینطور نیست


(۱۰ مهر ۱۳۹۰ ۱۱:۳۴ ق.ظ)_Milad_ نوشته شده توسط:  
نقل قول: "افزایش سرعت اجرا و زمان پاسخ فرایندهایی که مکررا مسدود میشوند"
یعنی در یک فرایند ماژولاریتی و درجه بندی رو افزایش بدیم یعنی فرایند بجای یک نخ دارای چندین نخ باشه که وقتی یک نخ مسدود شد تمام فرایند مسدود نشه و وقتی یکی از نخها مسدود شد بقیه نخها بتونن به کارشو نادامه بدن و این معنی همروندی رو میده
پس مهمترین مزیت نخها ایجاد همروندی است

این جمله هم درست هست اما ناقص! باید اشاره می کرد که این موضوع یکی از مزیت های نخ های سطح کرنل هست.

در مورد نخ های سطح کاربر چون هسته از وجود اونها خبری نداره نمی تونه اون‌ها رو زمانبندی کنه! برای همین هسته فقط پردازه‌ها رو زمان بندی می کنه و از وجود اونها آگاهی داره. بنابراین اگه پردازه x که ۵ تا نخ سطح کاربر داشته باشه تو بازه زمانی که بهش تخصیص داده میشه می تونه خیلی سبک و سریع بین نخ هاش تعویض صورت بگیره اما وقتی یکی ازین نخ‌ها بلاک بشه یا مهلت زمانی پردازه تموم بشه باید CPU رو ازین پردازه گرفت و به پردازه بعدی داد (که شاید اونم ۷ ۸ تا نخ واسه خودش داشته باشه و بخواد نخ ۴ ش رو فعال کنه تو این لحظه!!) و این یعنی تعویض متن بین دو پردازه که زمان انجام این کار مشخص. در مورد نخ های سطح هسته هم می دونید که هسته یک چدول نخ برای نگهداری و اطلاع از نخ‌ها داره و همین طور هر نخ یه TCB (یا TEB اگه اشتباه نکنم) داره. هزینه سوئیچ بین نخ های سطح هسته هم می دونید و واضح که سنگین هست. فکر کنم مشخص شده باشه که هزینه مهاجرت از نخ های یک پردازه کم هست ولی هزینه مهاجرت از نخ هایی که مربوط به یک پردازه نیستند تفاوتی با تعویض متن بین دو پردازه نداره.
من فکر میکنم این جمله مربوط به نخهای سطح هسته نیست
در صفحهات بعد که این مطالب توضیح داده شده به این نکته اشاره شده که برای استفاده بهینه از نخها بهتر از ترکیب نخهای سطح هسته و سطح کاربر هردو در یک فرایند استفاده بشه و از فرایندهای سبک وزن هم برای مدیرت نخها در فرایند استفاده بشه
من فکر میکنم این جمله و این نکته برای این نوع استفاده ترکیبی از نخها ذکر شده است
یافتن تمامی ارسال‌های این کاربر
ارسال: #۱۹
۱۰ مهر ۱۳۹۰, ۰۴:۰۸ ب.ظ
سوال چهارم از فصل دوم
هزینه سوئیچ بین نخ های سطح کاربر سبک هست
هزینه سوئیچ بین نخ های سطح کاربر بین پردازه های مختلف همون هزینه سوئیچ بین پردازه هاست
داستان برای نخ های سطح هسته هم مشابه.
یافتن تمامی ارسال‌های این کاربر
ارسال: #۲۰
۱۱ مهر ۱۳۹۰, ۰۳:۲۴ ق.ظ
RE: سوال چهارم از فصل دوم
نقل قول: من فکر میکنم این جمله مربوط به نخهای سطح هسته نیست

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

پ.ن: من زیاد با سوالات کنکور آشنایی ندارم اما به نظرم اگه می خواید درک درستی از مطالب پیدا کنید به کتاب های x و y بسنده نکنید برید ببینید در عمل این مسائل چگونه پیاده سازی شدن.
یافتن تمامی ارسال‌های این کاربر
ارسال: #۲۱
۱۱ مهر ۱۳۹۰, ۰۳:۴۳ ق.ظ
RE: سوال چهارم از فصل دوم
(۱۱ مهر ۱۳۹۰ ۰۳:۲۴ ق.ظ)_Milad_ نوشته شده توسط:  
نقل قول: من فکر میکنم این جمله مربوط به نخهای سطح هسته نیست

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

پ.ن: من زیاد با سوالات کنکور آشنایی ندارم اما به نظرم اگه می خواید درک درستی از مطالب پیدا کنید به کتاب های x و y بسنده نکنید برید ببینید در عمل این مسائل چگونه پیاده سازی شدن.
دوست عزیز توضیح دادم که فکر میکنم این جمله بر میگرده به استفاده از نخها بصورت ترکیبی، نخهای سطح کاربر و سطح هسته وقتی هردو در کنار هم قرار میگیرند این مزیت رو ایجاد میکنند.
یافتن تمامی ارسال‌های این کاربر


موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
Information فصل یک تا پنج پایان نامه αɾια ۵ ۵,۵۵۶ ۲۶ بهمن ۱۴۰۰ ۰۴:۱۶ ب.ظ
آخرین ارسال: HoseinMos
  فصل Np , Np hard nazanin2020 ۱ ۲,۰۷۶ ۲۱ آذر ۱۴۰۰ ۱۰:۴۵ ب.ظ
آخرین ارسال: nazanin2020
  درخواست ارائه تکمیل ظرفیت دکتری نیمسال دوم دانشگاه ازاد alireza6660 ۱ ۴,۲۱۶ ۱۷ بهمن ۱۳۹۹ ۱۱:۵۲ ب.ظ
آخرین ارسال: hmaryam567
Smile فروش کتابهای دست دوم و ارزان آمادگی ارشد انفورماتیک پزشکی qizilbash ۱ ۴,۵۹۷ ۲۸ آبان ۱۳۹۹ ۱۱:۳۴ ب.ظ
آخرین ارسال: zeilabi69
  مشکل در حل تست ۲۲ فصل اول کتاب گسسته یوسفی pure.yaser ۷ ۹,۳۷۸ ۰۹ اردیبهشت ۱۳۹۹ ۰۶:۵۴ ب.ظ
آخرین ارسال: mohsentafresh
  فصل HEAP از کتاب ساختمان داده طورانی (پارسه) tourani ۳۷ ۴۰,۱۰۴ ۱۲ اسفند ۱۳۹۸ ۰۵:۱۹ ب.ظ
آخرین ارسال: hossein4070
  خرید کتابهای دست دوم پوران پژوهش همه دروس ارشد فناوری اطلاعات sherwod7 ۳ ۵,۷۳۸ ۲۱ دى ۱۳۹۸ ۰۸:۱۶ ب.ظ
آخرین ارسال: roxana.r
  مهمترین فصل های ذخیره و بازیابی مقسمی enofcom ۱۰ ۶,۴۰۰ ۲۵ آبان ۱۳۹۸ ۰۵:۲۳ ب.ظ
آخرین ارسال: alma1988
  درج عبارت "نوبت دوم" در مدرک دکتری siiib70 ۳ ۴,۱۲۵ ۲۸ مهر ۱۳۹۸ ۰۲:۵۰ ق.ظ
آخرین ارسال: marvelous
  ساختمان داده پوران، فصل اول، راهنمایی برای حل یک مثال ساده marvelous ۲ ۲,۹۵۲ ۲۲ مرداد ۱۳۹۸ ۰۳:۳۰ ب.ظ
آخرین ارسال: marvelous

پرش به انجمن:

Can I see some ID?

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

Feeling left out?


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

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

Feeling left out?


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