این سوال مثل اکثر سوال هایی که تو درس سیستم عامل مطرح میشه غلط و چیزی که تو واقعیت هست فرق داره. flush شدن TLB کاملا بسته به سخت افزار داره و سیاست های مختلفی برای این مورد هست. در بعضی پیاده سازیها کلا TLB رو هنگام Context Switch هر بار flush می کنند بعضیها هم نه بعضیها هم Selective عمل می کنند. در x86 وقتی یک Context Switch اتفاق می افته باید Page Table پردازه ای که قراره بهش CPU اختصاص داده بشه آدرسش در ثبات CR3 قرار بگیره و وقتی این اتفاق بیفته TLB هم flush میشه.
به نظر من در این سوال باید فرص کنیم طراح سوال فکر می کرده همیشه Context Switch با flush شدن TLB همراه است. پس تا اینجا گزینه ۱ غلط هست.
در مورد گزینه دوم باید ابهام وجود داره اگه نخ سطح هسته باشه کاملا درست هست ولی اگه نخ سطح کاربر باشه بازه زمانی جدیدی تخصیص پیدا نمی کنه!
گزینه سوم هم غلط هست به این دلیل که اگر قرار باشه TBL با Context Switch بین دو نخ flush بشه باید این دو نخ مربوط به پردازه های مختلفی باشند که در صورت سوال گفته شده هر دو مروبوط به یک فرآیند(غلطه !!!! پردازه صحیح) هستند.
گزینه ۴ هم اشتباه است به این دلیل که گفته در Context Switch بین نخها Registerها تغییر نمی کنند.
جواب سازمان سنجش چی بوده
) ؟!
@narges_R: فقط به کتاب آقای حقیقت اکتفا کردید؟
دوستان پیشنهاد می کنم کتاب آقای Stallings رو بخونید برای کنکور ظاهرا نظر ایشون به نظر طراحاس سوال نزدیک تره