هانغ (الحوسبة)

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

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

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

يختلف التعليق عن الانهيار ، حيث يكون الفشل فوريًا وغير مرتبط باستجابة المدخلات.

تعدد المهام

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

على النقيض من ذلك، تستخدم أنظمة التشغيل الحديثة في المقام الأول تعدد المهام الاستباقي ، مثل ويندوز 2000 والإصدارات اللاحقة، بالإضافة إلى لينكس وماك أو إس من شركة آبل . في هذه الحالات، لا يؤدي تعطل أحد الخيوط بالضرورة إلى توقف النظام، حيث يقوم نظام التشغيل بإيقافه مؤقتًا عند انتهاء مدة تنفيذه، مما يسمح بتشغيل خيط آخر. إذا تعطل خيط ما، فقد ينتقل المجدول إلى مجموعة أخرى من المهام المترابطة حتى لا تتوقف جميع العمليات. [ 1 ] ومع ذلك، سيظل الخيط المتعطل يستهلك موارد النظام: على الأقل مدخلًا في جدولة المهام، وإذا كان قيد التشغيل (على سبيل المثال، عالقًا في حلقة لا نهائية)، فسيستهلك دورات المعالج والطاقة عند جدولة تنفيذه، مما يبطئ النظام وإن لم يتسبب في توقفه.

مع ذلك، حتى مع تعدد المهام الاستباقي، قد يتعطل النظام، وقد تتسبب مهمة معيبة أو خبيثة في تعطله، وذلك أساسًا عن طريق احتكار مورد آخر، مثل عمليات الإدخال/الإخراج أو الذاكرة، على الرغم من عدم إمكانية احتكار وقت المعالج. على سبيل المثال، غالبًا ما تتسبب عملية تعيق نظام الملفات في تعطل النظام.

قد يؤدي تحريك نافذة فوق برنامج معلق أثناء التعليق إلى ظهور أثر للنافذة نتيجة إعادة رسمها. [ 2 ]

الأسباب

قد تتسبب بعض مكونات الجهاز في توقف الكمبيوتر عن العمل، إما بسبب عطل متقطع أو بسبب عدم توافقها مع مكونات أخرى في الكمبيوتر [ 3 ] (قد يحدث هذا عند إجراء ترقية ). كما قد تتعطل هذه المكونات بمرور الوقت نتيجة تراكم الأوساخ أو تلفها بسبب الحرارة.

قد يحدث تعليق البرنامج أيضًا بسبب وجود شروط إنهاء غير صحيحة لحلقة تكرارية ، أو في نظام تشغيل متعدد المهام تعاوني ، بسبب نسيان إفساح المجال لمهام أخرى. بعبارة أخرى، ينتج العديد من حالات تعليق البرامج عن انتظار سلاسل العمليات لحدث لن يحدث أبدًا. [ 4 ] يُعرف هذا أيضًا بالحلقة التكرارية اللانهائية .

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

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

الحلول

في كثير من الحالات قد تبدو البرامج وكأنها متوقفة، لكنها في الواقع تحرز تقدماً بطيئاً، والانتظار لبضع دقائق سيسمح بإكمال المهمة.

توفر أنظمة التشغيل الحديثة آلية لإنهاء العمليات المتوقفة، على سبيل المثال، باستخدام أمر kill في نظام يونكس ، أو عبر واجهة رسومية مثل زر "إنهاء المهمة" في مدير المهام في نظام ويندوز (حدد العملية المطلوبة من القائمة واضغط على "إنهاء المهمة"). أما الأنظمة القديمة، مثل تلك التي تعمل بنظام MS-DOS ، أو الإصدارات الأولى من ويندوز، أو نظام ماك الكلاسيكي، فكانت تتطلب في كثير من الأحيان إعادة تشغيل كاملة في حالة توقفها عن العمل.

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

انظر أيضاً

ملحوظات

  1. يُضيف نظام ويندوز النص " (لا يستجيب) " إلى عنوان النافذة. ومنذ ويندوز فيستا ، يصبح محتوى النافذة رماديًا عند محاولة المستخدم التفاعل معه، لتوضيح أن البرنامج لا يستجيب.

مراجع

  1. براءة الاختراع الأمريكية رقم 6052707 ، ديسوزا، ديفيد، "تعدد المهام الاستباقي مع مجموعات المهام التعاونية"، نُشرت في 21 يونيو 1996، وصدرت في 18 أبريل 2000 
  2. "الحنين إلى الماضي: سحب مربع حوار خطأ ويندوز إكس بي" . مؤرشف من الأصل بتاريخ 19 يناير 2022. تم الاطلاع عليه بتاريخ 19 يناير 2022 .
  3. "كيفية حل مشكلة تعليق الكمبيوتر أثناء اكتشاف الأجهزة" . دعم مايكروسوفت. 27 يناير 2007. مؤرشف من الأصل في 14 مارس 2016. تم الاطلاع عليه في 13 أبريل 2018 .
  4. كالفن هسيا (15 نوفمبر 2006). "إليك حلقة لا نهائية ستؤدي إلى توقف جهازك عن العمل" . مدونات مايكروسوفت . مؤرشف من الأصل في 14 أبريل 2018. تم الاطلاع عليه في 13 أبريل 2018 .