ما هو التحكم في الوظائف؟

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

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

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

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

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