۰
subtitle
ارسال: #۱
حل مسئله انحصار متقابل با استفاده از سمافور ها (صفحه ۲۰۲ پارسه پاراگراف سه)
دانشمندان عزیز سلام 
دوستان من با این قسمت یک مشکلی دارم اول فکر کردم مفهوم سمافور رو خوب متوجه شدم اما الان یکم تو انحصار متقابل مشکل ایجاد شده برام. تو این قسمت اومده جواب سوال اینکه چند تا سمافور برای حل مسئله انحصار متقابل کافی هست رو بیان کرده
تو پاراگراف سوم میگه که :
مثلا به ازاء هر فرایند یک سمافور اگر داشته باشیم یعنی s1,s2,s3,..... بعد اگر یکی از فرایند های ما قبل از ورود به ناحیه بحرانی با اجرای down(si)l مثلا بلوکه بشه چطور فرایند درون ناحیه بحرانی میتونه بعد از خروج از ناحیه بحرانیش با اجرای up(sj بیدارش کنه؟ این کار امکان زیر نیست مگر اینکه i=j باشه
حالا مشکل اول اینکه با فرض اینکه هر فرایند داخل یک سمافور هست اگر هم حتی i=j باشه نمیشه بیدار کنه چون خودش که نمیتونه بلوکه باشه و تو ناحیه بحرانی هم باشه.
مشکل دوم و اصلی اینکه چرا نمیتونه بیدارش کنه؟ یعنی ما نمیتونیم هر فرایند رو بیدار کنیم از تو یک سمافوری که میخواهیم؟

دوستان من با این قسمت یک مشکلی دارم اول فکر کردم مفهوم سمافور رو خوب متوجه شدم اما الان یکم تو انحصار متقابل مشکل ایجاد شده برام. تو این قسمت اومده جواب سوال اینکه چند تا سمافور برای حل مسئله انحصار متقابل کافی هست رو بیان کرده
تو پاراگراف سوم میگه که :
مثلا به ازاء هر فرایند یک سمافور اگر داشته باشیم یعنی s1,s2,s3,..... بعد اگر یکی از فرایند های ما قبل از ورود به ناحیه بحرانی با اجرای down(si)l مثلا بلوکه بشه چطور فرایند درون ناحیه بحرانی میتونه بعد از خروج از ناحیه بحرانیش با اجرای up(sj بیدارش کنه؟ این کار امکان زیر نیست مگر اینکه i=j باشه
حالا مشکل اول اینکه با فرض اینکه هر فرایند داخل یک سمافور هست اگر هم حتی i=j باشه نمیشه بیدار کنه چون خودش که نمیتونه بلوکه باشه و تو ناحیه بحرانی هم باشه.
مشکل دوم و اصلی اینکه چرا نمیتونه بیدارش کنه؟ یعنی ما نمیتونیم هر فرایند رو بیدار کنیم از تو یک سمافوری که میخواهیم؟