مقدمة
الحواسيب الحديثة متعددة اﻷغراض، شاملة الحواسيب الشخصية والحواسيب العملاقة(mainframes)، لها نظام تشغيل ليشغل باقي البرامج مثل التطبيقات البرمجية comme windows. تشمل اﻷمثلة على أنظمة تشغيل الحواسيب الشخصية ميكروسوفت ويندوز، لينوكس، ماك أو.إس(داروين)، ويونكس.
تشمل الفوائد اﻷساسية لنظام تشغيل ما يلى:
1. يسمح بتشغيل أكثر من برنامج في نفس الوقت
2. يسهل برمجة التطبيقات البرمجية، ﻷن البرنامج لن يحتاج إلى التعامل مع العتاد مباشرة. يدير نظام التشغيل العتاد وتفاعله مع البرمجيات. كما يوفر أيضا واجهة عالية المستوى للعتاد وطريقة للتفاعل مع البرامج اﻷخرى.
المستوى اﻷدنى من أي نظام تشغيل هو نواته. هذه هي الطبقة اﻷولى من البرمجيات التي يتم تحميلها في الذاكرة عند إقلاع النظام أو بدء التشغيل. توفر النواة إمكانية الوصول إلى الخدمات المركزية الشائعة اﻷخرى لكل برامج النظام والتطبيقات. هذه الخدمات تشمل(وليس فقط): جدولة المهام، إدارة الذاكرة، الوصول للقرص، و الوصول ﻷجهزة العتاد.
كما هو الحال بالنسبة للنواة، فإن نظام التشغيل كثيرا ما يزود ببرمجيات نظام ﻹدارة واجهة المستخدم الرسومية (بالرغم من إدماج ويندوز و ماكينتوش لهذه البرامج في نظام التشغيل). وأيضا أدوات لمهام مثل إدارة الملفات و إعداد نظام التشغيل. في أحيان كثيرة يوزع مع نظام التشغيل برمجيات ليست لها علاقة مباشرة بالوظائف اﻷساسية لنظام التشغيل، ولكن من يوزع نظام التشغيل وجد فائدة في توزيعها معه.
الفاصل بين نظام التشغيل وبرمجيات التطبيقات غير واضح، وكثيرا ما يكون موضع خلاف. من وجهة النظر التجارية أو القانونية، فإن الفصل يعتمد على سياق اﻹهتمامات الداخلة في الموضوع. على سبيل المثال، واحد من اﻷسئلة الرئيسية في قضية الولايات المتحدة ضد ميكرسوفت هو هل متصفح ويب ميكروسوفت جزأ من نظام التشغيل أم لا.
كما هو الحال مع مصطلح "نظام تشغيل"، فإن الخلاف يدور أحيانا حول ما الذي يجب على النواة إدارته يالتحديد، مع النقاش حول هل يجب أن تكون أشياء مثل نظام الملفات في النواة أم لا. البعض يؤيد النواة الصغريه، و البعض النواة الاحاديه وهكذا.
تستخدم أنظمة التشغيل على أغلب، وليس كل الحواسيب. الحواسيب اﻷبسط، شاملة اﻷنظمة المغروسة اﻷصغر والعديد من الحواسيب المبكرة بدون نظام تشغيل، بدلا من هذا يعتمدوا على برامج التطبيقات لتدير العتاد بمعرفتها، و ربما بمساعدة مكتبات صممت لهذا الغرض.
الخدمات
[عدل] إدارة العمليات
أى عمل في حاسوب، سواء كان خدمة تعمل في الخلفية أو تطبيق، يجرى داخل عملية. ما دامت معمارية جون فون نيومان تستخدم في بناء الحاسوب، فلا يمكن تشغيل سوى عملية واحدة لكل و.م.م في كل مرة. أنظمة التشغيل اﻷقدم مثل إم إس-دوس لا تقدم أى محاولة لتجاوز هذه المحدودية و في الحقيقة يمكن لعملية واحدة فقط أن تعمل عليهم. تستطيع اﻷنظمة الحديثة محاكاة تشغيل أكثر من عملية مرة واحدة (متعددة المهام) على و.م.م واحدة. إدارة العمليات هي طريقة نظام التشغيل في التعامل مع العمليات العديدة العاملة. حيث أن أغلب الحواسيب تحتوى على و.م.م مفردة ذات قلب واحد، فإن الحصول على تعدد المهام يكون ببساطة عن طريق التحويل بين المهام بسرعة. و مع زيادة العمليات التي يشغلها المستخدم يصبح نصيب كل عملية من الوقت أقل، في كثير اﻷنظمة قد يسبب هذا مشاكل مثل تخطى أجزاء من ملفات الصوت أو حركة مرتعشة لمؤشر الفأرة. تشمل إدارة العمليات الحساب والتوزيع "للأنصبة الزمنية".
[عدل] القرص وأنظمة الملفات
لدى الكثير من أنظمة التشغيل العديد من أنظمة الملفات التي يمكن استخدامها بشكل طبيعى، لينوكس لديه أكبر تنوع من أنظمة الملفات هذه، وهي إكس تي 2 ،ext3 ،ReiserFS ،Reiser4 ،GFS ،GFS2 ،OCFS ،OCFS2 ،NILFS . كما يدعم لينوكس أيضا أنظمة ملفات XFS و JFS بشكل كامل. مع دعم لنظام ملفات جدول توزيع الملف (FAT)و NTFS. أما ويندوز فمحدود من ناحية دعمه ﻷنظمة الملفات حيث يدعم فقط: FAT12 ،FAT16 ،FAT32، و NTFS.
بالنسبة ﻷغلب أنظمة الملفات التي ذكرناها هناك طريقتان لتخصيصها. فالنظام هو إما أن يكون نظام الملفات المزود بقيد حوادث أيْ مزود بقيد للحوادث وإما غير journaled. يعتبر النظام المزود بقيد الحوادث journaled خياراً آمناً في حالات تعافي النظام. لو حدث أن توقف النظام عن العمل فجأة (في حالة انقطاع الكهرباء مثلا) فإن نظام الملفات غير المزود بقيد للحوادث سيحتاج إلى نوع من الفحص في حين يحدث هذا تلقائيا في أنظمة الملفات المزودة بقيد الحوادث.
من أنظمة ملفات ويندوز المزودة بقيد الحوادث هي NTFS فقط، في حين أن كل أنظمة ملفات لينكس هي كذلك ما عدا ext2.
يتكون كل نظام ملفات من أدلة وأدلة فرعية منفصلة. ومع ذلك هناك اختلافات غير ملحوظة فمثلا أنظمة ملفات ويندوز تفصل بين المجلدات بالشرطة المائلة الراجعة "\" وأسماء الملفات غير حساسة لحالة اﻷحرف، على حين في يونكس يفصل بين المجلدات باستخدام الشرطة المائلة "\" وأسماء الملفات حساسة لحالة اﻷحرف.
[عدل] الشبكات
أغلب أنظمة التشغيل الحديثة قادرة على استخدام بروتوكول الشبكات العالمى TCP/IP. مما يعنى أن أحد اﻷنظمة يمكن أن يظهر في شبكة نظام آخر، ويشاركه المصادر مثل الملفات، و الطابعة، و ماسح الصور.
الكثير من أنظمة التشغيل أيضا تدعم واحد أو أكثر من البروتوكولات التقليدية الخاصة بكل مصنّع، مثل SNA في أنظمة آي بي إم، و البروتوكولات الخاصة بميكروسوفت في ويندوز. هناك أيضا بروتوكولات خاصة بمهام معينة مثل NFS للوصول للملفات.
[عدل] اﻷمن
اﻷمن من منظور نظام التشغيل يعنى: التحقق من المستخدمين قبل السماح بالوصول، تصنيف مستوى السماحية بالوصول الذي يملكه المستخدم، و تحجيم مستوى الوصول تبعا للسياسة التي يحددها مدير النظام.
[عدل] واجهة المستخدم
أغلب أنظمة التشغيل الحديثة اليوم توفر واجهة مستخدم رسومية(GUI). بعض أنظمة التشغيل اﻷقدم تربط بشكل وثيق بين الواجهة الرسومية و النواة مثل اﻹصدارات اﻷولى من ويندوز و ماك أو.إس. أنظمة التشغيل اﻷحدث تفصل بين نظام الرسوميات الفرعى و النواة (كما في ماك أو.إس.إكس و اﻷنظمة المبنية على ويندوز إن.تى.)
[عدل] مشغلات العتاد
مشغل العتاد هو قطعة من يرمجيات الحاسوب صممت لتسمح بالتفاعل بين العتاد والبرمجيات.
[عدل] واجهة التطبيقات
هذه الواجهة توفر لمطوري البرامج والتطبيقات مجموعة من الدوال الأساسية التي يكثر استعمالها مثل دوال لادارة الذاكرة والدوال الرسومية ودوال لادارة الملفات وغيرها . هذه الواجهة تسهل عمل المبرمج حيث انها توفر عليه القيام بهذه المهمات في البرامج التي يكتبها .
[عدل] الوظائف الأساسية
لنظام التشغيل وظائف أساسية في عمل الحاسوب من أهمها:
* تنظيم ملفات المستخدم على العديد من وسائط التخزين (Storage Media) كالقرص الصلب والقرص المضغوط (CDROM). كما و يعتمد كل نظام تشغيل على نظام ملف( File System) خاص به، مثلا، تعتمد معظم أنظمة تشغيل مايكروسوفت ويندوز الجديدة على نظام NTFS.
* تنظيم البرامج المحمَلة على الحاسوب و قطع الأجهزة(hardware) المتصلة به، كالشاشة و الطابعة و لوحة المفاتيح...الخ
* معالجة أخطاء قطع الأجهزة و البرامج و تفادي خسارة المعلومات.
* المحافظة على سرية النظام و ذلك لضمان عدم الوصول غير المسموح به للبيانات و البرمجيات.
* إدارة الذاكرة الرئيسية و وحدات الإدخال و الإخراج و إدارة وحدة المعالجة و وحدات التخزين الثانوي.
[عدل] بعض الانظمة المتوفرة
* مايكروسوفت ويندوز، طور في العام 1992 في النسخة Widows3.1
* ماك أو إس عشرة من شركة أبل، الذي بدأ تطويره في عام ١٩٨١ ، ذي المصدر المفتوح والذي يتمتع بشهرة كبيرة في المجال الإعلامي والتلفزيوني
* جنو/لينكس الحر مفتوح المصدر. (يمكن تنزيله عبر الانترنت)
* يونكس. طور في العام 1969، يتمتع بشهرة كبيرة في الأوساط الأكاديمية لدوره الكبير في تطوير شبكة إنترنت.
* رياكت أو إس نظام تشغيل حر مفتوح المصدر متوافق مع نظام ويندوز.
* إم إس - دوس
* أو إس/2 المطور من قبل اي بي ام
* سولاريس: و هو نظام تشغيل قوى و يتمتع بواجهة رسومية.
1
ومن المعروف أن أنظمة التشغيل تؤمن مجموعة من الوظائف الضرورية التي تستخدم من قبل البرامج التطبيقية على الحاسوب، والربط الضروري لعمليات التحكم والتزامن لعتاد الحاسوب. في الحواسيب الأولى، بدون نظام تشغيل، احتاج كل برنامج إلى مواصفات عتاد كاملة لكي يعمل بشكل صحيح وينجز المهام القياسية، كما احتاج برامج تشغيل خاصة به للأجهزة الملحقة كالطابعات وقارئات البطاقات وغيرها.
في النهاية التعقيدات المتزايدة للأجهزة والبرامج التطبيقية جعلت برامج التشغيل ضرورة لابد منها
[عدل] معلومات عامة
افتقدت الحواسيب الأولى لأي شكل من أنظمة التشغيل. استعمل المستخدم الحاسوب لغرضٍ وحيد وكان الحاسوب يصل مجهزاً بالبرنامج والبيانات، والتي غالباً ما كانت تأتي على شريطٍ مثقوب.
يتم تحميل البرنامج على الجهاز، ثم يبدأ الجهاز بالعمل حتى يتم البرنامج عمله أو ينهار. وبشكل عام يتم تصحيح البرامج باستخدام لوحة أمامية باستخدام المبدلات والأضواء.
يقال أن آلان تورنج كان محترفاً في ذلك على جهاز مانشستر مارك 1 ، وكان قد بدأ باشتقاق المفاهيم الأولية لنظام التشغيل من مبادئ آلة تورنج العالمية.
الحواسيب اللاحقة أتت مع مكتبات من الكود الداعم، الذي كان يرتبط مع برنامج المستخدم ليساعد في بعض العمليات كعمليات الإدخال والإخراج. وذلك كان أصل أنظمة التشغيل المستعملة في أيامنا هذه.
على الرغم من ذلك، الأجهزة مازالت تقوم بعملٍ واحد في نفس الوقت. في جامعة كامبردج في بريطانيا طابور العمل كان فيما مضى حبل غسيل تعلق عليه الأشرطة بملاقط غسيل ملونة لتدل على أولوية العمل.
مع مرور الوقت ازدادت قوة الأجهزة ومعها قل الوقت اللازم لتشغيل البرامج، تحول استخدام أجهزة المحاسبة والدفع من التحقق من ساعة الحائط إلى التسجيل التلقائي من الحاسوب.
طابور التشغيل تحول من طابور من الناس الواقفين بالباب، إلى كمية كبيرة من الوسائط على جداول انتظار المهمات، أو كميات من الشرائط المثقوبة المكومة فوق بعضها البعض في القارئ، حتى أصبح بإمكان الجهاز اختيار سواقة الشريط المغناطيسي المتصلة والقراءة منها. عندما واجهت مراكز الحاسوب التجارية مشاكل فقدان البيانات بسبب التلاعب أو أخطاء التشغيل، تم وضع بائعي القطع تحت الضغط من أجل تحسين مكتبات التشغيل لمنع الاستخدام الخاطئ لموارد النظام. المراقبة المؤتمتة كانت ضرورية ليس فقط من أجل استخدام المعالج بل أيضاً للصفحات التي تطبع، البطاقات التي تثقب، قراءة البطاقات، تخزين القرص المستخدم بالإضافة إلى عملية التراسل عندما يتطلب الأمر تدخل العامل كتغيير الشريط المغناطيسي مثلاً
وبشكلٍ هام، أصبح بإمكان المبرمجين استخدام شيفرات برمجية رمزية بدلاً من كتابة الشيفرات الثنائية يدوياً، وذلك عندما سمح تحويل المهام للكمبيوتر بترجمة البرامج إلى ملفات ثنائية قبل تشغيلها. هذه البرامج المقيمة والتي تعمل في الخلفية، والقادرة على إدارة مهام متعددة الخطوات كانت تسمى برامج-المراقبة (monitor-programs) قبل أن يصبح مصطلع "أنظمة التشغيل" شائعاً
عندما أصبح بإمكان مطوري البرامج الوصول وتشغيل أعمالهم الخاصة على الأجهزة، كانوا قد تعرضوا للإقصاء من قبل عمال الأجهزة المكرسين الذي اعتنوا بصيانة وبصحة الأجهزة وكانوا أقل اهتماماً بإتمام المهام يدوياً.
ولكن كان هناك تحوير في المعنى في حقبة الحوسبة التجارية، بسب وجود العديد من البرامج "الثانوية" التي وضعت مع حزمة نظام التشغيل، مما أدى في النهاية إلى إدراك نظام التشغيل كنظام مستخدم كامل مع برامج الخدمات، التطبيقات (كمحررات النصوص ومدراء الملفات) وأدوات الإعداد ووجود واجهة مستخدم رسومية مضمنة. إن برنامجاً تحتياً يؤمن إدارة أساسية للأجهزة، جدولة للبرمجيات، ومراقبة للمصادر قد يبدو السلف البعيد لأنظمة التشغيل الموجهة للمستخدم في حقبة الكمبيوترات الشخصية.
جميع هذه الميزات كانت تمهد الطريق لبناء نظام تشغيل متكامل ومؤهل. في آخر الأمر أصبحت مكتبات التشغيل (runtime libraries) برنامجاً مدمجاً يبدأ قبل أول عمل للعميل وكان باستطاعته قراءة عمل العميل، التحكم بتنفيذه، والتنظيف بعده، وتسجيل استخدامه، والاستمرار في معالجة العمل التالي مباشرةً.
الحفيد الحقيقي لأنظمة التشغيل الأولى هو ما نسميه الآن الكرنل أو ما يسمى نواة نظام التشغيل، في مجال التطوير والتقنية المفهوم القديم والقاصر لنظام التشغيل يستمر بكونه صحيحاً، بسبب التطور النشط والمستمر لأنظمة التشغيل المضمنة (Embedded OS) لجميع أنواع الأجهزة مع مكوّن لمعالجة البيانات، بدأً من الأدوات اليدوية وحتى الروبوتات الصناعية وأجهزة التحكم ذات الوقت الحقيقي، والتي لا تشغّل برامج المستخدم في الواجهة النهائية. إن أنظمة التشغيل المضمنة في الأجهزة اليوم لم تزل تماماً كما قد يظن البعض، من أسلافها في الخمسينيات
ساحة النقاش