الگوریتم TSL

خلاصه
1397/07/21

الگوریتم TSL نیز مانند الگوریتم Peterson در تمامی شرایط، شروط چهارگانه را رعایت می کند و تنها به دلیل استفاده از انتظار مشغول وقت Cpu را تلف می نماید.

الگوریتم TSL

الگوریتم TSL نیز مانند الگوریتم Peterson در تمامی شرایط، شروط چهارگانه را رعایت می کند و تنها به دلیل استفاده از انتظار مشغول وقت Cpu را تلف می نماید.
نکته: باید دقت داشت علاوه بر اتلاف زمان Cup در روش انتظار مشغول مشکل دیگری که در استفاده از این روش ممکن است رخ دهد مساله ناسازگاری اولویتی است. از روش انتظار مشغول  باعث می شود، نتوان به فرآیندها اولویت اجرا اختصاص داد.
به عنوان مثال فرض کنید که دو فرآیند H و L موجود باشند که H اولویت بالایی دارد به این معنی که هرگاه H آماده اجرا بود باید آن را اجرا نمود و L را اولیت پایینی دارد، یعنی در هنگامی که H آماده اجرا نیست، L اجرا می شود. فرض کنیم Hو L دارای یک منبع مشترک هستند که با استفاده از یکی از روش های مبتنی بر انتظار مشغول محافظت می شوند. فرض کنیم H در هنگامی آماده اجرا می شود که L در ناحیه بحرانی قرار دارد. لذا Cup از L گرفته شده به H داده می شود، H می خواهد وارد ناحیه بحرانی می شود اما چون L در ناحیه بحرانی قرار دارد، در انتظار مشغول ورود به ناحیه بحرانی گیر می کند. از آنجایی که L هیچگاه فرصت نمی یابد از ناحیه بحرانی خارج شود، H برای همیشه در انتظار مشغول باقی می ماند، بنابراین شرط چهارم شروط چهارگانه نقض می گردد. بنابراین استفاده از انتظار مشغول در هنگامی که فرآیندها دارای اولویت هستند ممکن است باعث رخداد مشکل شود.