آگهی
دانلود قسمت چهارم سریال آشوب عکس فیلم بازیگرها

تازه ترین فیلم ها و سریال ها

آرشیو فیلم ها
به کانال تلگرام کول دانلود بپیوندید!

دانلود قسمت دوم سریال عالیجناب

سمافور‏ (Semaphore) چیست ؟

سه شنبه 19 فروردين 1393 فیلم خوره کامپیوتر و IT , 2131 بازدید

 

نشانبر یا سمافور‏ به متغییری گفته می‌شود که در محیط‌های همروند برای کنترل دسترسی فرایندها به منابع مشترک به کار می‌رود. سمافور می‌تواند به دو صورت دودویی که تنها دو مقدار صحیح و غلط را دارا است و یا شمارنده اعداد صحیح باشد. از سمافور برای جلوگیری از ایجاد وضعیت رقابتی میان فرایندها استفاده می‌گردد. به این ترتیب، اطمینان حاصل می‌شود که در هر لحظه تنها یک فرایند به منبع مشترک دسترسی دارد و می‌تواند از آن بخواند یا بنویسد.

 

سمافورها اولین بار به‌وسیلهٔ دانشمند علوم رایانه هلندی، ادسخر دیکسترا معرفی شدند و امروزه به طور گسترده‌ای در سیستم عامل‌ها مورد استفاده قرار می‌گیرند.


فرض کنید کتابخانه‌ای ۱۰ اتاق مطالعه یکسان دارد. برای جلوگیری از مجادله و نزاع، دانشجویانی که قصد مطالعه دارند‍، باید اتاقی را از یک پیشخوان درخواست دهند. وقتی که یک دانشجو مطالعه‌اش تمام شد و خواست اتاق را تحویل دهد، باید مجدداً به پیشخوان برگردد و نشان دهد که دیگر به اتاق احتیاج ندارد. اگر هیچ اتاق خالی وجود نداشت و همه اتاق‌ها از قبل اشغال شده بود، دانشجویان باید منتظر بمانند تا یکی از دانشجوها اتاقش را تحویل دهد. سپس دانشجویی که بالاترین اولویت را نسبت به بقیه دارد (مثلاً زودتر از بقیه آمده) می‌تواند اتاق خالی شده را انتخاب کند.

اصل اساسی این است که دو یا چند فرایند می‌توانند به وسیلهٔ سیگنال‌های ساده با یکدیگر همکاری کنند. هر فرایند را می‌توان در نقطهٔ خاصی از اجرا متوقف نموده، و تا رسیدن سیگنال خاصی از اجرای آن جلوگیری نمود. برای ایجاد این اثر، از متغییرهای خاصی به نام سمافور استفاده می‌گردد.


هر فرایندی که بخواهد به منبع مشترک دسترسی داشته باشد، اعمال زیر را انجام خواهد داد:

مقدار سمافور را بررسی می‌کند.

در صورتی که مقدار سمافور مثبت باشد، فرایند می‌تواند از منبع مشترک استفاده کند. در این صورت، فرایند یک واحد از سمافور می‌کاهد تا نشان دهد که یک واحد از منبع مشترک را استفاده نموده است.


در صورتی که مقدار سمافور صفر یا کوچکتر از صفر باشد، فرایند به خواب می‌رود تا زمانی که سمافور مقداری مثبت به خود بگیرد. در این حالت فرایند از خواب بیدار شده و از مرحلهٔ یک شروع می‌کند.


هنگامی که فرایند کار خود را با منبع تمام نمود، یک واحد به سمافور اضافه می‌گردد. هر زمان که مقدار سمافور به صفر و یا بیشتر برسد، یکی از فرایند(هایی) که به خواب رفته به صورت تصادفی یا به روش FIFO توسط سیستم‌عامل بیدار می‌شود. در این حالت بلافاصله فرایند بیدار شده منبع را در دست می‌گیرد و مجدداً پس از اتمام کار یک واحد از سمافور کم می‌شود. اگر مقدار سمافوری صفر باشد و چند فرایند بلوکه شده در آن وجود داشته باشد، با افزایش یک واحدی سمافور، مقدار سمافور همچنان صفر باقی می‌ماند اما یکی از فرایندهای بلوکه شده آزاد می‌شود.

 

 


تلگرام کول دانلود

آگهی

مطالب پیشنهادی

راهنما

> راهنمای دانلود: پس از کلیک بر لینک سرور ، گزینه دانلود عادی و سپس لینک دانلود پیشنهادی

کلیک کنید تا فایل آغاز به دانلود کند. / آموزش تصویری: اپرا

> آموزش چسباندن صوت دوبله به فیلم: در Km Player، کلیک راست کرده، سپس گزینه Open آن گاه

Load External Audio و در پایان فایل صوتی مورد نظر را برگزینید.

> جهت دیدن بدون مشکل فیلم ها، K-Lite (ویندوز) و BSPlayer یا QQPlayer (اندروید) دانلود کنید.

> دیدگاه ها و پیشنهادهای خود را با ما در میان بگذارید. رضایت شما هدف ماست.

> آموزش ادامه دانلود لینک های از کار افتاده

> آموزش سوییچ فایل های دوزبانه

> راهنمای کیفیت فیلم ها

دیدگاه های شما پیرامون این نوشتار:
  • َامیر َامیر می‌گه:
    این دیدگاه در روز 1395/2/20 و 0:18 فرستاده شده.

    منبعشم نوشته بودی خوب بود

  • محمد محمد می‌گه:
    این دیدگاه در روز 1393/9/10 و 20:57 فرستاده شده.

    ممنون . عالی بود .

  • amin amin می‌گه:
    این دیدگاه در روز 1393/1/19 و 17:04 فرستاده شده.

    درامد عالیییییییییی!!!!!!
    فقط یکبار امتحان کنید!!!!!!!!
    ugift.rzb.ir

مایه خرسندی ماست که دیدگاه خود را پیرامون این پست با ما در میان بگذارید.

هر گونه پرسش یا راهنمایی که نیاز دارید را نیز می توانید بیان کنید. به زودی به شما پاسخ خواهیم دید.

شما نیز دیدگاهی برای این نوشتار بفرستید:
نام
ایمیل (منتشر نمی‌شود) (لازم)
وبسایت
:) :( ;) :D ;)) :X :? :P :* =(( :O @};- :B /:) :S
نظر خصوصی
مشخصات شما ذخیره شود ؟ [حذف مشخصات] [شکلک ها]
کد امنیتی
×بستن بنر