مسئله خوانندگان و نویسنگان مربوط به فصل همزمانی:انحصار متقابل و همگام سازی کتاب سیستم عاملمیباشد که من در اینجا مسئله نویسندگان اولویت دارند را به کمک سمافورها به زبان جاوا پیاده سازی کرده ام . سمافورها:به عنوان ابزاری برای مشکل ناحیه بحرانی به کار برده میشوند.یک سمافور S ،متغیر صحیحی است که مقدار آن نیز از غیر از آغاز مقدار دهی میتواند فقط با دو عمل اتمی استاندارد Wait یا P و Signal یا V قابل دستیابی و تغییر باشد. سمافور های باینری میتوانند فقط مقدار 0 یا 1 را بپذیرند و سمافور های شمارشی تمام اعداد صحیح و مثبت را میپذیرند. تعاریف کلاسیک Wait و Signal به صورت:
مخصوص اعضای ویژه(vip)
Wait(S) : While(S<=0); S=S-1 , Signal(S): S=S+1
میباشد و دو دستور باید بدون وقفه اجرا شوند .وقتی فرایندی مقدار سمافور را تغییر میدهد ،هیچ فرایند دیگری نمیتواند همان سمافور را عوض کند.مسئله خوانندگان و نویسنگان به صورت زیر تعریف میشود:
پرونده ای وجود دارد که بین تعدادی از فرایندها مشترک است. تعدادی از فرایند ها هستند که از این پرونده فقط میخوانند (خوانندگان) و تعدادی از فرایندها در این پرونده فقط مینویسند(نویسندگان).شرایطی هم لازم است:
- هر تعداد از خوانندگان میتوانند به صورت همزمان پرونده را بخوانند.
- در هر زمان تنها یک فرایند ممکن است در این پرونده بنویسد.
- هنگامی که نویسنده ای در حال نوشتن است هیچ خواننده ای نمیتواند پرونده را بخواند.
دو حالت را برای این مسئله با استفاده از سمافور ها در نظر میگیریم در نظر میگیریم:
- خوانندگان اولویت دارند: در این حالت لازم میدارد که هیچ خواننده ای منتظر نماند،مگر اینکه نویسنده ای قبلا به پرونده دسترسی مجاز داشته باشد.به عبارت دیگر هیچ خواننده ای منتظر خوانندگان دیگر نمی ماند، صرفا به دلیل اینکه نویسنده ای در حال انتظار است.بنابراین نویسندگان ممکن است دچار محرومیت یا قحطی زدگی شوند.
- نویسندگان اولویت دارند: به محض اینکه نویسنده ای آماده شد عمل نوشتن خود را هر چه زودتر انجام دهد به عبارت دیگر اگر نویسنده ای برای دسترسی به پرونده منتظر باشد خوانندگان جدید نباید شروع به خواندن کنند . در این حالت خوانندگان دچار قحطی میشوند.
توجه :کاربر گرامی شما علاوه بر خرید مستقیم همچنین میتوانید این فایل را با خرید اشتراک ماهانه دانلود نمایید پس مشترک ماهانه ی سایت شوید و تا پایان مدت اشتراک از آپدیت ها و فایلهای جدید موجود در سایت بهره مند گردید.
لیست فایلهای اعضای اشتراکی
نام فایل :
مسئله نویسندگان
جمعه, 26 خرداد 771 00:24
حداقل اشتراک | محتویات | زمان ایجاد | حجم فایل | تعداد دانلودها |
یک ماهه (VIP) | برنامه+شماتیک | پنج شنبه, 07 شهریور 1392 22:46 | 12.95 KB | 0 |
تنها کاربران عضو یا دارای مجوز میتوانند دانلود نمایند |
توضیحات :