نواة نظام التشغيل | القلب المسؤول عن إدارة الحاسوب

مخطط يوضح هيكل نظام التشغيل بثلاث طبقات التطبيقات بالأحمر فوق النواة بالأزرق فوق العتاد الأخضر الذي يشمل المعالج والذاكرة والأجهزة
تربط نواة نظام التشغيل بين البرمجيات والعتاد في الحاسب الآلي

تعريف نواة نظام التشغيل

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

وظائف النواة الرئيسية

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

إدارة الذاكرة

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

إدارة العمليات

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

أنواع النوى

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

النواة الأحادية

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

النواة المصغرة

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

النواة الهجينة

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

نظرة عامة على آلية عمل النواة

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

حيز النواة وحيز المستخدم

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

نداءات النظام

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

المقاطعات وعلاقتها بالنواة

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

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

وحدات النواة القابلة للتحميل

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

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

يستخدم موقعنا ملفات تعريف الارتباط لتعزيز تجربتك. لمعرفة المزيد
Accept !