کنترل همروندی

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری, جستجو

کنترل همروندی [۱] در علوم رایانه به خصوص در مبحث برنامه‌نویسی (برنامه‌نویسی همروند، برنامه‌نویسی موازیسیستم‌عامل (رایانش موازیچندپردازها و پایگاه داده تضمین می‌کند که دستورهای همروند منجر به نتایج درست شوند و روش‌هایی که با به‌کارگیری آن‌ها این نتایج درست را در کوتاه‌ترین زمان ممکن به‌دست آورد.

محتویات

[ویرایش] کنترل همروندی خوشبینانه

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

۱. خواندن

فرض کنید که فردی در خانه نشسته است و می‌خواهد یک صفحه از ویکی‌پدیا را ویرایش کند. فرد مزبور ابتدا بر دکمه ویرایش می‌فشارد و تغییرات مورد نظر خود را انجام می‌دهد. این تغییرات در کاشه رایانه قرار دارد. سپس با فشردن دکمه «ذخیره شود» متن ویرایش به سرور ویکی‌پدیا فرستاده می‌شود.

۲.تایید

در سرور نرم‌افزار مدیاویکی بررسی می‌کند که آیا ویرایش شما با ویرایش دیگران درگیری دارد یا نه. اگر درگیری وجود داشت الگوریتمی مورد استفاده قرار می‌گیرد تا درگیری را برطرف سازد. یک راه برای رفع درگیری این است که ویرایش نخست در پایگاه داده ذخیره شود و ویرایش‌های درگیر دیگر با فرستادن پیامی برای کاربران موردنظر نادیده انگاشته شود. راه دیگر این است که آن بخش‌هایی از ویرایش کاربران دیگر که درگیری ندارند نیز ذخیره شوند.

۳.نوشتن

اگر درگیری وجود نداشت تراکنش انجام می‌شود.

نمونه این نوع کنترل نرم‌افزار مدیاویکی است. الگوریتم کنترل آن در این‌جا توصیف شده است. نمونه دیگر باگزیلا است (این‌جا).

[ویرایش] کنترل همروندی بدبینانه

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

[ویرایش] پروتوکل‌ها

[ویرایش] ۱. قفل‌گذاری

قفل‌گذاری روش بدبینانه کنترل همروندی است. بقیه روش‌ها خوشبینانه هستند. قفل امتیاز دستیابی به یک واحد داده است که توسط سیستم قفل گذاری به یک تراکنش داده می‌شود و یا از او پس گرفته می‌شود .

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

[ویرایش] روش‌های قفل‌گذاری

[ویرایش] ۲. برچسب زمانی

[ویرایش] ۳. تعیین اعتبار

[ویرایش] ۴. دانه‌بندی چندگانه

[ویرایش] ۵. نسخه‌سازی

[ویرایش] مساله بن‌بست

[ویرایش] کابردها

[ویرایش] کنترل همروندی در پایگاه‌های داده

[ویرایش] کنترل همروندی در سیستم‌های عامل

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

[ویرایش] پانویس

  1. کنترل همزمانی هم گفته‌اند

[ویرایش] منابع

ابزارهای شخصی

گویش‌ها
فضاهای نام
عملکردها
گشتن
چاپ/برون‌بری
جعبه‌ابزار
زبان‌های دیگر