اطلاعیه

Collapse
No announcement yet.

mutex

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    mutex

    میشه مفهوم mutex و اگه کسی میدونه توضیح بده؟ ممنون

    #2
    پاسخ : mutex

    میشه بگی اینو از کجا آوردی؟ تا حالا ندیدم تو کف موندم این چیه؟!!!

    دیدگاه


      #3
      پاسخ : mutex

      ... mutual exclusion ...

      دیدگاه


        #4
        پاسخ : mutex

        نوشته اصلی توسط negin-bahadori
        میشه مفهوم mutex و اگه کسی میدونه توضیح بده؟ ممنون
        موتکس و سمافور باعث میشن اگر یک تسک نیاز به یه ریسورس خاص داشت بررسی کنه که آیا اون منبع قابل دسترسی هست یا نه!
        مثال کتابخونه رو میزنم. فرض کن یه کتابخونه داریم که 3 تا جای خوندن کتاب داریم.هر نفر که وارد کتابخونه میشه یکی از اون جاها رو پر میکنه و مسئول کتابخونه از فضا های ممکن یکی رو کم میکنه. وقتی 3 نفر داخل هستند و نفر 4 ام تقاضا میکنه مسئول کتابخونه میبینه که جایی نداره که اختصاص بده پس به نفر 4 ام میگه صبر کن. وقتی یک نفر کتابخونه رو ترک میکنه مسئول کتابخونه یکی به حاهای خالی اضافه میکنه. حالا نفر چهارم میتونه بره توی کتابخونه.
        توی تسک ها هم این داستان ها هست.سمافور کارش مثل مسئول کتابخونه هست.یعنی حواسش به تعداد هست اما در عوض موتکس فقط میگه منبع قابل استفاده هست یا نه! برای ریسورس هایی که تعدادی ازشون داریم از سمافور استفاده میکنیم و برای ریسورس هایی که تکی هستند از موتکس.
        این یه خلاصه بود فقط برای اینکه بدونید قضیه این ها چیه. توضیحات کامل رو از اینجا بخونید که خیلی خوب توضیح داده شده»
        http://www.eca.ir/forum2/index.php?topic=49501.75
        از پست 78 به بعداین 2 تا موجود رو بررسی کردند :mrgreen:
        [img width=477 height=100]http://www.eca.ir/pic/upload/agazade.png[/img]

        دیدگاه


          #5
          پاسخ : mutex

          wow...مرسی از توضیح و مثال قشنگتون..پس اینطور که من حدس زدم وقتی یه cpu داریم از mutex و وقتی که چند تا داریم از semaphore استفاده میکنیم ..درسته؟
          منظورتون از resource همون cpu بود ؟

          دیدگاه


            #6
            پاسخ : mutex

            نوشته اصلی توسط negin-bahadori
            wow...مرسی از توضیح و مثال قشنگتون..پس اینطور که من حدس زدم وقتی یه cpu داریم از mutex و وقتی که چند تا داریم از semaphore استفاده میکنیم ..درسته؟
            منظورتون از resource همون cpu بود ؟
            نه نه!!!
            ریسورس هر چیزی میتونه باشه! مثلا رابطی که با اون میتونید به حافظه دسترسی داشته باشید و یا رابط spi , i2c , تایمر و....
            مساله مهم این هست که هر قسمتی , اگر بخشی از برنامه اون رو اشغال کرده و دیگر بخش های برنامه در زمان اشغال بودن نباید دسترسی داشته باشند شامل این قضیه میشه. برای مثال ملوس تر رو میشه پورت سریال کامپیوتر گفت.اگر با یه برنامه پورت رو باز کنید, مادامی که اون برنامه در حال اجرا هست(پورت دست اون برنامه هست) اگر برنامه دیگری رو باز کنید که بخواد همون پورت رو باز کنه به شما ارور میده که نمیتونه پورت رو باز کنه که دلیلش همین قضیه هست.
            برای هر چیز (چه قسمت سخت افزاری و چه قسمت های نرم افزاری!) میشه این دو رو تعریف کرد. شما مساله امکان دسترسی همزمان 2 بخش رو بررسی کنید. اگر محدودیتی بود باید با این 2 تا (که چیز پیچیده ای هم نیستند و فقط یک فلگ هستند) دسترسی رو مدیریت کنید.
            [img width=477 height=100]http://www.eca.ir/pic/upload/agazade.png[/img]

            دیدگاه

            لطفا صبر کنید...
            X