تالار گفتمان مانشت
سوال در مورد سمافورها - نسخه‌ی قابل چاپ

سوال در مورد سمافورها - s.h5102 - 06 آبان ۱۳۹۳ ۰۸:۵۴ ق.ظ

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

RE: سوال در مورد سمافورها - Aseman7 - 06 آبان ۱۳۹۳ ۰۹:۳۷ ق.ظ

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

RE: سوال در مورد سمافورها - s.h5102 - 06 آبان ۱۳۹۳ ۰۲:۰۱ ب.ظ

(۰۶ آبان ۱۳۹۳ ۰۹:۳۷ ق.ظ)Aseman7 نوشته شده توسط:  سلام
وقتی یک سمافور باینری داشته باشیم و فرآیندی بتونه با down وارد ناحیه بحرانی بشه و بعد به علت مثلا خرابی خارج نشه و نتونه up کنه ؛این جا سیستم عامل وارد عمل می شود و با کشتن فرآیند یا ... وضعیت به حالت عادی بر می گردد.((سمافور اغلب توسط سیستم عامل پشتیبانی می شود و می تواند توسط زبان برنامه سازی نیز پشتیبانی شود)) حالا در صورت پشتیبانی توسط برنامه نویس باید یه حد آستانه در نظر گرفت و اگر مثلاً زمانی که یه فرایند گرفت از یه آستانه تحمل بیشتر شد ، یه واکنشی نشون بده .
آهان. متوجه شدم. پس یعنی چون سمافور توسط خود سیستم عامل پیاده سازی میشه و خود سیستم عامل می تونه متوجه بشه که فرایند خراب شده پس می تونه اون فرایند رو بکشه؟
ه