مرجع
آخر الزيارات

جزء حرج

309 كلمة•0 مشاهدة•🗒️ منذ 11 ساعة
باختصار: في الحوسبة المتزامنة، يمكن أن يؤدي الوصول المتزامن إلى الموارد المشتركة إلى سلوك غير متوقع أو خطأ، لذلك حيث يتم الوصول إلى الموارد المشتركة من أجزاء البرنامج المحمية. في هذه المقالة 3 أقسام: «العملية A: // العملية A»، «.العملية B: // العملية B» و«الحاجة إلى الأجزاء الحرجة».
المحتويات
  1. العملية A: // العملية A
  2. .العملية B: // العملية B
  3. الحاجة إلى الأجزاء الحرجة

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

العملية A: // العملية A

  • .
  • .
  • b = x+5; // تعليمات تنفذ في الوقت = Tx

.العملية B: // العملية B

ومن جهة أخرى، في حالات مثل هذه، الجزء الحرج هو المهم. في الحالة المذكورة أعلاه، إذا كان يحتاج إلى قراءة القيمة المحدثة 'x'، فإن تنفيذ العملية A والعملية B في نفس الوقت قد لا يعطي النتائج المطلوبة. لمنع هذا، المتغير 'x' محمي من قبل جزء حرج. أولا، B يحصل على الوصول إلى الجزء. وبمجرد الانتهاء من B كتابة القيمة، A يحصل على الوصول إلى القسم الحرج والمتغير 'x' يمكن قراءته. من خلال التحكم بعناية بالمتغيرات التي يتم تعديلها داخل وخارج القسم الحرج، يتم منع الوصول المتزامن إلى المتغير المشترك. ويتم استخدام مقطع حاسم عادة عند برنامج متعدد السلاسل يجب تحديث متغيرات متعددة ذات الصلة دون مؤشر ترابط وانفصال إجراء تغييرات متعارضة على تلك البيانات. وفي حالة ذات صلة، يمكن استخدام قسم حرج لضمان عدم إمكانية الوصول إلى مورد مشترك، مثلًا، طابعة، إلا بواسطة عملية واحدة في كل مرة.

  • .
  • .
  • x = 3+z; // تعليمات تنفذ في الوقت = Tx
  • .

الحاجة إلى الأجزاء الحرجة

وفي هذا الصدد، قد تتكون رموز أو عمليات مختلفة من نفس المتغير أو الموارد الأخرى التي تحتاج إلى قراءة أو كتابة ولكن نتائجها تعتمد على الترتيب الذي تحدث فيه الإجراءات. مثلًا، إذا كان المتغير 'x' يجب قراءته بواسطة العملية A، والعملية B يجب أن تكتب لنفس المتغير 'x' في نفس الوقت، قد تحصل العملية A على القيمة القديمة أو الجديدة 'x'.

ما رأيك في هذه المقالة؟

📝 هل في هذه المقالة خطأ؟

إذا وجدت معلومة تحتاج تصحيحاً أو إضافة، أو أردت حذف المقالة، أرسل لنا طلباً وسنراجعه.