بسم الله الرحمن الرحيم
مقدمة إلى نظم التشغيل Operating Systems
مقدمة إلى نظم التشغيل Operating Systems
مقدمة:
يزيد نظام التّشغيل خبرتنا الحاسوبية. إنّه البرنامج الأوّل الذي نراه متى نشغّل الحاسوب، والبرنامج الأخير الذي نراه متى يتم قُفِلَ الحاسوب. إنّه البرنامج الذي يمكّن كل البرامج التي نستخدمها على الحاسوب. نظام التّشغيل ينظّم و يتحكّم في المعدّات على مكاتبنا و في أيدينا، حتّى الآن معظم المستخدمين لا يمكن أن يؤكدوا وبالتّحديد ماذا يفعل ويعمل نظام التّشغيل. إنّه مهمّ أن تدرك أن ليس لدى كلّ الحواسيب نظم تشغيل. الحاسوب الذي يتحكّم في فرن الميكروويف في مطبخك، على سبيل المثال، لا تحتاج إلى نظام تشغيل. لديه فئة واحدة من مهامّ بسيطة نسبيًّا للإجراء، مدخل بسيط جدًّا و طرق إدخال وإخراج بسيطة ( لوحة مفاتيح وشّاشة LCD )، وببساط ليس هناك حاجة إطلاقا لتغيير المعدّات للتّحكم. لحاسوب مثل هذا، نظام التّشغيل سيكون غير ضروري، لأنه سيضيف تّعقيد لا يطلبه أحد. بدلاً من ذلك، الحاسوب في فرن الميكروويف ببساطة يجري برنامج واحد باستمرار. للحاسوب أنظمة تذهب أبعد وأكثر تعقيد من التي موجودة في فرن الميكروويف. على أي حال، يمكن أن يكون نظام التّشغيل المفتاح إلى الكفاءة والفعالية والسهولة لنموّ التّطبيقات. كل الحواسيب المكتبية والشخصية لديها نظم تشغيل. من أشهر عائلات نظم التّشغيل هي Windows OS وعائلة Unix OS وعائلة نظم التّشغيل للماكنتوش. هناك المئات من نظم التّشغيل الأخرى متاحة للأغراض الخاصة، متضمّنًا الحواسيب المتخصصة مثل الحواسيب الأيوانية، علم الرّوبوت، الصّناعة، وأنظمة التّحكّم في الوقت الحقيقي وغيرها. في أبسط مستوًى, نظام التّشغيل يعمل شيئين :
· يدير الكيان المادي (المعدّات) وموارد الكيان المعنوي (البرمجيات) لنظم الحواسيب . تتضمّن هذه الموارد المعالج، الذّاكرة، مساحة القرص، إلخ. وهي مهمةّ جدًّا، حيث أن هناك برامج متعددة وطرق الدخل تتنافس من أجل وحدة المعالجة المركزية (CPU) واستخدام الذاكرة والتّخزين وعرض حزمة الدخل/الخرج (I/O) لأغراضها الخاصّة . في هذه السّعة, نظام التّشغيل يمثّل دور الوالد الجيّد, يتأكّد من أن كلّ طلب يحصل على الموارد الضّروريّة له.أثناء ذلك يقوم بتشغيل كل التّطبيقات الأخرى, وأيضًا زرع السعة المحدودة للنظام إلى أكبر قدر من العدل بين كلّ المستخدمين و الطّلبات.
· يمدّ طريقة متّسقة ومستقرّة للطّلبات للتّعامل مع المعدّات بدون الحاجة لمعرفة كلّ تفاصيل المعدّات. مهمة بخاصّة إذا كان هناك أكثر من نوع من الحواسيب تستخدم نظام التّشغيل، أو إذا كانت الكيان المادي الذي يتكون منه الحاسوب مفتوح ومتغيّر. احتواء نظم التشغيل على تداخل البرنامج التطبيقي (API)، يسمح لمطوّري البرامج أن يكتب تطبيقًا على حاسوب واحد و لديه مستوى عالي من الثّقة أنّه سيستمرّ بالاشتغال على حاسوب آخر من نقس النوع حتّى إذا كانت كمّيّة الذاكرة أو كمّيّة التخزين مختلفتين على الجهازين. حتّى إذا كان الحاسوب المحدّد فريدًا من نوعه، فإن نظام التّشغيل يمكن أن يضمن أن الطّلبات ستستمرّ في التنفيذ عندما تحدث تحسّينات وتحديثات في المعدّات، لأنّ نظام التّشغيل و ليس التطبيق هو الذي يدير المعدّات ويوزع مواردها. الويندوز98 مثال كبير للمرونة التي تمدها نظم التشغيل. يستمرّ الويندوز98 في تشغيل المعدّات من الآلاف من الباعة. ويمكن أن يستوعب آلاف من مختلف الطابعات ومحركات الأقراص والطرفيات الخاصّة في أيّ تشكيلة ممكنة.
لماذا تدرس نظم التشغيل ؟
1- للاستخدامات الخاصة من الممكن للشخص أن يصمم نظام تشغيل لقرص معين أو تعديل نظام معين .
2- للاختيار الجيد لنظم التشغيل وخياراته تعتبر من القرارات المهمة .
3- الاتصال المباشر مع نظام التشغيل مهم لتنفيذ مهامه وذلك لأن نظام التشغيل هو أول شيء يتصل به الحاسوب .
4- مواصفات وتقنيات كثيرة موجودة في نظم التشغيل مهمة لبناء برنامج تطبيقي .
أهمية نظام التشغيل:
1) نظام التشغيل يتحكم في الحاسوب ويعمل على الربط بين الحاسوب والمستخدم .
2) كلما زاد تعقيد نظام التشغيل كلما زاد من فعالية هذا النظام ويقلل من كلفة استخدام مرافق إضافية للشبكة .
تدرج تاريخ نظام التشغيل :
1- الفترة من 45-1955 (أنابيب مفرغة) :
لم تعرف نظم التشغيل بعد وأن التعامل كان في بداية الفترة من لغة الآلة مباشرة ثم مع البطاقات المخرمة .
2- الفترة من 55-1965 (ترانزيستور) :
ظهور النظم المجمعة وهي عبارة عن تجميع الأعمال وتنفيذها وإدخالها على آلة التخريم ثم نقلها بواسطة آلة أخرى إلى شريط مغناطيسي ثم نقلها إلى آلة أخرى لتشغيلها وإخراج النتائج على شريط مغناطيسي آخر ثم نقلها إلى آلة رابعة لطباعتها .
3- الفترة من 65-1980 (IC) :
ظهور نظام الـ Time Sharing Multiprogramming .
تعتبر هذه بداية نظم التشغيل.
4- الفترة من 80- Now (PC) :
البداية الحقيقية لنظم التشغيل وتحولها وجعل الحاسوب user-friendly (صدوق) وظهور نظم تشغيل متنوعة مثل Network Operating Systems وDistributed Operating System .
يمكن تعريف نظام التشغيل بالتالي:
1- هو مجموعة برامج خاصة بتهيئة النظام للعمل والتحكم بأدائه لوظائفه أثناء تنفيذ البرامج التطبيقية والتخاطب مع المشغل والتدخل عند حدوث أي خلل أو تجاوز من البرامج أو المشغل.
2- كما إنه يهتم بتوزيع وتخصيص الموارد والمهام والخدمات مثل الذاكرة والمعالجات وأجهزة الدخل والخرج والبيانات.
أنواع نظم التشغيل:
من خلال عائلات نظم التّشغيل الواسعة، يوجدٍ هناك أربعة أنواع. صنّفت على أساس أنواع الحواسيب التي يتحكّم بها نظام التشغيل .ونوع التطبيقات التي تدعمها. الفئات العامة تشمل:
· نظام التّشغيل الوقت الحقيقي ( Real Time Operating System RTOS) : نظم تشغيل سريعة صممت للتّحكّم في الآلات والأدوات العلميّة والنّظم الصّناعيّة. لدى RTOS نموذجيًّا إمكانيّة واجهة مستخدم صغيرة جدًّا، ولا مرافق ومنافع للمستخدم. عليه سيكون النّظام كصندوق مغلق عندما يسُلِّمَ للاستخدام. جزء مهمّ جدًّا من RTOS يتمثل في أداره موارد الحاسوب حتّى تنفّذ عمليّة محدّدة في نفس كمّيّة الوقت كلّما شغل. في الآلات المعقدة، وجود جزء يتحرّك بسرعة أكثر لأنّ موارد النّظام متاحة قد يكون بمثل المأساويّة عندما هذا الجزء لا يتحرّك على الإطلاق لأنّ النّظام مشغول.
· المستخدم الواحد والمهمّة الواحدة ( Single-User & Single-Task) : كما يدلّ الاسم، هذا النظام صُمِّمَ لإدارة الحاسوب حتّى يتمكن أن يعمل مستخدم واحد شيء واحد في المرة الواحدة وبفاعليّة. من أمثلتها نظام التشغيل ( MS-DOS).
· المستخدم الواحد ومتعدّد المهامّ ( Single-User & Multi-Task) : هذا هو نوع نظام التّشغيل الذي معظم المستخدمين يستعمله في حواسيبهم الشخصية والمحمولة اليوم. الويندوز98 و ماكنتوش كلهما مثال لنظام التشغيل المذكور الذي يسمح لمستخدم واحد تنفيذ عدّة برامج تعمل في نفس الوقت. على سبيل المثال, إنّه ممكن لمستخدم وندوز98 أن يكتب رسالة في برنامج محرر نصوص أثناء تحميل ملفّ من الإنترنت وفي نفس الوقت يطبع نص رسالة بريد إلكتروني على الطابعة.
· متعدّد المستخدمون (Multi-User) : نظام تشغيل متعدّد المستخدمون يسمح للمستخدمين المختلفين الكثيرين أن يستغلّوا موارد الحاسوب في آنٍ واحد. يجب أن يتأكّد نظام التّشغيل أن مطالب المستخدمين المتنوّعين وأنها متوازنة، وأنّ لدى كلّ من البرامج التي يستخدموها موارد كافية ومنفصلة حتّى لا تؤثّر مشكلة أحد المستخدمين على مجتمع المستخدمين بالكامل. يونيلا و VMS ونظم تشغيل الحواسيب الأيوانية مثل MVS. هي من أمثلة نظم التّشغيل المتعدّدة المستخدمات.
إنّه مهمّ أن تفرّق هنا بين نظم تشغيل متعدّدة المستخدمات ونظم تشغيل المستخدم الواحد التي تساند الشبكات. الويندوز2000 و نوفيل نيتوير تستطيع أن تساند المئات أو آلاف من المستخدمين مغطّين بشبكة، ولكنّ نظم التّشغيل نفسها ليست نظم تشغيل متعدّدة المستخدمين حقيقيّة. حيث أن مدير النّظام هو المستخدم الوحيد للويندوز2000 أو نيتوير. دعم الشّبكة لكلّ مستخدم بعيد للشّبكة يمكّن، في الخطّة الشّاملة للنظام التّشغيل، برنامج مدارٍ من قبل المستخدم الإداريّ أو البرنامج المشرف للشبكة.
نداء الاستنهاض:
عندما توصل الطاقة للحاسوب ويتم تشغيله، البرنامج الأوّل الذي ينفذ عبارة عن فئة من التعليمات موجودة عادةً في ذاكرة القراءة فقط للحاسوب (ROM) التي تفحص معدّات النّظام للتأكّد من أنّ كل شيء يشتغل بشكل مناسب. هذه الاختبار الذاتي عند الإشعال (Power-On-Self-Test) تفحص الأخطاء في وحدة المعالجة المركزية والذاكرة ونظام الإدخال والإخراج الأساسي (BIOS) وتخزّن النّتيجة في مكان خاص في الذاكرة. إذا ما كان اختبار الـ(POST) قد تم بنجاح فإن البرنامج المحمّل في الـ(ROM) سيبدأ في تفعيل محرّكات الأقراص في الحاسوب. في معظم الحواسيب الحديثة، عندما يتم تفعيل القرص الصّلب، البرنامج يجد الجزء الأول لنظام تشغيل: (محمل برامج الاستنهاضBootstrap-Loader ).
(BOOTSTRAP-LOADER) عبارة عن برنامج صغير عنده مهمة واحدة : تحميل نظام التّشغيل للذاكرة ويسمح له أن يبدأ العمليات . في الشكل الأكثر جوهريّة، (BOOTSTRAP-LOADER) يقوم بتنصيب برامج مسيقات الأجهزة الصّغيرة وذلك للتوصيل البينيّ مع و التحكم في الأنظمة الفرعية للمعدّات المتنوّعة للحاسوب. يعد أقسام الذّاكرة التي تحمل نظام التّشغيل ومعلومات المستخدم والطّلبات. ينشئ هياكل البيانات التي ستمسك الإشارات العديدة والأعلام و الإعلام الإشاريّة التي أعدت للتّواصل خلال وبين أنظمة الفرعية ووتطبيقات الحاسوب. ثمّ يقوم بتحويل السيطرة في الحاسوب إلى نظام التّشغيل.
مهامّ نظام التّشغيل، الأكثر شمولية، تقع في ستّة أصناف :
· إدارة المعالجات
· إدارة الذّاكرة
· إدارة الدخل والخرج (الآلات)
· إدارة التّخزين (إدارة الملفات)
· واجهة المستخدم (User Interface)