جدول المحتويات:
التعريف - ماذا يعني خطأ التقسيم (Segfault)؟
خطأ التجزئة (segfault) هو خطأ يتم إرجاعه بواسطة جهاز مزود بحماية ذاكرة يخبر نظام التشغيل بحدوث انتهاك وصول إلى الذاكرة. يتفاعل نظام التشغيل عادةً بإخبار العملية المخالفة بالخطأ من خلال إشارة ثم يقوم نظام التشغيل بإجراء نوع من الإجراءات التصحيحية. يحدث هذا لأن عملية أو برنامج يحاول الوصول إلى الذاكرة غير المخصصة لها.
يُعرف خطأ التجزئة أيضًا بانتهاك وصول.
يشرح Techopedia خطأ التقسيم (Segfault)
غالبًا ما يحدث خطأ تجزيئي بسبب أخطاء في برمجة عملية أو تطبيق يؤدي فيه البرنامج إلى الوصول إلى ذاكرة لم يتم تخصيصها لها ولكن لبرامج أخرى أو للنظام نفسه. لا يُسمح للعملية بلمس الذاكرة غير المخصصة لها ، حيث يجب أن تطلب دائمًا الذاكرة قبل استخدامها. لذلك ، عندما تلمس بطريق الخطأ الذاكرة غير المخصصة لها ، يحدث انتهاك وصول.
يمكن أن يكون سبب Segfults أيضًا وظيفة متكررة ، والتي يمكن أن تستخدم مساحة المكدس المخصصة لها وتتعدى بسرعة على الذاكرة غير المخصصة لها. في بعض الأنظمة ، يعتبر هذا تجاوز سعة مكدس ، ولكن بالنسبة لأنظمة أخرى هو ببساطة نوع من انتهاك الوصول.
يمكن معالجة خطأ تجزئة العملية من خلال معالج إشارة مخصص ، ولكن غالبًا ما يتم استخدام معالج الإشارة الافتراضي لنظام التشغيل ، والذي ينتج عادةً عن إنهاء العملية المخالفة بشكل غير طبيعي ، يسمى التعطل ، أو فرض نظام التشغيل تفريغ أساسي .