متشکرم

ساخت وبلاگ

در یافتن یادداشت ها برای برنامه درسی خود مشکل دارید؟

  • اجازه بدهید برایتان انجامش دهیم
  • کاری که شما باید انجام دهید این است که فقط این جزئیات را پر کرده و برنامه درسی موضوع خود را ارسال کنید
  • ما یادداشت ها را برای شما ارسال خواهیم کرد

آیا می خواهید مقداری پول نقد کسب کنید؟مرا کلیک کن.

شما سوالی دارید؟سپس ما خوشحال خواهیم شد که به شما کمک کنیم

 

سیستم عامل - سیستم عامل

  • فهرست سیستم عامل
  • آخرین مقالات
  • پربیننده ترین
  • موضوعات محبوب

معاملات اتمی

معاملات اتمی

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

به عنوان مثال انتقال وجوه است که در آن یک حساب بدهی و دیگری اعتبار می یابد. بدیهی است ، برای سازگاری داده ها ضروری است که هم اعتبار و هم بدهی رخ می دهد یا هیچ یک از آنها رخ نمی دهد. قوام داده ها ، همراه با ذخیره و بازیابی داده ها ، نگرانی است که اغلب با سیستم های پایگاه داده همراه است. به تازگی ، مورد توجه استفاده از تکنیک های سیستم های پایگاه داده در سیستم عامل ها قرار گرفته است.

سیستم عامل ها را می توان به عنوان دست سازنده داده ها مشاهده کرد. به همین ترتیب ، آنها می توانند از تکنیک ها و مدلهای پیشرفته موجود از تحقیقات پایگاه داده بهره مند شوند. به عنوان مثال ، بسیاری از تکنیک های موقت مورد استفاده در سیستم عامل ها برای مدیریت پرونده ها می توانند انعطاف پذیرتر و قدرتمندتر باشند اگر از روشهای رسمی پایگاه داده تر در جای خود استفاده شود. در بخش های 6. 9. 2 تا 6. 9. 4 ، ما برخی از این تکنیک های پایگاه داده را شرح می دهیم و توضیح می دهیم که چگونه می توان آنها را توسط سیستم عامل استفاده کرد. با این حال ، اول ، ما با مسئله کلی اتمی معاملات معامله می کنیم. این ویژگی است که تکنیک های پایگاه داده برای پرداختن به آن است.

مدل سیستم

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

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

ما می گوییم که چنین معامله ای به عقب برگشته است. این بخشی از مسئولیت سیستم برای اطمینان از این خاصیت است. برای تعیین اینکه چگونه سیستم باید از اتمی اطمینان حاصل کند ، ابتدا باید ویژگی های دستگاه های مورد استفاده برای ذخیره داده های مختلف دسترسی به معاملات را شناسایی کنیم. انواع مختلفی از رسانه های ذخیره سازی با سرعت ، ظرفیت و مقاومت در برابر عدم موفقیت آنها متمایز می شوند.

• ذخیره سازی فرار. اطلاعات ساکن در ذخیره فرار معمولاً از تصادفات سیستم زنده نمی ماند. نمونه هایی از چنین ذخیره سازی حافظه اصلی و حافظه نهان است. دسترسی به ذخیره فرار بسیار سریع است ، هم به دلیل سرعت دسترسی به حافظه و هم به این دلیل که می توان به طور مستقیم به هر مورد داده در ذخیره فرار دسترسی پیدا کرد.

• ذخیره سازی غیر ولتاژ. اطلاعات ساکن در ذخیره سازی غیر فرار معمولاً از تصادفات سیستم جان سالم به در می برد. نمونه هایی از رسانه ها برای چنین ذخیره سازی دیسک ها و نوارهای مغناطیسی هستند. دیسک ها از حافظه اصلی قابل اطمینان تر هستند اما نسبت به نوارهای مغناطیسی قابل اعتماد تر هستند. با این حال ، هر دو دیسک و نوار در معرض شکست هستند که ممکن است منجر به از بین رفتن اطلاعات شود. در حال حاضر ، ذخیره سازی غیر ولتاژ کندتر از ذخیره فرار توسط چندین سفارش از بزرگی است ، زیرا دستگاه های دیسک و نوار الکترومکانیکی هستند و برای دسترسی به داده ها نیاز به حرکت فیزیکی دارند.

• ذخیره سازی پایدار. اطلاعات ساکن در ذخیره سازی پایدار هرگز از بین نمی رود (هرگز نباید با یک دانه نمک گرفته شود ، زیرا از لحاظ تئوری چنین مطلق نمی تواند تضمین شود). برای اجرای تقریب چنین ذخیره سازی ، ما باید اطلاعات را در چندین ذخیره ذخیره سازی غیر ولتاژ (معمولاً دیسک) با حالت های خرابی مستقل تکرار کنیم و اطلاعات را به صورت کنترل شده به روز کنیم (بخش 12. 8). در اینجا ، ما فقط به اطمینان از اتمی معامله در محیطی که در آن خرابی ها منجر به از دست دادن اطلاعات در زمینه ذخیره بی ثبات می شود ، نگران هستیم.

بازیابی مبتنی بر ورود به سیستم

یکی از راه های اطمینان از اتمی ، ثبت ، در ذخیره سازی پایدار ، اطلاعاتی که کلیه اصلاحات انجام شده توسط معامله را به داده های مختلفی که به آن دسترسی پیدا می کند ، توصیف می کند. پرکاربردترین روش برای دستیابی به این شکل از ضبط ، ورود به سیستم است. در اینجا ، سیستم ، در ذخیره سازی پایدار ، ساختار داده ای به نام log را حفظ می کند. هر رکورد ورود به سیستم یک عملیات واحد از نوشتن معامله را توصیف می کند و زمینه های زیر را دارد:

• نام معامله. نام منحصر به فرد معامله ای که عملیات نوشتن را انجام داده است

• نام مورد داده. نام منحصر به فرد مورد داده نوشته شده

• ارزش قدیمی. مقدار مورد داده قبل از عملکرد نوشتن

مقداری که مورد داده پس از نوشتن سایر سوابق ورود به سیستم دیگر برای ثبت رویدادهای مهم در طول پردازش معامله ، مانند شروع معامله و تعهد یا سقط یک معامله وجود دارد. قبل از معامله t ، اجرای خود را شروع می کند ، سوابق< T, starts>برای ورود به سیستم نوشته شده است. در حین اجرای آن ، هرگونه عملیات نوشتن توسط T ، پیش از نوشتن سابقه جدید مناسب برای ورود به سیستم انجام می شود. وقتی 7/ مرتکب می شود ، رکورد< T, commits>برای ورود به سیستم نوشته شده است. از آنجا که از اطلاعات موجود در سیاهه در بازسازی وضعیت موارد داده دسترسی به معاملات مختلف استفاده می شود ، ما نمی توانیم به روزرسانی واقعی یک مورد داده اجازه دهیم قبل از اینکه سابقه ورود به سیستم مربوطه برای ذخیره سازی پایدار نوشته شود. بنابراین ما نیاز داریم که ، قبل از اجرای یک عملیات نوشتن (x) ، سوابق ورود به سیستم مربوط به X بر روی ذخیره سازی پایدار نوشته شود. به مجازات عملکرد ذاتی در این سیستم توجه داشته باشید. دو نوشتن فیزیکی برای هر نوشتن منطقی درخواست شده لازم است. همچنین ، ذخیره سازی بیشتری لازم است ، هم برای خود داده ها و هم برای ورود به سیستم تغییرات.

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

• UNDOO (TJ) ، که ارزش کلیه داده های به روز شده توسط تراکنش T را به مقادیر قدیمی بازیابی می کند

• redo(Tj), which sets the value of all data updated by transaction T; to the new values The set of data updated by 7> and their respective old and new values can be found in the log. The undo and redo operations must be idempotent (that is, multiple executions must have the same result as does one execution) to guarantee correct behavior, even if a failure occurs during the recovery process. If a transaction 7> aborts, then we can restore the state of the data that it has updated by simply executing undo(7>).

در صورت بروز خرابی سیستم ، ما با مشورت با ورود به سیستم ، وضعیت کلیه داده های به روز شده را بازیابی می کنیم تا مشخص کنیم کدام معاملات نیاز به تغییر مجدد دارند و کدام یک از آنها نیاز به خنثی کردن دارند. این طبقه بندی معاملات به شرح زیر انجام می شود:

• معامله 7 ، اگر ورود به سیستم حاوی آن باشد ، باید خنثی شود< T, starts>ضبط اما حاوی< T-, commits>رکورد.

• معامله T ، اگر ورود به سیستم حاوی هر دو باشد ، باید دوباره تغییر یابد< T, starts>و< 7/ commits>سوابق.

محل بازرسی

هنگامی که یک خرابی سیستم رخ می دهد ، ما باید با ورود به سیستم مشورت کنیم تا معامله هایی را که نیاز به تغییر مجدد دارند و مواردی که نیاز به خنثی کردن دارند ، تعیین کنیم. در اصل ، ما باید کل گزارش را جستجو کنیم تا این تعیین ها انجام شود. دو اشکال اساسی در این رویکرد وجود دارد: 6. 9 معاملات اتمی 225 1. فرآیند جستجو وقت گیر است.»2. بیشتر معاملات که طبق الگوریتم ما نیاز به تغییر مجدد دارند ، قبلاً داده هایی را که ورود به سیستم می گوید برای اصلاح نیاز دارند ، به روز کرده اند. اگرچه بازسازی اصلاحات داده باعث صدمه ای نخواهد شد (به دلیل برخورداری از idempotency) ، با این وجود باعث می شود که بهبودی طولانی تر شود.

برای کاهش این نوع سربار ، مفهوم پاسگاه ها را معرفی می کنیم. در حین اجرای ، سیستم ورود به سیستم نوشتن را حفظ می کند. علاوه بر این ، سیستم به صورت دوره ای پاسگاه هایی را انجام می دهد که نیاز به دنباله زیر از اقدامات دارد:

1. خروجی تمام سوابق ورود به سیستم که در حال حاضر در ذخیره فرار (معمولاً حافظه اصلی) در ذخیره سازی پایدار ساکن هستند.

2. خروجی تمام داده های اصلاح شده ساکن در ذخیره فرار به ذخیره پایدار.

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

در< T, commit s>ضبط قبل از رکورد در ورود به سیستم ظاهر می شود و سپس بعدی را پیدا می کند< Ti start >رکورد. پس از شناسایی TJ Transaction ، عملیات redo و undo فقط برای Transaction TJ و کلیه معاملات TJ که پس از معامله TJ- شروع به اجرای آن کردند ، اعمال می شود. ما این معاملات را با مجموعه T. فراخوانی خواهیم کرد. بنابراین می توان باقیمانده سیاهه را نادیده گرفت.

عملیات بازیابی که مورد نیاز است به شرح زیر است: الف برای کلیه معاملات TJT در T به طوری که ثبت< Tj;- commits>در log ظاهر می شود ، مجدداً redo (t) t) را اجرا کنید.• برای همه معاملات TJ- در T که هیچ وجود ندارد< Ti- commits>ضبط در ورود به سیستم ، اجرای UNDO (به 6. 9. 4 معاملات اتمی همزمان ما در نظر گرفته شده ایم که در آن می توان یک معامله را به طور همزمان اجرا کرد. اکنون به پرونده ای می پردازیم که چندین معاملات همزمان فعال هستند. زیرا هر معاملهاتمی است ، اجرای همزمان معاملات باید معادل مواردی باشد که این معاملات به صورت سریال به ترتیب دلخواه انجام می شود. این ویژگی با نام Serializability می تواند با اجرای هر معامله در 226 فصل 6 همگام سازی یک بخش مهم را حفظ کند. است ، همه معاملات دارای یک semaphore mutex مشترک هستند که به 1 رسیده است.

هنگامی که یک معامله شروع به اجرای آن می کند ، اولین اقدام آن اجرای WA. T (MUTEX) است. پس از انجام معامله یا مرتکب یا سقط جنین ، سیگنال (/؟ z «ta ') را اجرا می کند- اگرچه این طرح باعث می شود اتمی تمام معاملات همزمان انجام شود ، اما با این وجود بسیار محدود کننده است. همانطور که خواهیم دید ، در بسیاری از موارد می توانیم اجازه دهیم معاملات ضمن حفظ سریال پذیری ، اجرای آنها را با هم همپوشانی کنند. تعدادی از الگوریتم های کنترل همزمانی مختلف ، قابلیت سریال را تضمین می کنند. این الگوریتم ها در زیر شرح داده شده است.

قابلیت سلولی

سیستمی را با دو مورد داده ، A و B ، که توسط دو معاملات خوانده شده و نوشته شده است ، در نظر بگیرید. فرض کنید این معاملات به صورت اتمی به منظور دنبال کردن t انجام می شود. این توالی اجرای ، که به آن برنامه گفته می شود ، در شکل 6. 22 نشان داده شده است. در برنامه 1 از شکل 6. 22 ، توالی مراحل دستورالعمل به ترتیب زمانی از بالا به پایین است ، با دستورالعمل ظاهر شدن در ستون سمت چپ و دستورالعمل های T که در ستون سمت راست ظاهر می شود. برنامه ای که در آن هر معامله به صورت اتمی اجرا می شود ، برنامه سریال نامیده می شود. یک برنامه سریال شامل دنباله ای از دستورالعمل های معاملات مختلف است که در آن دستورالعمل های متعلق به یک معامله خاص با هم ظاهر می شوند.

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

Atomic Transactions

برای دیدن این مورد ، ما باید مفهوم عملیات متناقض را تعریف کنیم. برنامه ای را در نظر بگیرید که در آن دو عملیات متوالی O ، و OJ از معاملات T و TJ وجود دارد. ما می گوییم که O ، و OJ در صورت دسترسی به همان مورد داده و حداقل یکی از آنها یک عمل نوشتن است. برای نشان دادن مفهوم عملیات متناقض ، برنامه غیرقانونی 2 شکل 6. 23 را در نظر می گیریم. نوشتن (الف) عملکرد درگیری با عمل (الف) عملکرد TI.

با این حال ، عملکرد نوشتن (الف) t با عملکرد خوانده شده (ب) از آن مغایرت ندارد ، زیرا این دو عملیات به موارد مختلف داده دسترسی دارند. بگذارید OJ و OJ عملیات متوالی یک برنامه S. باشند اگر O و O ؛آیا عملیات معاملات مختلف و O- و OJ در تضاد نیست ، پس می توانیم ترتیب O و 0/ را برای تولید یک برنامه جدید مبادله کنیم. ما انتظار داریم که S معادل S باشد ، زیرا تمام عملیات در هر دو برنامه به جز O و OJ ، و OJ ، که نظم آنها مهم نیست ، به همان ترتیب ظاهر می شوند. ما می توانیم با در نظر گرفتن برنامه 2 از شکل 6. 23 ، ایده مبادله را نشان دهیم.

از آنجایی که عملکرد نوشتن (الف) با عملکرد خواندن (ب) در تضاد نیست ، می توانیم این عملیات را برای تولید یک برنامه معادل تعویض کنیم. صرف نظر از وضعیت سیستم اولیه ، هر دو برنامه وضعیت سیستم نهایی را تولید می کنند. ادامه با این روش مبادله ای از عملیات عدم انعطاف پذیری ، ما دریافت می کنیم:

• عملکرد خواندن (ب) TQ را با عمل (الف) عملیات t تعویض کنید.

• عملکرد نوشتن (ب) را با نوشتن (الف) عملکرد t تغییر دهید.

• عملکرد نوشتن (ب) را با عمل (الف) عملیات t تعویض کنید. نتیجه نهایی این مبادله ها برنامه 1 در شکل 6. 22 است که یک برنامه سریال است. بنابراین ، ما نشان داده ایم که برنامه 2 معادل برنامه سریال است. این نتیجه حاکی از آن است که ، صرف نظر از وضعیت سیستم اولیه ، برنامه 2 همان وضعیت نهایی را تولید می کند که برخی از برنامه های سریال است. اگر یک برنامه S توسط مجموعه ای از مبادلات عملیات غیر متناوب به یک برنامه سریال تبدیل شود ، می گوییم که یک برنامه S سریال قابل تعویض است. بنابراین ، برنامه 2 قابل تعویض است ، زیرا می تواند به برنامه سریال 1 تبدیل شود

پروتکل قفل

یکی از راه های اطمینان از SerialIzability ، ارتباط با هر مورد داده A قفل و نیاز به این است که هر معامله از یک پروتکل قفل پیروی کند که حاکم بر نحوه دستیابی و آزاد شدن قفل ها باشد. حالت های مختلفی وجود دارد که در آن می توان یک مورد داده را قفل کرد. در این بخش ، ما توجه خود را به دو حالت محدود می کنیم: 228 فصل 6 همگام سازی فرآیند

• به اشتراک گذاشته شده است. اگر یک معامله X ، قفل حالت مشترک (مشخص شده توسط S) را در مورد داده q بدست آورده است ، 7] می تواند این مورد را بخواند اما نمی تواند Q را بنویسد

• Exclusive. If a transaction T, has obtained an exclusive-mode lock (denoted by X) on data item Q, then 7> can both read and write Q. We require that every transaction request a lock in an appropriate mode on data item Q, depending on the type of operations it will perform on Q. To access data item Q, transaction 7> must first lock Q in the appropriate mode. If Q is not currently locked, then the lock is granted, and T; can now access it. However, if the data item Q is currently locked by some other transaction, then 7) may have to wait. More specifically, suppose that 7>درخواست قفل انحصاری در Q. در این حالت ، 7] باید منتظر بمانید تا قفل روی Q منتشر شود. اگر T ، درخواست قفل مشترک در Q ، 7) باید صبر کنید که آیا Q در حالت اختصاصی قفل شده است.

در غیر این صورت ، می تواند قفل و دسترسی به Q را بدست آورد. توجه داشته باشید که این طرح کاملاً شبیه به الگوریتم خوانندگان نویسندگان است که در بخش 6. 6. 2 مورد بحث قرار گرفته است. یک معامله ممکن است یک مورد داده را که در یک نقطه قبلی قفل شده است ، باز کند. با این حال ، باید تا زمانی که به آن مورد دسترسی پیدا کند ، قفل روی یک مورد داده را نگه دارد. علاوه بر این ، همیشه یک معامله مطلوب نیست که بلافاصله پس از آخرین دسترسی آن به آن مورد داده ، یک مورد داده را باز کند ، زیرا ممکن است سریال سازی تضمین نشود.

یکی از پروتکل هایی که سریال سازی را تضمین می کند ، پروتکل قفل دو فاز است. این پروتکل مستلزم آن است که هر مسئله معامله در دو مرحله درخواست های قفل و قفل را باز کند:

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

• مرحله کوچک شدن. یک معامله ممکن است قفل ها را آزاد کند اما ممکن است قفل جدیدی به دست نیاورد. در ابتدا ، یک معامله در مرحله رشد است. معامله در صورت لزوم قفل ها را بدست می آورد.

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

پروتکل های مبتنی بر Timestamp

In the locking protocols described above, the order followed by pairs of conflicting transactions is determined at execution time by the first lock that both request and that involves incompatible modes. Another method for determining the serializability order is to select an order in advance. The most common method for doing so is to use a timestamp ordering scheme. With each transaction T, in the system, we associate a unique fixed timestamp, denoted by TS(T/). This timestamp is assigned by the system 6.9 Atomic Transactions 229 before the transaction T, starts execution. If a transaction 7> has been assigned timestamp TS(Tj-), and later a new transaction 7) enters the system, then TS(7>) < TS(Tj). There are two simple methods for implementing this scheme:

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

• از یک پیشخوان منطقی به عنوان Timestamp استفاده کنید. یعنی زمان سنجی معامله با ارزش پیشخوان هنگام ورود معامله به سیستم برابر است. پیشخوان پس از اختصاص زمان بندی جدید افزایش می یابد. جدول زمانی معاملات ترتیب سریال سازی را تعیین می کند. بنابراین ، اگر ts (t ،)< TS(T,), then the system must ensure that the produced schedule is equivalent to a serial schedule in which transaction T, appears before transaction T,. To implement this scheme, we associate with each data item Q two timestamp values:

• W-Timestamp (Q) بزرگترین زمانبندی هر معامله ای را که با موفقیت انجام شده است ، نوشتن (Q) را نشان می دهد.

• R-Timestamp (q) بزرگترین زمانبندی هر معامله ای را که با موفقیت انجام شده است ، نشان می دهد (Q). هر زمان که دستورالعمل جدید خواندن (Q) یا نوشتن (Q) اجرا شود ، این جدول زمانی به روز می شوند. پروتکل سفارش Timestamp تضمین می کند که هرگونه عملیات خواندن و نوشتن متناقض به ترتیب Timestamp انجام شود. این پروتکل به شرح زیر عمل می کند:

• فرض کنید که معامله t ،- شماره های خوانده شده (q): o اگر ts (t ،)< W-timestamp(), then T, needs to read a value of Q that was already overwritten. Hence, the read operation is rejected, and Tj- is rolled back. o If TS(TJ) >W-Timestamp (q) ، سپس عملیات خواندن اجرا می شود ، و R-Timestamp (q) به حداکثر R-Timestamp (q) و ts (t ،) تنظیم می شود.

فارکس وکسب درامد...
ما را در سایت فارکس وکسب درامد دنبال می کنید

برچسب : نویسنده : آرش اصل زاد بازدید : 32 تاريخ : جمعه 11 فروردين 1402 ساعت: 20:45