۰
subtitle
ارسال: #۱
  
سمافور
بچه ها این گزینه ۲ میشه یا یک. ؟؟؟
اول که ۱۵ تا پشت x میمونه پشت y تو ناحیه a هیچی نیست بعد تو ناحیه b،پنج تاست .بعد اگه این پنج تا یکی یکی اجرا شن آپ x رو رد کنن پنجتا میاد تو ناحیه a, پس الان پشت y,پنج تا گیره که تا آپ yاجرا نشه اینا رد نمیشن. پس چرا زده گزینه ۲
اول که ۱۵ تا پشت x میمونه پشت y تو ناحیه a هیچی نیست بعد تو ناحیه b،پنج تاست .بعد اگه این پنج تا یکی یکی اجرا شن آپ x رو رد کنن پنجتا میاد تو ناحیه a, پس الان پشت y,پنج تا گیره که تا آپ yاجرا نشه اینا رد نمیشن. پس چرا زده گزینه ۲
۰
ارسال: #۲
  
RE: سمافور
(۱۸ فروردین ۱۳۹۶ ۱۰:۵۹ ق.ظ)*tarannom* نوشته شده توسط: بچه ها این گزینه ۲ میشه یا یک. ؟؟؟تا این قسمت از تحلیلتون درسته
اول که ۱۵ تا پشت x میمونه پشت y تو ناحیه a هیچی نیست بعد تو ناحیه b،پنج تاست .بعد اگه این پنج تا یکی یکی اجرا شن آپ x رو رد کنن پنجتا میاد تو ناحیه a,
ولی
(۱۸ فروردین ۱۳۹۶ ۱۰:۵۹ ق.ظ)*tarannom* نوشته شده توسط: پس الان پشت y,پنج تا گیره که تا آپ yاجرا نشه اینا رد نمیشن. پس چرا زده گزینه ۲
این قسمت از تحلیلتون درست نیست چون در این لحظه سمافور y مقدارش صفر نیست و برابر با ۵ هست. به همین دلیل اون ۵ تا پردازه ای که وارد ناحیه A شدن، پشت y منتظر نمی مونن و ازش رد می شن. در نتیجه پشت سمافور y هیچ پردازه ای منتظر نمی مونه و گزینه ۲ درسته
..................................................................................................
توضیحات کامل:
در این تست مقدار اولیه سمافور y برابر با ۱۰ و مقدار اولیه سمافور x برابر با ۵ هست. ۲۰ تا پردازه داریم که قراره قطعه کد مطرح شده در سوال رو اجرا کنن.
در خط اول ، به دلیل اینکه مقدار اولیه سمافور x برابر با ۵ هست، ۵ تا پردازه اول که این خط رو اجرا می کنن، وارد ناحیه A میشن و مقدار سمافور x برابر با صفر میشه . در نتیجه ۱۵ تا پردازه بعدی به دلیل اینکه مقدار سمافور x صفر شده، پشت سمافور x منتظر می مونن.
در خط سوم، ۵ تا پردازه ای که خط اول رو اجرا کرده بودن و وارد ناحیه A شده بودن، به دلیل اینکه مقدار اولیه سمافور y برابر با ۱۰ هست، هر ۵ تا، این خط رو اجرا می کنن و وارد ناحیه B میشن. در نتیجه: ۱)مقدار سمافور y برابر با ۵ میشه ۲) تا اینجا هیچ پردازه ای پشته سمافور y منتظر نمی مونه.
در خط پنجم اون ۵ تا پردازه ای که وارد ناحیه B شدن، با اجرای این خط، ۵ تا از ۱۵ پردازه منتظر پشت سمافور x رو آزاد می کنن. در نتیجه:۱) ۵ تا پردازه جدید وارد ناحیه A میشه .۲) مقدار سمافور x برابر با ۱۰ میشه ۳) ۵ تا پردازه قدیمی وارد ناحیه C میشه.
تا اینجا وضعیت به این صورته که
۱) ۵ پردازه به ناحیه A وارد شده و مقدار سمافور y برابر با ۵ هست. در نتیجه خط سوم رو اجرا می کنن و وارد ناحیه B میشن و مقدار سمافور y صفر میشه و باز هم هیچ پردازه ای پشت سمافور y منتظر نمی مونه.
۲) ۵ پردازه به ناحیه ناحیه C وارد شده و مقدار سمافور x برابر با ۱۰ هست. در نتیجه خط آخر رو اجرا می کنن و مقدار سمافور y برابر با ۵ میشه.
(در این وضعیت پردازه های ناحیه A و پردازه های ناحیه C با هر ترتیبی ممکنه خط بعدشون رو اجرا کنن، مثلا ممکنه اول، دوتا از پردازه های ناحیه A اجرا شه و بعدش ۳ تا از پردازه های ناحیه C و ..... هر ترتیبی که در نظر بگیرید باز هم پشت سمافور y پردازه ای منتظر نمی مونه و در نهایت مقدار این سمافور برابر با ۵ میشه)
بر اساس توضیحات بالا و با بررسی تاریخچه اجرای این کد توسط ۲۰ پردازه، حداکثر تعداد پردازه های منتظر پشت سمافور x، برابر با ۱۵ و حدکثر تعداد پردازه های منتظر پشت سمافور y برابر با صفر هست.
ارسال: #۳
  
RE: سمافور
(۱۸ فروردین ۱۳۹۶ ۰۱:۴۷ ب.ظ)chokolat نوشته شده توسط:یعنی چون مقدار سمافور y 10 هست ،۵ تاش رفته ,۵ تاش مونده وقتی ۵ تا میاد تو ناحیه a این ۵ تا رو رد میکنه؟(18 فروردین ۱۳۹۶ ۱۰:۵۹ ق.ظ)*tarannom* نوشته شده توسط: بچه ها این گزینه ۲ میشه یا یک. ؟؟؟تا این قسمت از تحلیلتون درسته
اول که ۱۵ تا پشت x میمونه پشت y تو ناحیه a هیچی نیست بعد تو ناحیه b،پنج تاست .بعد اگه این پنج تا یکی یکی اجرا شن آپ x رو رد کنن پنجتا میاد تو ناحیه a,
ولی
(۱۸ فروردین ۱۳۹۶ ۱۰:۵۹ ق.ظ)*tarannom* نوشته شده توسط: پس الان پشت y,پنج تا گیره که تا آپ yاجرا نشه اینا رد نمیشن. پس چرا زده گزینه ۲
این قسمت از تحلیلتون درست نیست چون در این لحظه سمافور y مقدارش صفر نیست و برابر با ۵ هست. به همین دلیل اون ۵ تا پردازه ای که وارد ناحیه A شدن، پشت y منتظر نمی مونن و ازش رد می شن. در نتیجه پشت سمافور y هیچ پردازه ای منتظر نمی مونه و گزینه ۲ درسته
اگه سمافور y مقدار اولیش ۵ بود اونوقت اون تحلیل قبلی من درست بود؟
ارسال: #۴
  
RE: سمافور
۰
ارسال: #۵
  
RE: سمافور
من نمیدونم چرا بعضی وقتا مغزمم هنگ میکنه یه چیز به این سادگیو گیر میکنم. مرسی که جواب دادید
متوجه شدم....
متوجه شدم....
ارسال: #۶
  
RE: سمافور
(۱۸ فروردین ۱۳۹۶ ۰۲:۱۶ ب.ظ)*tarannom* نوشته شده توسط: من نمیدونم چرا بعضی وقتا مغزمم هنگ میکنه یه چیز به این سادگیو گیر میکنم. مرسی که جواب دادید
متوجه شدم....
خواهش می کنم
نگران نباشید دوست عزیز مشکل از شما نیست . بعضی از سوالات مثل این ساده هستن ولی ماهیتا غلط انداز طرح می شن که همه نتونن جواب درست رو به راحتی پیدا کنن. تمرکز سر جلسه خیلی مهمه
۰
ارسال: #۷
  
RE: سمافور
سلام؛
سپاس بابت پاسخگویی اگر فرصت کردید ممنون میشم سوال رو با توضیحات کامل بنویسید برای مراجعه کاربران بعدی؛ که این سوالم در ردیف سوال درست قرار دهیم
باز هم ممنون
سپاس بابت پاسخگویی اگر فرصت کردید ممنون میشم سوال رو با توضیحات کامل بنویسید برای مراجعه کاربران بعدی؛ که این سوالم در ردیف سوال درست قرار دهیم
باز هم ممنون
ارسال: #۸
  
RE: سمافور
(۱۸ فروردین ۱۳۹۶ ۰۲:۲۰ ب.ظ)samanbeigmiri نوشته شده توسط: سلام؛
سپاس بابت پاسخگویی اگر فرصت کردید ممنون میشم سوال رو با توضیحات کامل بنویسید برای مراجعه کاربران بعدی؛ که این سوالم در ردیف سوال درست قرار دهیم
باز هم ممنون
الان من باید کاری کنم یا خانم شکلات؟!
(۱۸ فروردین ۱۳۹۶ ۰۲:۲۴ ب.ظ)chokolat نوشته شده توسط:(18 فروردین ۱۳۹۶ ۰۲:۱۶ ب.ظ)*tarannom* نوشته شده توسط: من نمیدونم چرا بعضی وقتا مغزمم هنگ میکنه یه چیز به این سادگیو گیر میکنم. مرسی که جواب دادید
متوجه شدم....
خواهش می کنم
نگران نباشید دوست عزیز مشکل از شما نیست . بعضی از سوالات مثل این ساده هستن ولی ماهیتا غلط انداز طرح می شن که همه نتونن جواب درست رو به راحتی پیدا کنن. تمرکز سر جلسه خیلی مهمه
اره دقیییا موافقم . امیدوارم سرجلسه بتونم تمرکز کنم...
Can I see some ID?
Feeling left out?
نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close