خوب من با دیدن استقبالتون ترغیب میشم دیرتر جواب بدم
اما دیگه باید جواب داد:
چون بعضی دوستان ممکنه در مورد صحت مطالبی که عرض می کنم مشکوک باشتند، مطالب رو به کتاب دکتر حقیقت ارجاع دادم، ابتدا لازمه این اطلاع نخست رو بدانید:
در پاراگراف دوم صفحه ۱۰۶ کتاب دکترحقیقت اینچنین آمده:
"
مزیت دوم نخ های سطح کاربر این است که تعویض متن اغب می تواند با تعداد اندکی از دستورالعملها انجام شود (سوییچ ارزان) اصولا فقط کافی است محتوای ثبات های CPU برای نخ فعلی، ذخیره شده و سپس مقادیر قبلا ذخیره شده مربوط به نخ بعدی بارگذاری مجدد شوند، نیازی به تغییر نگاشت های حافظه، فلاش کردن TLB، حسابداری CPU و مانند آن نیست"
در مورد گزینهی اول، اینکه بگوییم PCB اطلاعات نخها را نگهداری نمی کند، در حالتی که مدیریت نخها در سطح کاربر باشد، صحیح است، در صفحه پاراگراف سوم صفحه ۱۰۵ کتاب دکتر حقیقت به این نکته اشاره شده که در این روش پیاده سازی نخها (مد کاربر) سیستم عامل اطلاعی از وجود نخ ندارد، پس طبیعی است که در جدول فرآیند چیزی از آن ذخیره نکند، بهـــــــــــــرحال این امر دلیل کافی کم هزینه بودن این مورد نیست، پس این گزاره در اینجا غلط است.
در مورد گزینهی دوم، برنامه نویس با اینکه کدهای برنامه خود را می داند و جزئیات آن برایش مخفی نیست (عکس سیستم عامل) اما هرگز قادر به پیش بینی زمان نیاز برنامه به بلوکه شدن نیست، وقفه های زیادی داریم که غیرمنتظره و اتفاقی منجر به بلوکه شدن فرآیند می شوند، پس این گزاره غلط است.
در مورد گزینهی سوم و چهارم، همانطور که که متن بالا اشاره شد، دقیقا دلایل کم هزینه بودن این روش هستند و به همین خاطر سرعت بالاتری داریم.
از همه دوستانی که توی این بحث شرکت کردند تشکر می کنم، انشاالله سوالات بهتر و با کیفیت بیشتری رو شاهد باشیم.
البته به طور ویژه از خانم مسافرکوچولو تشکر می کنم که توضیحات من رو خوند و منظم و با نقل قول جواب دادند
موضوع بسته میشه اما اگر ابهامی وجود داره پ.خ بدید تا جواب بدم یا اگر لازم شد باز کنم Challenge کنیم.