اختبار التكرار الدوري

من أرابيكا، الموسوعة الحرة
اذهب إلى التنقل اذهب إلى البحث

اختبار التكرار الدوري أو فحص الفائض الدوري (بالإنجليزية: Cyclic Redundancy Check)‏ أو اختصارا CRC هي طريقة تستعمل في علم الحاسوب للتثبت من صحة أو كمال البرامج أو البيانات.[1][2][3] يتم استعمال هذه الطريقة مثلا للتأكد من أن برنامجاً ما قد تم تحميله بطريقة صحيحة على آلة ما ولم يحدث تغيير للبرنامج عند التحميل أي للتأكد من تطابق الأصل والنسخة المحملة مثلاً.

تحرير اختبار التكرار الدوري يستخدم عند إرسال ملف من مرسل إلى مستقبل وهو يساعد على التدقيق بأن جميع البيانات التي أرسلت من المرسل هي نفسها ما إلى المستقبل بدون نقصان أو خطأ أي جزء منها. يمكن أيضًا تصحيح الأخطاء المكتشفة في المستقبل بحيث يُسترجع الكود الأصلي.

مثال

cyclic reduncandy 1

يقوم المرسل بإرسال الكود على شكل اقتران كثير الحدود التالية:

P(x)=x7+x5+x+1

الكود المرسل هو 10100011 والمنشأ عن طريق كثيرة الحدود السابقة.

وتستخدم عدد من بتات مساعدة تسمى (CRC bits) أيضا على شكل كثيرة الحدود

P(x)=x4+x3+1

الكود المساعد (المنشأ عن طريق كثيرة الحدود السابقة) هو 11001

يتم إضافة عدد معين من الأصفار على الكود المرسل عددها نفس عدد كثيرة الحدود للبت المساعدة.بعدها عن طريق باقي القسمة على 2 مع CRC أو (mod 2)، يتم إضافة الباقي (Rest) في الكود المرسل ويتم ارسالها إلى المستقبل. في المستقبل يتم من خلال قسمة الكود المرسل على الكود CRC معرفة إذا ما كان هناك خلل بالأرسال أم لا، وإذا كان باقي القسمة صفر فهذا يدل ان الكود المرسل لم يحصل به اخطاء.

cyclic reduncandy 2

المصادر

  1. ^ Press، WH؛ Teukolsky، SA؛ Vetterling، WT؛ Flannery، BP (2007). "Section 22.4 Cyclic Redundancy and Other Checksums". Numerical Recipes: The Art of Scientific Computing (ط. 3rd). New York: Cambridge University Press. ISBN:978-0-521-88068-8. مؤرشف من الأصل في 2011-08-11. اطلع عليه بتاريخ 2017-12-17.
  2. ^ ETSI TS 100 909version 8.9.0 (January 2005), Section 4.1.2 a نسخة محفوظة 13 يونيو 2018 على موقع واي باك مشين.
  3. ^ "5.1.1.8 Cyclic Redundancy Check field (CRC-8 / CRC-16)". openSAFETY Safety Profile Specification: EPSG Working Draft Proposal 304. 1.4.0. Berlin: Ethernet POWERLINK Standardisation Group. 13 مارس 2013. ص. 42. مؤرشف من الأصل في 2017-08-12. اطلع عليه بتاريخ 2016-07-22.