مهام الكيرنل و نظام التشغيل

مهام الكيرنل (نظام التشغيل) و وظائفه

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


مهام نواة الكيرنل (نظام التشغيل):

مهام الكيرنل تختلف باختلاف نوع نظام التشغيل وبنية الكيرنل نفسه. في بعض أنظمة التشغيل، يمكن أن تتم إدارة تعدد المهام وإدارة الموارد في نفس الوقت. ولكن بشكل عام، يمكن تقسيم مهام الكيرنل إلى أربع فئات رئيسية:

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


فيما يلي شرح أكثر تفصيلاً لكل فئة من فئات مهام الكيرنل:

1- إدارة الموارد (الحوسبة)

في برمجة الكمبيوتر، تشير إدارة الموارد إلى تقنيات إدارة الموارد (المكونات ذات التوفر المحدود).

قد تدير برامج الكمبيوتر مواردها الخاصة أي باستخدام الميزات التي تكشفها لغات البرمجة، أو قد تختار إدارتها بواسطة مضيف - نظام تشغيل أو الجهاز الظاهري (virtual machine) أي الجهاز الحامل للأنظمة – أو برنامج آخر.

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


التحكم في الوصول

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



تتكون إدارة الموارد (منع تسرب الموارد) من ضمان تحرير المورد إذا تم الحصول عليه بنجاح.

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


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

في أنظمة التشغيل، إدارة الذاكرة هي الوظيفة المسؤولة عن إدارة الذاكرة الأساسية للكمبيوتر

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


وهذا يختلف عن إدارة ذاكرة التطبيق، وهي الطريقة التي تدير بها العملية الذاكرة المخصصة لها بواسطة نظام التشغيل.

إدارة الذاكرة في الكيرنل هي عملية تسمح للعمليات بالوصول إلى الذاكرة بأمان وفعالية. تتضمن هذه العملية مهام مثل:

  1. تخصيص الذاكرة للعمليات: تتضمن هذه المهمة تحديد مقدار الذاكرة التي تحتاجها العملية وتوفيرها لها.
  2. تحرير الذاكرة من العمليات: تتضمن هذه المهمة إعادة الذاكرة التي لم تعد تستخدمها العملية إلى نظام التشغيل.
  3. حماية الذاكرة من التداخل: تتضمن هذه المهمة ضمان أن لا تستطيع العمليات الوصول إلى الذاكرة التي لا تملكها.


تستخدم إدارة الذاكرة في الكيرنل آليات لأداء هذه المهام. تشمل هذه الآليات ما يلي:

  1. عناوين الذاكرة الافتراضية: تسمح عناوين الذاكرة الافتراضية للعمليات بالوصول إلى الذاكرة بغض النظر عن مكان تخزينها في الذاكرة الفعلية.
  2. وحدة إدارة الذاكرة (MMU): تترجم وحدة إدارة الذاكرة (MMU) عناوين الذاكرة الافتراضية إلى عناوين الذاكرة الفعلية.


فيما يلي شرح مفصل لآليات ومهام إدارة الذاكرة في الكيرنل:

  1. الذاكرة الافتراضية

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

تتكون عناوين الذاكرة الافتراضية من 32 أو 64 بت. تحدد البتات الأكثر أهمية من عنوان الذاكرة الافتراضية مساحة الذاكرة التي تنتمي إليها العملية. تحدد البتات الأقل أهمية من عنوان الذاكرة الافتراضية موقع الذاكرة داخل مساحة الذاكرة.


2. وحدة إدارة الذاكرة (MMU)

وحدة إدارة الذاكرة (MMU) هي جزء من وحدة المعالجة المركزية (CPU) مسؤولة عن ترجمة عناوين الذاكرة الافتراضية إلى عناوين الذاكرة الفعلية. تسمح وحدة إدارة الذاكرة للعمليات بالوصول إلى الذاكرة بغض النظر عن مكان تخزينها في الذاكرة الفعلية.

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


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

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

أيضا يمكن تعريف إدارة المعالجات باسم إدارة المعالجة، وهي عملية تخصيص الموارد الحاسوبية للعمليات، يمكنك الاطلاع على عملية (حوسبة) Process (computing).


يقوم نظام التشغيل بالأنشطة التالية لإدارة المعالج كما انه يتتبع مسارات المعالج وحالة العملية.

 يُعرف البرنامج المسؤول عن هذه المهمة باسم وحدة التحكم.

وحدة التحكم Control Unit (CU): هي الوحدة المسئولة عن التحكم بمسير البيانات داخل المعالج وتنسيق تبادليا بين أجزاء المعالج الداخلية

فهي المتحكمه في عمل المعالج كما انها جزءاً لا يتجزأ من عمل المعالج، وتتكون من :

  1. وحدة الحساب و المنطق arithmetic logic unit (ALU).
  2. وحدة توليد العنوان address generation unit (AGU).
  3. وحدة إدارة الذاكرة memory management unit (MMU)
  4. ذاكرة التخزين المؤقت RAM وتسمى كذلك ذاكرة مخبئية Cache.
  5. معدل الساعة Clock Rate.
  6. دائرة غير متزامنة (Clockless CPUs) Asynchronous circuit / Asynchronous CPU.


  • إنشاء العمليات: طلب النظام System Call أو عمليات جديدة عند الطلب.

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

يقوم نظام التشغيل بإنشاء مساحة ذاكرة خاصة للعملية الجديدة وينسخ التعليمات البرمجية للعملية إلى الذاكرة.


تشغيل العمليات: منح العمليات وقتًا على وحدة المعالجة المركزية (CPU) تسمى جدولة حاسوب أو جدولة مهام Scheduling (computing).

إنهاء العمليات: إنهاء العمليات التي انتهت من تنفيذ التعليمات البرمجية الخاصة بها أو التي لم تعد بحاجة إليها.

إنهاء العمليات عند الانتهاء

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


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


تعتمد إدارة المعالجات على عدد من العوامل، بما في ذلك:

  • عدد المعالجات أو الأنوية المتاحة: إذا كان النظام يحتوي على معالج أحادي النواة، فإن إدارة المعالجات تكون بسيطة للغاية

أما إذا كان النظام يحتوي على معالجة متعددة ( حوسبة ) أو متعدد الأنوية، فإن إدارة المعالجات تكون أكثر تعقيدًا.

  • طبيعة العمليات: تختلف العمليات في متطلباتها للمعالجة. على سبيل المثال، قد تتطلب بعض العمليات معالجة أكثر من غيرها.
  • أولويات العمليات: قد يكون للعمليات أولويات مختلفة. على سبيل المثال، قد يكون لدى العمليات التي تتعامل مع المهام الحساسة للوقت أولوية أعلى من العمليات التي تتعامل مع المهام الأقل حساسية للوقت.


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


تسمى مهام نظام الملفات التي تتضمن إدارة إنشاء الملفات وفتحها وقراءتها وكتابتها وحذفها مدير الملفات (File Manager). تتضمن إدارة الملفات الأساسية أيضًا مهام مثل إدارة أسماء الملفات وامتداداتها وتنظيم الملفات في المجلدات.

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

عادةً ما يتم تنظيم نظام الملفات في مجلدات داخل النظام لسهولة التنقل والاستخدام.

قد تحتوي هذه المجلدات على ملفات واتجاهات أخرى. يقوم نظام التشغيل بالأنشطة التالية لإدارة الملفات


فيما يلي شرح أكثر تفصيلاً لكل مهمة من مهام إدارة الملفات الأساسية:

  • إنشاء الملفات: يمكن للمستخدمين إنشاء ملفات جديدة عن طريق استخدام تطبيق أو عن طريق استخدام الأوامر.
  • فتح الملفات: يمكن للمستخدمين فتح الملفات الموجودة لقراءتها أو الكتابة فيها.
  • قراءة الملفات: يمكن للمستخدمين قراءة البيانات من الملفات.
  • كتابة الملفات: يمكن للمستخدمين كتابة البيانات إلى الملفات.
  • حذف الملفات: يمكن للمستخدمين حذف الملفات غير المرغوب فيها.

تختلف طريقة تنفيذ مهام إدارة الملفات الأساسية من نظام تشغيل إلى آخر. ولكن بشكل عام، يتم تنفيذ هذه المهام بواسطة نظام التشغيل باستخدام كتلة التحكم في الملفات File control block (FCB).

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

يمكن للمستخدمين استخدام كتلة التحكم في الملفات مباشرة عن طريق استخدام الأوامر. كما يمكن للتطبيقات استخدام كتلة التحكم في الملفات لإدارة الملفات.



في الحوسبة، الإدخال/الإخراج (I/O، i/o، أو بشكل غير رسمي io أو IO) هو الاتصال بين نظام معالجة المعلومات، مثل الكمبيوتر، والعالم الخارجي، ربما نظام معالجة معلومات بشري أو آخر. المدخلات هي الإشارات أو البيانات التي يستقبلها النظام والمخرجات هي الإشارات أو البيانات المرسلة منه. يمكن أيضًا استخدام المصطلح كجزء من الإجراء؛ "إجراء الإدخال/الإخراج" هو إجراء عملية إدخال أو إخراج.

يدير نظام التشغيل اتصالات الجهاز عبر برامج التشغيل الخاصة به. يقوم بالأنشطة التالية لإدارة الجهاز.

التحكم في الإدخال/الإخراج

تستخدم النواة آليات مختلفة للتحكم في الوصول إلى أجهزة الإدخال/الإخراج من قبل العمليات المختلفة. تتضمن هذه الآليات:

  • الانتظار: تنتظر العملية الوصول إلى جهاز الإدخال/الإخراج إذا كان الجهاز مشغولاً بالفعل.
  • المقاطعة: تقوم العملية بتعليق تنفيذها مؤقتًا عندما يتم مقاطعتها بواسطة جهاز الإدخال/الإخراج.


يتتبع جميع الأجهزة. يُعرف البرنامج المسؤول عن هذه المهمة بوحدات الإدخال والإخراج.

  • يقرر العملية التي يحصل عليها الجهاز ومتى وكم من الوقت.
  • يخصص الجهاز بطريقة فعالة.
  • إلغاء تخصيص الأجهزة.


2- إدارة تعدد المهام

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


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

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

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

في إدارة العمليات نظام التشغيل يقرر العملية التي سيحصل عليها المعالج ومتى وكم من الوقت.

وتسمى ايضاً بوظيفة جدولة وحدة المعالجة المركزية (CPU Scheduling).

تقوم النواة بإدارة المعالجات/العمليات من خلال استخدام تقنيات مختلفة، مثل:

عوامل لتحديد العملية في خوارزميات الجدولة التي سيتم تشغيلها. تعتمد خوارزمية الجدولة التي يتم استخدامها على عوامل مثل:

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


  • الجدول الزمني طويل المدى: يقرر جدول التوقيت طويل المدى أي العمليات سيتم تحميلها إلى الذاكرة.
  • الجدول الزمني متوسط المدى: يقرر جدول التوقيت متوسط المدى أي العمليات سيتم إخراجها من الذاكرة.
  • الجدول الزمني قصير المدى: يقرر جدول التوقيت قصير المدى أي عملية سيتم تشغيلها بعد ذلك.


جدول التوقيت طويل المدى

هو المسؤول عن تحديد العمليات التي سيتم تحميلها إلى الذاكرة. يأخذ جدول التوقيت طويل المدى في الاعتبار عوامل مثل:

  • حجم العملية: إذا كانت العملية كبيرة، فقد لا يكون هناك مساحة كافية في الذاكرة لتحميلها.
  • أولوية العملية: قد يكون لدى العمليات ذات الأولوية العالية فرصة أكبر للتحميل إلى الذاكرة.


جدول التوقيت متوسط المدى

هو المسؤول عن تحديد العمليات التي سيتم إخراجها من الذاكرة. يأخذ جدول التوقيت متوسط المدى في الاعتبار عوامل مثل:

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


جدول التوقيت قصير المدى

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

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

هناك العديد من خوارزميات الجدول الزمني للمعالج المختلفة التي يمكن استخدامها. تختلف هذه الخوارزميات في كيفية تحديد العملية التي سيتم تشغيلها في أي وقت.

بعض خوارزميات الجدول الزمني للمعالج الشائعة تشمل:

جدولة قصيرة المدى أو ما يسمى المجدول قصير الأمد Short-term scheduling

  • ما يرد أولاً يصرف أولاً first in, first out (FIFO) / First Come First Serve (FCFS) الخدمة بأسبقية الوصول: تحدد هذه الخوارزمية العملية التي وصلت أولاً إلى نواة النظام.
  • اقصر وظيفة تالية (SJF) shortest job first وايضا يسمى SPN أو SJN: تحدد هذه الخوارزمية العملية التي لديها أقصر وقت انتظار.
  • جدولة الأولويات (Priority Scheduling): هي طريقة لجدولة العمليات التي تعتمد على الأولوية. في هذه الخوارزمية، يقوم المجدول باختيار المهام للعمل حسب الأولوية.

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

تعتمد خوارزمية Priority Scheduling على أولوية العملية. يتم تشغيل العملية ذات الأولوية الأعلى أولاً. 

  • جدولة راوند روبن (RR) Round-robin schedulingتعتمد خوارزمية RR على مبدأ "الأولوية الدائرية". يتم منح كل عملية فترة زمنية محددة، تسمى فترة المهلة. إذا لم تنته العملية من تنفيذ التعليمات البرمجية الخاصة بها في فترة المهلة، فسيتم تعليقها مؤقتًا ويتم تشغيل عملية أخرى.


تختار خوارزمية الجدولة المناسبة اعتمادًا على متطلبات النظام. على سبيل المثال، قد يكون من الأفضل استخدام خوارزمية FCFS في النظام حيث لا توجد أولويات للعملية. قد يكون من الأفضل استخدام خوارزمية SJF في النظام حيث يكون وقت التنفيذ قصيرًا. قد يكون من الأفضل استخدام خوارزمية PRIO في النظام حيث توجد أولويات للعملية. قد يكون من الأفضل استخدام خوارزمية RR في النظام حيث يكون وقت التنفيذ غير مؤكد.


  • إدارة الإتصالات بين العمليات (Inter-process communication (IPC:

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


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

آلية IPC إما متزامنة أو غير متزامنة. يمكن استخدام بدايات التزامن للحصول على سلوك متزامن مع آلية IPC غير متزامنة.

IPC عبارة عن مجموعة من الآليات التي تسمح للعمليات بالتواصل مع بعضها البعض. توفر هذه الآليات طريقة للعمليات لمشاركة البيانات ومزامنة أنشطتها وتنسيق أعمالها.

يعد IPC جزءًا مهمًا من أي نظام تشغيل يدعم تعدد المهام. فهو يسمح للعمليات بالتعاون ومشاركة الموارد، وهو أمر ضروري لتشغيل النظام بكفاءة واستجابة.

تتضمن بعض آليات IPC الشائعة ما يلي:

الذاكرة المشتركة: تسمح للعمليات بالوصول إلى نفس البيانات الموجودة في الذاكرة.

الإشارات: يسمح هذا للعمليات بتنسيق الوصول إلى الموارد المشتركة.

تمرير الرسالة: يسمح هذا للعمليات بإرسال البيانات لبعضها البعض.

تعتمد آليات IPC المحددة التي يدعمها نظام التشغيل على تصميم نظام التشغيل وتنفيذه.


3- إدارة الأمان

في علوم الكمبيوتر ، يعد الفصل بين الحماية والأمان أحد اختيارات التصميم (معمارية الحاسوب). حددت الحماية كآلية والأمن كسياسة، مما يجعل التمييز بين الحماية والأمن حالة خاصة للـفصل بين الآلية و السياسة. تعتبر العديد من الأطر كلاهما بمثابة ضوابط أمنية بأنواع مختلفة. على سبيل المثال، يمكن اعتبار آليات الحماية ضوابط فنية، في حين تعتبر السياسة ضوابط إدارية.

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

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


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


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


تتضمن هذه الفئة مهام حماية النظام من الاستخدام غير المصرح به أو من الهجمات.

حماية الذاكرة: تتضمن هذه المهمة حماية الذاكرة من العمليات الأخرى أو من البرامج الضارة.

حماية البيانات: تتضمن هذه المهمة حماية البيانات من الوصول غير المصرح به أو من التغيير غير المصرح به.

حماية الموارد: يجب على نظام التشغيل حماية الموارد من العمليات الأخرى أو من البرامج الضارة. يمكن لنظام التشغيل استخدام آليات الحماية مثل تخصيص مساحات عناوين منفصلة للعمليات أو استخدام جدار الحماية (الحوسبة)

حماية النظام من البرامج الضارة: تتضمن هذه المهمة حماية النظام من الهجمات التي يقوم بها البرامج الضارة.


4- إدارة الخدمات

تتضمن هذه الفئة مهام إدارة الخدمات التي يوفرها نظام التشغيل للمستخدمين والتطبيقات.

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


الخاتمة

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


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


تخصيص الموارد او تجهيز الدفعات Batch Proccesing

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


استخدام الموارد تسمى أفضل وأسوأ ومتوسط الحالة (حالة سلوك خوارزمية) Best, worst and average case

يجب على العمليات استخدام الموارد بكفاءة. يمكن لنظام التشغيل مراقبة استخدام الموارد من قبل العمليات واتخاذ الإجراءات إذا كانت العملية تستخدم الموارد بشكل غير فعال.


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