زمان کنونی: ۰۳ آذر ۱۴۰۳, ۰۷:۲۷ ق.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن می‌توانید عضو شوید.
گزینه‌های شما (ورودثبت نام)

سمافور

ارسال:
  

mammad_asir پرسیده:

سمافور

این قسمت رو به ما درس ندادن و من با یه دور خوندن پارسه گیج شدم آیا ویس یا چیزی واسه فقط این قسمت هست؟

۳
ارسال:
  

foranyone پاسخ داده:

سمافور

سمافور خیلی سادست

شما سمافور رو یک متغیر در نظر بگیرید ولی این متغیر یکم با بقیه متغیرها فرق داره

اول اینکه میشه با تابع wait یا Down یا ... یک مقدار از این متغیر رو کم کرد حالا چون این متغیر جزو امکانات خود OS هست

اگر مقدارش در اثر کم شدن منفی شدن فرآیند بلوکه میشه دقت کنید که به حلقه انتظار مشغولی نمیره فقط بلوکه میشه

تا بعدا بیدارش کنند.

دوم اینکه میشه با تابع signal یا Up یک مقدار به این متغیر اضافه کرد حال اگر نتیجه مثبت نشد (کوچکتر مساوی صفر شد)

یک فرآیند خوابالو رو باید از خواب بیدار کنیم منفی یا صفر بودم سمافور نشون میده که احتمالا فرآیند بلوکه شده داریم (البته به مقدار اولیه سمافور بستگی داره)

و سوم اینکه میشه مقداردهی اولیه کرد این متغیر رو:
اگر میخوایم شرط انحصار متقابل رو رعایت کنیم مقدار سمافور همیشه یک میشه و کافیه قبل از ورود به ناحیه بحرانی wait
و بعد از خروج signal رو اجرا کنیم به همین راحتی انحصار متقابل تامین میشه

اگر میخواهیم همگام سازی کنیم مثلا همیشه تابع یک اجرا بشه بعد تابع دوم (تابع دوم از خروجی تابع یک قراره استفاده کنه)
در این حالت معمولا مقدار اولیه رو صفر تعریف می کنیم

نکته مهم: مقدار دهی اولیه سمافور بشتر به ماهیت مسئله بستگی داره
یک مسئله ممکنه یه سمافور لازم داشته باشه و یکی دیگه ۳تا سمافور
برای مثال در مسئله بافر محدود ۳ تا سمافور داریم یکی برای انحصار متقابل با مقدار اولیه یک
و سافور های empity و full با مقدارهای اولیه n و صفر.

این توضیحات اون مطالبی بود که از کتاب موسوی خاطرم بود Big Grin امیدوارم مفید باشهBlush

۰
ارسال:
  

esi پاسخ داده:

سمافور

این قسمت به طور دقیق تو استالینگز توضیح داده شده است که می تونید از این منبع بخونید

۰
ارسال:
  

csharpisatechnology پاسخ داده:

سمافور

بد نیست این تست سمافور رو هم ببینید :

مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
Exclamation سوال از سمافور mary1234 ۱ ۲,۴۹۱ ۰۶ آذر ۱۳۹۷ ۰۷:۳۱ ب.ظ
آخرین ارسال: fatemehshiravani1998
  تحلیل کدنویسی(سمافور) diiimah ۰ ۱,۵۷۹ ۱۵ اردیبهشت ۱۳۹۷ ۰۱:۱۳ ب.ظ
آخرین ارسال: diiimah
  سمافور IT94 Hopegod ۴ ۳,۴۲۰ ۰۳ اردیبهشت ۱۳۹۶ ۱۱:۵۷ ب.ظ
آخرین ارسال: *tarannom*
  سمافور *tarannom* ۷ ۴,۸۹۶ ۱۸ فروردین ۱۳۹۶ ۰۲:۲۴ ب.ظ
آخرین ارسال: *tarannom*
  تعریف کلی سمافور alireza01 ۳ ۴,۷۵۱ ۰۳ بهمن ۱۳۹۵ ۰۲:۳۴ ب.ظ
آخرین ارسال: Saman
  سمافور ، کارشناسی ارشد کامپیوتر سراسری ۷۶ joyebright ۴ ۳,۷۳۰ ۰۳ آبان ۱۳۹۴ ۱۱:۳۱ ب.ظ
آخرین ارسال: محمد رعیت
  نمونه سوال های مفهومی از مبحث سمافور Emadsmart ۴ ۶,۹۱۲ ۳۰ فروردین ۱۳۹۴ ۰۲:۵۴ ب.ظ
آخرین ارسال: Sadi_gh
  حل مسئله انحصار متقابل با استفاده از سمافور ها (صفحه ۲۰۲ پارسه پاراگراف سه) m-kafiyan ۱۰ ۹,۳۴۲ ۰۷ آبان ۱۳۹۳ ۰۶:۵۲ ب.ظ
آخرین ارسال: m-kafiyan
  سوال در مورد سمافورها s.h5102 ۲ ۱,۹۸۹ ۰۶ آبان ۱۳۹۳ ۰۲:۰۱ ب.ظ
آخرین ارسال: s.h5102
  سمافور و انحصار متقابل - فضاپیمای راهیاب کنکور ۹۱ hosshah ۴ ۳,۹۲۸ ۲۳ بهمن ۱۳۹۲ ۰۴:۴۳ ب.ظ
آخرین ارسال: hosshah

پرش به انجمن:

Can I see some ID?

به خاطر سپاری رمز Cancel

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close

رمزت رو فراموش کردی؟

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. close