انظمة التشغيل المختلفة (OS)

25 يونيو، 2023 * تيتو 4 تك

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

 

استخدامات أنظمة التشغيل:

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

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

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

بمجرد التثبيت، يعتمد نظام التشغيل على مكتبة واسعة من برامج تشغيل الأجهزة لتخصيص خدمات نظام التشغيل لبيئة الأجهزة المحددة. ومن ثم، قد يقوم كل تطبيق بإجراء مكالمة عامة إلى جهاز تخزين، لكن نظام التشغيل يتلقى هذه المكالمة، ويستخدم برنامج التشغيل المقابل لترجمة المكالمة إلى إجراءات (أوامر) مطلوبة للأجهزة الأساسية على هذا الكمبيوتر المحدد. اليوم، يوفر نظام التشغيل نظامًا أساسيًا شاملاً يحدد مجموعة من الأجهزة وتكوينها وإدارتها، بما في ذلك المعالجات؛ أجهزة وإدارة الذاكرة؛ الشرائح؛ التخزين؛ الشبكات؛ اتصال المنفذ، مثل مصفوفة رسومات الفيديو (VGA) وواجهة الوسائط المتعددة عالية الدقة (HDMI) والناقل التسلسلي العالمي (USB)؛ وواجهات النظام الفرعي، مثل Peripheral Component Interconnect Express (PCIe).

 

وظائف نظام التشغيل:

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

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

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

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

إدارة التطبيقات:

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

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

فضلا عن ذلك، يمكن لنظام التشغيل أداء الخدمات التالية للتطبيقات:

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

yes يتعامل مع الإدخال / الإخراج (I / O) من وإلى الأجهزة المتصلة، مثل الأقراص الثابتة والطابعات ومنافذ الطلب الهاتفي.

yes يرسل رسائل إلى كل تطبيق أو مستخدم تفاعلي - أو إلى مشغل النظام - حول حالة العملية وأي أخطاء قد تكون حدثت.

yes يمكنه إلغاء تحميل إدارة المهام المجمعة - على سبيل المثال، الطباعة - بحيث يتم تحرير تطبيق البدء من هذا العمل.

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

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

إدارة الأجهزة:

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

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

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

 

أنواع أنظمة التشغيل:

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

أولا: أنظمة تشغيل للأغراض العامة

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

تتضمن أنظمة تشغيل سطح المكتب الشائعة ما يلي:

1 - ويندوز أو Windows: 

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

2 - ماك أو Mac: 

Mac هو نظام التشغيل لخط Apple Macintosh لأجهزة الحاسوب ومحطات العمل.

3 - يونكس أو Unix:

Unix هو نظام تشغيل متعدد المستخدمين مصمم لتحقيق المرونة والقدرة على التكيف. تم تطوير Unix في الأصل في السبعينيات، وكان من أوائل أنظمة التشغيل التي تمت كتابتها بلغة C.

4 - لينكس أو Linux:

Linux هو نظام تشغيل شبيه بـ Unix تم تصميمه لتزويد مستخدمي الكمبيوتر الشخصي ببديل مجاني أو منخفض التكلفة. يتمتع Linux بسمعة طيبة كنظام فعال وسريع الأداء.

ثانيا: أنظمة تشغيل الموبايل

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

ثالثا: أنظمة التشغيل المضمنة

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

رابعا: أنظمة تشغيل الشبكات

نظام تشغيل الشبكة (NOS) هو نظام تشغيل متخصص آخر يهدف إلى تسهيل الاتصال بين الأجهزة العاملة على شبكة المنطقة المحلية (LAN). يوفر NOS حزمة الاتصالات اللازمة لفهم بروتوكولات الشبكة من أجل إنشاء حزم الشبكة وتبادلها وتحليلها. اليوم، أصبح مفهوم NOS المتخصص قديمًا إلى حد كبير لأن أنواع أنظمة التشغيل الأخرى تتعامل إلى حد كبير مع اتصالات الشبكة. Windows 10 و Windows Server 2019، على سبيل المثال، يشتملان على إمكانات شاملة للشبكات. لا يزال مفهوم NOS مستخدمًا لبعض أجهزة الشبكات، مثل أجهزة التوجيه والمحولات والجدران النارية، وقد تستخدم الشركات المصنعة NOSes مملوكة، بما في ذلك نظام تشغيل Cisco Internetwork (IOS) و RouterOS و ZyNOS.

خامسا: أنظمة تشغيل الوقت الحقيقي

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

التسميات