نظام تشغيل

مقدمة

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

المنفرد المستخدم المنفرد المهمة

أبسط أنواع نظم التشغيل تخدم مستخدما واحدا في الوقت الواحد وهو منفرد المهمة (Single-Tasking) بمعنى آخر ويمكنه أن ينفذ برنامجا واحدا فقط في الوقت الواحد ومن الأمثلة عليه نظام م س دوس (DOS-MS).

المنفرد المستخدم المتعدد المهام

هذا النظام لديه القدرة على تنفيذ أكثر من برنامج واحد بشكل متزامن, حيث تنتقل الوحدة  المعالجة المركزية (CPU) بين المهمات بسرعة كبيرة. و من أمثلتها: Windows95, Windows98.

المتعدد المستخدمين المنفرد المهمة

يسمح هذا النظام لعدد من الأشخاص بتنفيذ كل منهم برنامجاً واحداّ في الوقت نفسه. و يزود كل مستخدم بمحطة إدخال و إخراج تتصل مع الحاسوب المركزي و يسمى هذا التنظيم بنظام المشاركة الزمنية (Timesharing) وذلك لأن نظام التشغيل يأمر الحاسوب بالانتقال بسرعة كبيرة بين المستخدمين بعد إعطائهم فترات زمنية ثابته لاستخدام CPU وتسمى هذه الفترات بالشرائح الزمنية (Time Slices) وهي قصيرة جداً (حوالي ألوف جزئية من الثانية) بحيث يتوهم كل مستخدم أنه يمتلك انتباه الحاسوب كلية ومن امثلته Windows NT.

المتعددة المستخدمين المتعددة المهام

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

حوسبة الزمن الحقيقي

حوسبة الزمن الحقيقي هي دراسة للعتاد و البرامج التي  تكون لها قيود في الزمن الحقيقي بمعنى أن النظام لا بد أن يضمن معالجة الأحداث أو البيانات في وقت محدد، على عكس الأنظمة الأخرى حيث لا تكون هناك قيود على مدة الاستجابة على الرغم أنه كلما كانت أسرع استجابة كلما كانت أفضل ، و يتم تلبية الطلب على برامج الوقت الحقيقي بواسطة أنظمة تشغيل الوقت الحقيقي (مثل VxWork ، و Windows CE ، و RTLinux )  و لغات البرمجة المتزامنة ( مثل Averest و ChucK  و  SyncCharts ).

الصعوبات

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

الأنظمة الموزعة

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

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

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

القرص وأنظمة الملفات

لدى الكثير من أنظمة التشغيل العديد من أنظمة الملفات التي يمكن استخدامها بشكل طبيعي، جنو/لينكس لديه أكبر تنوع من أنظمة الملفات هذه، وهي إكس تي 2 ،إكس تي 3 ،ريسير أف أس ،Reiser4 ،GFS ،GFS2 ،OCFS ،OCFS2 ،NILFS. كما يدعم جنو/لينكس أيضا أنظمة ملفات إكس إف إس وجي أف أس بشكل كامل. مع دعم لنظام ملفات جدول توزيع الملف FAT وإن تي إف إس. أما ويندوز فمحدود من ناحية دعمه لأنظمة الملفات حيث يدعم فقط: FAT12 وFAT16 وFAT32 وإن تي إف إس.
بالنسبة لأغلب أنظمة الملفات التي ذكرناها هناك طريقتان لتخصيصها. فالنظام هو إما أن يكون نظام الملفات المزود بقيد حوادث (Journaling File System)،أيْ مزود بقيد للحوادث (journal) و إما غير مزود به. يعتبر النظام المزود بقيد الحوادث (Journaling File System) خياراً آمناً في حالات تعافي النظام. لو حدث أن توقف النظام عن العمل فجأة (في حالة انقطاع الكهرباء مثلا) فإن نظام الملفات غير المزود بقيد للحوادث سيحتاج إلى نوع من الفحص في حين يحدث هذا تلقائيا في أنظمة الملفات المزودة بقيد الحوادث.
أنظمة ملفات ويندوز المزودة بقيد الحوادث هي NTFS فقط، في حين أن كل أنظمة ملفات لينكس هي مزودة بقيد الحوادث ما عدا ext2.
يتكون كل نظام ملفات من أدلة وأدلة فرعية منفصلة. ومع ذلك هناك اختلافات غير ملحوظة فمثلا أنظمة ملفات ويندوز تفصل بين المجلدات بالشرطة المائلة الراجعة "\" وأسماء الملفات غير حساسة لحالة الأحرف، على حين في يونكس يفصل بين المجلدات باستخدام الشرطة المائلة "/" وأسماء الملفات حساسة لحالة الأحرف.

الشبكات

أغلب أنظمة التشغيل الحديثة قادرة على استخدام بروتوكول الشبكات العالمي TCP/IP. مما يعنى أن أحد الأنظمة يمكن أن يظهر في شبكة نظام آخر، ويشاركه المصادر مثل الملفات، والطابعة، وماسح الصور.
الكثير من أنظمة التشغيل أيضا تدعم واحد أو أكثر من البروتوكولات التقليدية الخاصة بكل مصنّع، مثل SNA في أنظمة آي‌ بي‌ إم، والبروتوكولات الخاصة بمايكروسوفت في ويندوز. هناك أيضا بروتوكولات خاصة بمهام معينة مثل NFS للوصول للملفات.

الحاسوب الشخصي

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

الأمن

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

مشغلات العتاد

مشغل العتاد (بالإنجليزية: hardware driver) هو قطعة من برمجيات الحاسوب صممت لتسمح بالتفاعل بين العتاد والبرمجيات.

واجهة التطبيقات

هذه الواجهة توفر لمطوري البرامج والتطبيقات مجموعة من الدوال (Functions) الأساسية التي يكثر استعمالها مثل دوال لإدارة الذاكرة و الدوال الرسومية ودوال لإدارة الملفات وغيرها. هذه الواجهة تسهل عمل المبرمج حيث أنها توفر عليه القيام بهذه المهمات في البرامج التي يكتبها.

التطبيقات

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

استدعاء نظام التشغيل

يوفر نظام التشغيل عدداً من الخدمات ، في المستوى الأدنى  يسمح استدعاء  النظام (System Call)  للبرنامج الحالي بإرسال طلب للنظام التشغيل مباشرة ، وفي المستوى الأعلى يقوم مترجم الأوامر (Command Interpreter) أو Shell  بتوفير آلية طلب نظام التشغيل للمستخدم من دون كتابة البرنامج ، من الممكن أن تأتي الأوامر من خلال الملفات عن طريق  (Batch-Mode Executio) أو مباشرة من خلال واجهة النصوص أو واجهة المستخدم الرسومية عندما تكون في الوضع التفاعلي (Interactive) أو الوضع المشترك ( Time-Shared Mode)  . يقوم نظام البرامج في تلبية العديد من طلبات المستخدم الشائعة .
تعتمد أنواع الطلبات على المستويات ، يجب على مستوى استدعاء النظام أن يوفر الوظائف الأساسية مثل التحكم في العمليات و الملفات و معالجة الجهاز ، فيما أن طلبات المستوى الأعلى مثل مترجم الأوامر (Command Interpreter)  و برامج النظام تترجم إلى سلسلة من استدعاءات النظام .

تصميم نظام التشغيل

إن تصميم نظام تشغيل جديد هو مهمة أساسية. ومن المهم أيضاً أن تكون أهداف النظام معرّفه بشكل جيد قبل البدأ بالتصميم. إن نوع النظام المرغوب هو الأساس للخيارات ضمن الخوارزميات والاستراتيجيات المختلفة التي ستكون مطلوبه.
تصميم نظام التشغيل هي المهمة الرئيسية عند إنشاء نظام تشغيل جديد ، ولتصميم نظام تشغيل ناجح يجب أن تكون الأهداف واضحة قبل البدأ بالتصميم ، فإن نوع النظام المطلوب هو الأساس في اتخيار الخوارزميات و الاستراتيجيات المطلوبة .
على مدار فترة التصميم يجب أن نكون حريصين ان نفصل القرارات الأمنية من تفاصيل التنفيذ (Mechanisms)مما يسمح هذا الفصل بتوفير المرونة إذا تغيرت القرارات الأمنية لاحقاً  . في الوقت الحالي يجب على نظام التشغيل أن يكون مكتوب بلغة تنفيذ الأنظمة (Systems-Implementation Language)أو لغة عالية المتسوى  (Higher-Level Language)، هذه الميزة تسمح بتحسين الإنجاز ، التعديل و قابلية التنقل .

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

نظام التشغيل كبير ومعقد كنظام تشغيل حديث ويجب أن تتم هندسته بعناية لكي يتم تعديله بسهوله ,تنقسم مكونات نظام التشغيل إلى طبقات (Layers) . كل طبقة تتفاعل فقط مع الطبقة السفلية التي تتطلب خدمات الطبقة العليا للرد على الطلبات
مثال :
- طبقة المستوى الأعلى
*  Applications
-أدنى مستوى الطبقة
* Hardware
تدعم أنظمة التشغيل الآن الوحدات المحملة ديناميكيًا أثناء التنفيذ و هو آلية يمكن من خلالها لبرنامج الكمبيوتر ، في وقت التشغيل ، تحميل واسترداد عناوين الوظائف والمتغيرات الموجودة ، وتنفيذ تلك الوظائف أو الوصول إلى تلك المتغيرات . و هيكل نظام التشغيل ينقسم إلى أجزاء مستقلة حيث لها ميزات فردية بسيطة ، ويمكن  الحفاظ على التصميم وبتالي يمكن التحكم فيه. يمكن أن يؤثر هيكل نظام التشغيل على الميزات الأساسية مثل المتانة أو الكفاءة.

معالجة النظام

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

المصادر المفتوحة

المصادر المفتوحة (بالإنجليزية: Open Source) : يشير إلى أي برنامج يتوفر شفرة مصدره(Source Code) للاستخدام أو التعديل كما يرى المستخدمون أو غيرهم من المطورين.

الفرق بين خدمة النظير إلى النظير و خدمة الزبائن

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

الفرق بين الأنظمة المجمعة و متعدد المعالجات

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

ما المطلوب لجهازين تابعين للأنظمة المجمعة لتوفير خدمة عالية التوفر ؟

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

ذاكرة الكاش او الذاكرة المخبئية (Cache Memory)

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

العقبات الاقتصادية للذاكرة المخبئية

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

المعالجة المتعددة

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

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

استدعاءات النظام هي طريقه تعمل في وضع المستخدم لطلب بعض الخدمات من نظام التشغيل. أي بمعنى آخر تمكن المستخدم أن يطلب من نظام التشغيل أن يقوم ببعض الأمور نيابة عنه. مثال:أن يطلب من نظام التشغيل أن يقوم بعمل نسخ لمحتويات ملف ووضعه في ملف آخر.

الانشطة الرئيسيه لنظام التشغيل التي تتعلق بإدارة العمليات

1-إنشاء وحذف المستخدم ونظام التشغيل:
بعض العمليات على جهاز الكمبيوتر الخاص بك قد تعمل لفترات قصيرة من الزمن، و مع الآخرين تعمل بشكل مستمر على فترات أطول. على سبيل المثال، ستبدأ بعض عمليات الخلفية عند تشغيل الكمبيوتر لأول مرة، مثل تلك المرتبطة بالإدخال والمخرجات. ستبدأ عمليات أخرى عند تشغيل التطبيقات. عادة ما تتوقف العمليات التي تم إنشاؤها عند تشغيل تطبيق البرنامج عند الخروج أو إنهاء التطبيق. يدير نظام التشغيل إنشاء وحذف جميع العمليات التي هي قيد التشغيل.
2-تعليق واستئناف العمليات:
على الرغم من أن العمليات على جهاز الكمبيوتر قد يبدو أنها تعمل بشكل مستمر،ولكن إنها غالبا ما تدخل  في حالات توقف لفترة قصيرة من الزمن. إذا لم يتم تنفيذ عملية في هذا الوقت - على سبيل المثال، إذا كان  الكمبيوتر ينتظر عملية إدخال أو إخراج فإنه قد يتم تعليقه. ويدير نظام التشغيل عملية التعليق واستئناف هذه العمليات عندما تصبح الموارد المطلوبة متاحة.
3-وضع آليه لعملية التزامن:
يحتوي الكمبيوتر على مجموعة محدودة من موارد المعالجة التي يجب أن تكون مشتركة بين جميع العمليات التي تكون قيد التشغيل. نظام التشغيل يخلق انطباعا بأن العديد من العمليات يتم تنفيذها في نفس الوقت، ولكن في الواقع يتم تبديل الموارد المتاحة بينهما بسرعة بحيث يبدو أنها تعمل في وقت واحد. يقوم نظام التشغيل بتنفيذ تزامن العملية للحفاظ على أي برامج تشغيل وظيفية ومتاحة لتفاعل المستخدم.
4-وضع آلية لعملية الإتصال:
من أجل الحفاظ على عمليات التشغيل متزامنة وتستقبل الموارد اللازمة، يجب أن يكون نظام التشغيل قادرا على التواصل مع العمليات. على سبيل المثال، يجب أن يكون نظام التشغيل قادرا على تحديد متى تكون العمليه معلقع أو جاهزه لتخصيص الموارد. وإذا احتاجت العمليات إلى النفاذ إلى نفس موارد النظام، يصبح نشاط الاتصالات هذا أكثر حيوية.
5-وضع آلية لمعالجة الجمود:
عندما يكون عدد من العمليات قيد التشغيل في حالة متوقفة مؤقتا، كل واحد في انتظار الموارد المستخدمة حاليا بواسطة عملية تشغيل أخرى، هنا يمكن أن تحدث حالة توقف تام. وقد يؤدي ذلك إلى توقف جميع البرامج إلى أجل غير مسمى إذا لم يتدخل نظام التشغيل. يمكن لنظام التشغيل اتخاذ خطوات على حد سواء لتجنب وإنهاء حالة الجمود إذا حدث. أنظمة التشغيل تستخدم استراتيجيات مختلفة للتعامل مع الجمود.

واجهة سطر الاوامر

واجه سطر الاوامر والمعروفة باسم (Command Line Interface “CLI ”) او مترجم الاوامر وهي التي تسمح للمستخدم بإدخال الأوامر مباشرة ليتم تنفيذها بواسطة نظام تشغيل، وفي بعض الأحيان يتم تطبيق واجه سطر الاوامر في النواه (Kernal)، واحيانًا بواسطة برمجيات النظام.
عادة ما يكون مترجم الأوامر منفصلاً عن النواه (Kernel)لأن النواه هو مركز نظام التشغيل الذي يدير كل شيء في نظام التشغيل، يقرأ مترجم الأوامر الأوامر من المستخدم أو من ملف الأوامر وينفذها، عادةً عن طريق تحويلها إلى واحد أو أكثر من استدعاء النظام(system calls)، أي ان واجه سطر الاوامر (CLI) عادة لا تكون جزءًا من النواه (Kernel); لأن مترجم الأوامر يخضع للتغييرات. وبما ان واجه سطر الاوامر او مترجم الاوامر هو وحدة المستخدم ليس وحده النواه (Kernel) ولذلك فان واجه سطر الاوامر منفصله عن النواه (Kernel).

لماذا نحتاج إلى وحدات التخزين ( الأقراص الصلبة ) ؟

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

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

"الذاكرة الرئيسية ": تشير إلى الجزء الصلب في الذاكرة الداخلية للكمبيوتر، وكلمة "الرئيسية " تستخدم لتمييزه عن جهاز التخزين الخارجي وايضا تعرف الذاكرة الرئيسية ب
.(RAM)

المهام رئيسية لإدارة الذاكره

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