الأحد، يناير 03، 2010

مفهوم و أنواع نظم التشغيل

يتكون نظام الحاسب الآلي من معالج أو عدة معالجات بالأضافة الي الذاكرة الرئيسية والأقراص والطابعات ولوحة المفاتيح وجهاز العرض ومحولات الشبكة والتي تسمي مجتمعه بالمكونات المادية Hardware , وتشكل هذه المكونات مجتمعه نظاماً معقداً في التعامل , مما أستوجب كتابة برامج تتحكم في أدارة جميع هذه المكونات وتستخدمها أستخداماً صحيحاً , وتسمي هذه البرامج ببرامج النظام والتي من أهم وظائفها أدارة جميع هذه الأجهزة ( المكونات المادية ) بالأضافة الي تقديم واجهة بسيطه للمستخدم لكي يتمكن من التعامل مع المكونات المادية .
ينقسم نظام الحاسب الألي الي ثلاثة وهي علي النحو التالي :-
الطبقة الأولي وهي طبقة المكونات المادية والتي تنقسم الي ثلاث مستويات , المستوي الأول الذي يتألف من الأجهزة الفيزيائية والتي تشمل شرائح دارات متكاملة واسلاك وومزودات طاقة وأجهزة فيزيائية أخري .
أما المستوي الثاني والذي يشتمل علي البنية المكروية والتي تجمع الأجهزة الفيزيائية مع بعض المسجلات الداخلية في المعالج وذلك , لتنفيذ مجموعة من التعليمات .
أما المستوي الثالث والذي يحتوي علي لغة الألة والتي تتكون من 50 الي 300 تعليمة معظمها من أجل نقل البيانات بين اجزاء الحاسب الألي وأنجاز العمليات الحسابية ومقارنة القيم بالأضافة الي التحكم في أجهزة الأدخال والأخراج من خلال تحميل بعض القيم في المسجلات الخاصة بهذه الأجهزة .
وعلي سبيل المثال اذا أردنا تنفيذ أمر قراءة من القرص فيجب تحميل قيم عنوان القرص وعنوان الذاكرة الرئيسية وعدد البايتات المراد نقلها ونوع العملية ( قراءة أم كتابة ) في المسجلات الخاصة بذلك .
والطبقة الثانية من طبقات نظام الحاسب الألي هي طبقة برامج النظام والتي تحتوي علي نظام التشغيل والذي يهدف الي احفاء جميع التعقيدات , حيث يتكون نظام التشغيل من طبقة طبقة برمجيات تخفي التعقيدات التي تظهر عند التعامل مع المكونات الفيزيائية وذلك من خلال مجموعة من التعليمات المناسبة , التي تجعل التعامل مع تلك المكونات من المهام السهله , كما توضع بقية برمجيات النظام فوث نظام التشغيل والتي تحتوي علي مفسرات الأوامر ومحررات النصوص والمترجمات وغيرها من البرامج غير التطبيقية .
وبالرغم من انها تزود من قبل صانع الحاسب الألي مع نظام التشغيل الا أنها ليست جزءاً من نظام التشغيل ويمكن توضح ذلك من خلال تعرف نظام التشغيل الذي يعرف علي انه جزء من البرمجيات التي تعمل في نمط النواه ( Kernel Mode ) ولايمكن للمستخدم تعديله .
أما محررات النصوص والمترجمات فهي تعمل في نمط المستخدم ( User Mode ) ويمكن للمستخدم تعديلها , فمثلاً اذا لم يرغب المستخدم في التعامل مع مترجم معين فيمكنه كتابه مترجم خاص به وأستخدامه بدلاً من المترجم السابق , لكنه لا يستطيع تغيير معالج مقاطعه الساعه لانه جزء من نظام التشغيل ويكون محمياً من قبل المكونات المادية من محاولات التعديل من قبل المستخدم .
الطبقة الثالثة من طبقات نظام الحاسب والألي والتي تمثل طبقة البرامج التطبيقية وهي برامج تعمل في نمط المستخدم ( User Mode ) لكنها تساعد نظام التشغيل علي القيام بمهام مهمه علي سبيل المثال هنالك برنامج يسمح للمستخدم بتغيير كلمة المرور وهذا البرنامج ليس جزءاً من نظام التشغيل لانه لايعمل في نمط النواه ( Kernel Mode ) لكنه يقوم بمهمه حساسه ويجب حمايته بطريقة خاصة .
ماهو نظام التشغيل
بالرغم من أن معظم مستخدمي الحاسب الألي لهم بعض الخبرة في واحد أو أكثر من أنظمة التشغيل الأ أنهم يصعب عليهم تحديد بالضبط ماهو نظام التشغيل لما يقوم به من وظيفتين منفصلتين عن بعضهما تماماً وهما :-
اله ظاهرية Virtual Machine
بنية معظم الحاسب الألي يصعب برمجتها علي مستوي لغة الأله وخاصة برمجة أجهزة الأدخال والأخراج ويمكن توضيح ذلك بشرح كيفية أنجاز عمليات الأدخال والأخراج من القرص المرن .
تحتاج كل من الأوامر الأساسية Read & Write الي 13 بارامتر تحدد هذه البارامترات بعض الأشياء منها عنوان كتلة القرص المرن المراد قراءتها وعدد القطاعات في المسار ونمط التسجيل المستخدم في الوسط الفيزيائي ومسافة الفجوة بين القطاعات وغيرها , بالأضافة الي كل هذه التعقيدات , يجب علي مبرمج سواقه الأقراص الأنتباه الي حالة المحرك , اذا كان المحرك متوقفاً فيجب تشغيله قبل التمكن من قراءة أو كتابة البيانات , وعند الأنتهاء من عملية الكتابة أو القراءة يجب أيقاف المحرك من العمل حتي لا يتلف القرص .
من المثال السابق يتضح لنا أن المبرمج لا يرغب في التدخل في العمليات علي سبيل المثال التعامل مع الأقراص المرنه بل يحتاج الي تجريد بسيط للتعامل مع تلك الأقراص فمثلاً يحتوي القرص علي مجموعة من الملفات فيحتاج المبرمج الي طريقة لكي يفتح كل ملف , ثم أمكانية القراءة منه أو الكتابة فيه و أغلاقه بعد الأنتهاء من عملية الكتابة أو القراءة , أما التفصيل فمثلاً ماهي حالة محرك القرص فيجب الا يراها المستخدم .
يمكن القول بإن البرامج التي تخفي حقيقة المكونات المادية عن المبرمج أو المستخدم وتقدم له تجريداً بسيطاً وجميلاً في التعامل مع الملفات وأمكانية الكتابة فيها أو القراءة منها هي بالتأكيد نظام التشغيل .
من هذه الزاوية يمكن القول بإن وظيفتة نظام التشغيل عي اله ظاهرية Virtual Machine تسهل أستخدام المكونات المادية التي تحتها اما كيفية تحقيق هذه الغاية فهي عملية طويلة .
نستخلص من ذلك بإن نظام التشغيل يقدم خدمات متنوعه تستطيع البرامج الحصول عليها بإستخدام تعليمات خاصه تدعي أستدعاءت النظام System Calls
مدير الموارد Resource Manger
عندما ننظر الي نظام التشغيل من أعلي الي أسفل يتضح لنا أنه يقدم واجهه مناسبه وسهله للمستخدمين كما ذكرنا سابقاً .
أما اذا نظرنا اليه من أسفل الي أعلي فنجده يقوم بإدارة جميع اجراء الحاسب الألي , ويمكن توضيح ذلك اذا تخيلنا انه هنالك ثلاث عمليات تعمل كلها علي جهاز واحد وكل عمليه تريد طباعة ملف معين في نفس الوقت وعلي الطابعة نفسها , سيكون السطور الأولي من مخرجات الطابعه من العملية الأولي بينما السطور التالية من العملية الثانية وبعض السطور من العملية الثالثة مما يحدث فوضي عارمه .
يمكن لنظام التشغيل تنظيم هذه الفوضي وذلك من خلال تخزين بيانات العمليات الثلاثة المتجهه الي الطابعه في مخزن وسيط Buffer موجود في القرص , فعندما تنتهي العملية الأولي من الطباعه يستدعي العملية الثانية وهكذا .
تزداد الحاجه لأدارة وحماية موارد الحاسب الألي عندما يكون للحاسب عدة مستخدمين , لانه يمكن أن تتداخل أعمال المستخدمين مع بعضها البعض , بالأضافة الي ذلك فقد يحتاج المستخدمين للتشارك ليس في المكونات المادية فقط بل بالمعلومات أيضاً ( الملفات , قواعد البيانات , .... الخ ) .
من هذا المنظور يمكن تحديد مهمة نظام التشغيل علي أنه ينظم استخدام المستخدمين للموارد , وذلك بمنح تلك الموارد لمن يطلبها ومراقبة استخدامها ومنع التضارب في طلبات تلك الموارد من المستخدمين المختلفين .
يتم توزيع مشاركة الموارد بطريقتين طريقة زمانية وطريقة مكانية , فعند توزيع الموارد زمنياً Time Multiplexing يمكن لكل برنامج استخدام المعالج لفترة زمنية معينه , فمثلاً يقوم البرنامج الأول بإستخدام المعالج في البداية ثم يإتي دور البرنامج الثاني وهكذا الي أن يتم تنفيذ كل البرامج .
في الأنظمة التي تحتوي علي معالج واحد ويوجد عدة برامج يراد تنفيذها في هذه الحالة يقوم نظام التشغيل بتخصيص المعالج لاحد البرامج ثم ينتظر فترة زمنية كافية لكي يعمل قليلاً , وبعد ذلك ينتقل التنفيذ لبرنامج أخر ثم بعد قليل للبرنامج الأخر وهكذا ينتقل الدور تدريجياً حتي يصل الي البرنامج الأول مره أخري .
من الأمثلة الأخري علي التوزيع الزمني التشارك بالطابعة .
النوع الأخر هو التوزيع المكاني Space Multiplexing فمثلاً تقسم الذاكرة الرئيسية عادة بين عدة برامج تعمل علي الجهاز بحيث يستطيع كل منها أن تقيم في الذاكرة في نفس الوقت منتظره دورها لأستخدام المعالج , اذا أفترضنا أن هنالك ذاكرة كافية لأحتواء عدة برامج , فإن أنسب طريقة هي وضع عدة برامج في نفس الوقت بدلاً من جعل كل منها تإخذ الذاكرة كلها , وخصوصاً اذا كانت تحتاج فقط الي جزء من تلك الذاكرة .
من الموارد الأخري الموزعه مكانياً القرص الصلب وذلك لأن القرص الصلب في العديد من الأنظمة تخزن فيها ملفات تابعة لعدة مستخدمين في نفس الوقت , وتعد عملية تخصيص مساحة القرص ومعرفة من يستخدم الكتل المختلفة في القرص من مهام نظام التشغيل الأساسية .
تاريخ أنظمة التشغيل
شهدت انظمة التشغيل تطوراً كبيراً منذ ظهورها وحتي الان وسوف نحدث في الجزئية التالية عن اهم المراحل التي مرت بها انظمة التشغيل.
ان الحاسب القمي الاول كان من تصميم chartes Babbage(1792-1871) وكان يسمي بالمحرك التحليلي(analytical engine) ولم يعمل بشكل جيد لانه كان ميكانيكياً بصورة بحته وكانت التقنيات الميكانيكية في ذلك الحين غير كافية لانتاج مثل هذه الاله المعقدة كما انه لم يملك اي نظام تشغيل لكنه كان يحتاج الي برمجيات واول من برمجته هي Ado Lovelace والتي تعد البرمجة الاولي في العالم .
الجيل الاول (1955-1945) الصمامات المفرغة ولوحات التوصيل
ظهرت الحواسيب الرقمية في اواسط الاربعينيات علي شكل محركات حسابية كما انها كانت بدائية جداً وتستخدم الحواكم الميكانيكية والتي ابدلت بعد ذلك بالصمامات , وكانت الحواسيب ضخمة جداً وتتكون من الاف الصمامات التي تحتاج الي عدة غرف .
وكانت كل العمليات واتي تتمثل في التصميم والتشغيل والصيانة تتم بواسطة مجموعة عمل واحدة .
وكانت البرمجة تتم بواسطة لغة الالة بالاضافة الي ان مظم البرامج ذات طبيعة حسابية بحته ولم يكن هنالك انظمة تشغيل ,وكانت البرامج انذاك تكتب علي شكل لوحات توصيل تحدد الوظائف الاساسية للالة ,ثم تطورت هذه العملية في الخمسينيات حيث ظهرت البطاقات المثقبة.
الجيل الثاني (1965-1955) الترانزستور والانظمة الدقيقة
منذ ظهور الترانزستور تغير الوضع تماماً , حيث اصبحت الحواسيب أصغر حجماً بكثير واكثر وثوقية واقل اعطالاً .
كما اصبح هنالك تمييز بين المصممين والمنفذين والمشغلين والمبرمجين وعمال الصيانة , وكانت هذه الأجهزة تسمي بالأجهزة الرئيسية Main Frames وكانت هذه الحواسيب توضع في غرف مكيفة ومعزوله مع خبراء التشغيل , كما ظهرت انذاك لغة التجميع Assembly والتي سهلت عمليات البرمجة الي حد بعيد , وبعد ذلك ظهرت أول لغة برمجة عالية المستوي وهي لغة فورتران Fortran .
كان سبب ظهور أنظمة البرمجة الدفعية Batch Programming غلاء التجهيزات في ذلك الوقت , والفكرة الأساسية للبرمجة الدفعية هي تجميع مجموعة من الأعمال ثم تحويلها الي أشرطة مغناطيسية بواسطة حاسب رخيص ثم نقلها الي الحاسب الرئيسي الذي يقوم بمعالجتها دفعة واحدة .
وكانت هذه الحواسيب تستخدم غالباً للحسابات العلمية والهندسية , وعلي سبيل المثال حل المعادلات التفاضيلة الجزئية .
الجيل الثالث ( 1965 – 1980 ) الدارات المتكاملة والبرمجة المتعدده
في نهاية الستينات انتجت الشركات نوعين من اجهزة الحاسب , النوع الأول وهي الحواسيب العلمية الكبيرة مثل IBM 7094 والنوع الثاني وهي الحواسيب التجارية الصغيرة نسبياً مثل IBM 1401 .
وكانت عملية البرمجة لتلك النوعين من الأجهزة عملية صعبه جداً , خاصة وأن معظم الشركات كانت تبدأ بحاسب صغير ثم تتوسع الي حاسب كبير .
قامت شركة IBM بحل تلك المشكلة وذلك من خلال تطوير جيل جديد من الحواسيب تسمي System / 360 وهوعباره عن سلسلة من الحواسيب المتوافقة مع بعضها البعض من الناجية البرمجية وتتدرج بالحجم من الكبيرة الي الصغيرة التجارية
وكما هو معلوم ان جميع الأجهزة لها نفس مجموعة التعليمات فإن البرامج المكتوبة لأحدهما يمكن ان تعمل علي جميع الأجهزة نظرياً , بالأضافة الي انها مصممه لمعالجة العمليات العلمية و التجارية , وبعد سنوات قدمت شركة IBM سلسلة جديده متوافقه مع System / 360 تتضمن أجهزة 370 & 4300 &3080 &3090 .
يعتبر System / 360الجهاز الأول الذي استخدم الدارات المتكاملة , وكان هذا تطويراً كبيراً عن الجيل الثاني الذي استخدمت حواسيبه الترانزستورات المنفرده .
كما أن هذه الأجهزة مازالت تستخدم حتي الأن ولكن بنسخ احدث وذلك لأدارة قواعد البيانات الضخمة ومواقع الويب الكبيرة .
هنالك عده ميزات لهذا الجيل عن الأجيال السابقة له , ومن اهم الميزات البرمجة المتعدده Multiprogramming , ويعتمد مبدأ البرمجة المتعدده علي حقيقة ان المعالج عند قيامه بعملية أدخال / أخراج يبقي خاملاً حتي أنتهاء العملية ,
ولم يكن هذا الوقت ذو اهتمام في التطبيقات العملية التي لا تحتوي علي عمليات أدخال / أخراج كثيفة , لكنه شكل نسبه كبيرة من الوقت في التطبيقات التجارية لهذا ظهرت فكرة البرمجة المتعدده لحل هذه المشكلة , وذلك بتقسيم الذاكرة الي عده قطاعات تحوي كل منها مهمه مختلفه فعندما تكون احدي هذه المهام منتظره انتهاء
عملية أدخال / أخراج يمكن لمهمه أخري أستخدام المعالج .
من المزايا الأخري التي ميزت الجيل الثالث عمليه ترتيب عمليات الطرفيات أو ما يسمي
بـ Spooling Simultaneous Peripheral Operation On Line
ففي هذه الطريقة يتم قراءة المهام علي شكل بطاقات مثقبه وتصطف بعضها وراء بعض , فعند انتهاء تنفيذ احداهما تحل محلها احدي المهام الموجودة في الترتيب .
علي الرغم من كل هذه الميزات يبقي العمل في اجهزة الجيل الثالث دفعياً Batch أي ان المهام تنفذ علي شكل دفعات كبيرة , مما يعني ان الزمن بين اعطاء البرنامج واستلام النتائج قد يمتد الي عده ساعات .
ظهرت تقنية المشاركة الزمنية Time Sharing وهي نوع أخر من البرمجة المتعدده لحل مشكلة بطء زمن الأستجابة , وتعتمد فكرة هذه التقنية علي اتصال مجموعة من المستخدمين بحاسب واحد عبر عده طرفيات مستقلة , ثم يقوم نظام التشغيل بتوزيع وقت المعالج المركزي علي المهام التي يشغلها المستخدمون .
وكما ان معظم المستخدمون يقومون بطلب مهام قصيرة في اغلب الأحيان , فإن الحاسب يستطيع تقسيم زمن الخدمة الي مجموعة من المستخدمين بنفس الوقت وبشكل تفاعلي .
يعتبر نظام CTSS الذي ظهر في عام 1962 أول نظام للمشاركة الزمنية ثم جاء بعده نظام Multics الذي تعثر في بادي المر وذلك بسبب ان نظام التشغيل مكتوب بلغةPL/I لكنة في النهاية استطاع ان يشق طريقة الي من الشركات والجامعات حول العالم وظل مستخدماً حتي اواخر التسعينيات اي بعد 30 عام من انطلاقه.
من المميزات الاخري لاحاسبات الجيل الثالث هو انتشار الحواسيب الصغيرة والتي تسمي minicomputer ومن امثلتها سلسلة PDP التي انتجتها شركة DECوهي اجهزة غير متوافقة مع بعضها البعض ومن اشهرها PDP-U ثم بعد ذلك قامت شركة Beu بكتابة نسخة مصغرة من multics كي تعمل علي اجهزة PDP-U وتعم مستخدماً واحداً فقط .
عرف ذلك النظام فيمابعد بنظام UNIX والذي اشتهر في مراكز البحوث والموسسات الحكومية والشركات التجارية . ثم طور من قبل عدة شركات لذلك اصبح ذو نسخ متعددة غير متوافقة ومن اشهرها system v التي انتجتها جامعة Berkeley ثم ظهرت بعد ذلك عدة نسخ مجانية من UNIX مثل minix ذو الطابع التعليمي البحت وLinux الذي اتخذ جانباً تجارياً واصبح من اشهر انظمة التشغيل .
الجيل الرابع (1980-وحت الوقت الحالي) الحواسيب الشخصية
ظهرت الحواسيب الشخصية مع ظهور الدارات ذات التكامل الواسع النطاق large scale integration LSI ,كما ان الحواسيب الشخصية لم تكن ختلفة في بنيتها مع الحواسيب الصغيرة مثل PDP-U لكنها كانت مختلفة كثيراً من حيث السعر يحيث اصبح بامكان كل شخص امتلاك حاسب شحصي خاص به .
اطلقت شركة Intel اول معالج 8بت ذو الاغراض العامة وهو 8080 وكان ذلك في عام 1974 , وظهر معه اول نظام تشغيل للحواسيب الشخصية ويدعي CP/m Control Program /minicomputer . وبعد ذلك قامت شركة Digital Research بتطوير CP/mللعمل مع عده معالجات من بينها 8080 و280 مما جعله يسيطر علي عالم الحواسيب لمدة 5 سنوات .
قامت شركة IBMبتصميم جهازها الشخصي IBM PC في اوائل الثمانينات وطرحته علي الاسواق مرفقه معه نظام التشغيل MS-DOS ومفسر لغة Basic من شركة Microsoft الناشئة.
اصبح نظام التشغيل MS- DOS الاشهر عندما رافق المالج Intel 286 & 386 & 486 وقد اضيفت اليه الكثير من المزايا في الاصدارات اللاحقه وكانت مستوحا من نظام وحت ذلك الحين كانت جميع انظمة التشغيل تعتمد علي كتابة الاوامر علي لوحة المفاتيح , ولكن الامر تغير عند ظهور مايدعي بواجهة المستخدم الرسومية GUI Graphical User Interface والتي ظهرت في البداية مع اجهزة Xerox Parc المتطورة التي انتجتها شركة Xerox , الأ أنها لم تهتم بهذه التقنية بعد ذلك كثيراً , والتي أنتج منها Steve Jobs وهو أحد مؤسسي شركة Apple فكرة نظام Lisa الذي فشل في الأنتشار نسبة لغلاء سعرة ولكن شركة Apple اتبعته مباشرة بنظام Macintosh الذي أمتاز بسهولة الأستخدام .
تأثرت شركة Microsoft بنجاح نظام Macintosh ثم بدأت بتطوير نظام Windows الذي لم يكن نظام تشغيل حقيقي بل كان عبارة عن طبقة رسومية فوق MS-DOS .
وفي عام 1995 اطلقت شركة Microsoft نظام Windows مستقلاً يدعي Windows 95 والذي تضمن نظام MS-DOS بداخله كما اصدرت بعد ذلك نظام Windows 98 مع بعض التحسينات وبعده اطلقت نظام تشغيل جديد يدعي
Windows Nt لكنه لم ينجح تجارياً الا بعد الأصدارة الرابعة وذلك لظهور أنظمة الشبكات الكبيرة في الشركات ثم أصدرت الأصدارة الخامسة وسمتها Windows 2000 وذلك لجعله خلفاً لنظامي Windows 98 & Windows NT 4.0 معاً , ولكنه لم ينجح تماماً فأصدرت Windows Millennium الذي كان تحسيناً لنظام Windows 98 .
وأخيراً أطلقت شركة Microsoft نظام Windows XP في عام 2002 كتطوير لنظام Windows 2000 , كما انه يعتمد علي بنيه نظام Windows NT لكنه مصمم ليكون اسهل استخداماً من انظمة Windows 95/98/ME التي تخلت عنها شركة Microsoft نهائياً .
ومن التطورات التي ظهرت في أواسط الثمانينيات ظهور انظمة تشغيل الشبكات وانظمة التشغيل الموزعه والتي تعمل علي شبكات الحواسيب الشخصية .
والفرق بينهما ان انظمة تشغيل الشبكات هي تطوير للأنظمة العادية وذلك بإضافة مزايا الأتصال عبر بطاقات الشبكة , بحيث يستطيع المستخدمون التحكم بعمل الشبكة وتبادل الملفات بالأضافة الي تسجيل الدخول الي الأجهزة البعيده .
بينما النظام الموزع فإنه يبدو للمستخدمين كأنه نظام تشغيل عادي لكنه يخزن المعلومات في انحاء الشبكة دون تدخل أو علم المستخدم .
أنواع أنظمة التشغيل
بعدما تحدثنا عن تاريخ والتطورات التي حدثت لأنظمة التشغيل يكون لدينا عدة أنواع من الأنظمة المتنوعه بعضها معروف والبعض الأخر يستخدم في مجالات ضيغه , وسوف نتحدث في هذا الجزء عن بعض هذه الأنواع ومنها .
أنظمة التشغيل الأجهزة الكبيره Main Frame
تحتل انظمة تشغيل الأجهزة الكبيرة المرتبه الأولي من حيث الحجم , كما انها مازالت تستخدم في مراكز بيانات الشركات الكبري لانها تمتاز عن الحواسيب الشخصية بسعة منافذ الأدخال / الأخراج فمثلاً يمكن ان يحتوي واحد من هذه الأجهزة الكبيرة علي 1000 قرص صلب تسع الي الآف الغيغابايتات من البيانات , بينما الحواسيب الشخصية فأنها تحتوي عادةً علي سعة تخزينية اقل بكثير
كما انها اصبحت تستخدم كملقمات ويب متطورة وملقمات لمواقع التجارة الالكترونية واسعة النطاق وغيرها من الاعمال التجارية .
عموماً تهتم انظمة تشغيل الانظمة الكبيرة بشكل رئيسي بمعالجة عدة مهام في وقت واحد وتحتوي هذه المهام في غالب الأمر على كمية هائلة من عمليات الادخال والاخراج بالاضافة الى ذلك فان تلك الانظمة تقدم نموذجياً لثلاثة انواع من الخدمات الدفعية Batch ومعالجة المناقلات Transaction processing ومشاركة الزمن Time sharing.
انظمة تشغيل المخدمات
يأتي هذا النوع من انظمة التشغيل في المرتبة الثانية والتي تعمل على المخدمات وهي عادة ماتتكون من اجهزة شخصية كبيرة جدا او محطات عمل او اجهزة كبيرة Main frame كما انها تخدم عدة مستخمين في نفس الوقت على الشبكة وتسمح للمستخدمين المشاركة في الموارد المادية والبرمجية .
بالاضافة الى انها تقدم خدمات طباعة الملفات وخدمات الويب , كما ان مواقع الويب تستخدم المخدمات لتخزين صفحات الويب ومن انظمة تشغيل المخدمات النموذجية نظام Unix & Windows2000 وظهر مؤخراً نظام Linux
انظمة تشغيل المعالجات المتعدده
من الطرق الشائعه للحصول علي طاقه حسابيه كبيرة توصيل عده معالجات CPU في نظام واحد وتسمي هذه الأنظمة أما بالحواسيب المتوازية Parallel Computers أو الحواسيب المتعده Multi Computers أو المعالجات المتعدده Multi Processor وذلك حسب طريقة أتصال المعالجات مع بعضها البعض والموارد المشتركة بينها .
وتحتاج هذه الأنظمة الي أنظمة تشغيل خاصه لكنها في العادة تكون أنظمة تشغيل مخدمات معدله لها مزاّيا خاصه لتحقيق الأتصال بين المعالجات .
أنظمة تشغيل الحواسيب الشخصية
النوع الأخر من أنظمة التشغيل هو أنظمة الحواسيب الشخصية التي تنحصر مهمتها في تقديم واجهة جيده للمستخدم .
كما تستخدم هذه الأنظمة بشكل واسع لمعالجة النصوص والجداول الممتده والوصول للأنترنت ومن الأمثلة الشهيرة لهذا النوع هو نظام Linux & Windows2000 & Windows 98أنظمة تشغيل الزمن الحقيقي
يمتاز هذا النوع من أنظمة التشغيل علي أنه يعتمد علي الزمن كوسيط أساسي .
فمثلاً أنظمة التحكم بالعمليات الصناعيه , تقوم حواسيب الزمن الحقيقي بجمع جميع البيانات عند عمليه الأنتاج ثم بعد ذلك تستخدمها للتحكم في الآت المصنع .
كما ان هذه الأنظمه في الغالب يحتوي علي نقاط حرجه يجب الأهتمام بها
فعلي سبيل المثال أذا كان لدينا سيارة تتحرك ضمن خط إنتاج السيارات فإن هنالك عدة أفعال يجب القيام بها في لحظات زمنية معينه , فمثلاً إذا بدأ روبوت اللحام عمله باكراً أو متأخراً فإن السيارة ستصبح تالفه .
وهذا يعني أنه لدينا نظام زمن حقيقي صلب Hard Real Time System
كما أن هنالك نوع أخر من أنظمة الزمن الحقيقي وهي أنظمة الزمن الحقيقي المرنة Soft Real Time System وهي التي تمكننا من تجاوز بعض الخطوط الحرجة دون حدوث أي مشاكل .
من أمثلة هذه الأنظمة أنظمة الصوت الرقمي والوسائط المتعددة , ومن أشهر أنظمة تشغيل الزمن الحقيقي الشهيرة نظامي QNX & VXworks
أنظمة التشغيل المضمنة
يعمل هذا النوع من أنظمة التشغيل مع حواسيب تتحكم بأجهزة لا تصنف بشكل عام
علي أنها حواسيب مثل أجهزة التلفاز و أفران الميكروويف و الهواتف النقالة .
كما أنها تمتاز في غالب الأحيان بنفس مزآيا أنظمة الزمن الحقيقي لكنها لها قيود أخري
بالنسبة للحجم ومتطلبات الذاكرة والقوة الحسابية مما يجعلها مميزة ومن أمثلة هذه الأنظمة
نظامي Windows CE & Plam OS
أنظمة تشغيل البطاقات الذكية
تعمل أنظمة التشغيل الأصغر حجماً على البطاقات الذكية Smart Cards وهي عبارة عن أجهزة بحجم البطاقة الائتمانية Credit Card بالإضافة الى أنها تحتوي على معالج CPU كما أنها تمتاز بقيود قاسيةعلى القوه الحسابية وحجم الذاكرة لذلك فنجدها تقوم بوظيفة واحده مثل الدفع الالكتروني ، وبعضها يستطيع القيام بعدة وظائف على نفس البطاقة الذكية .
المراجع: -
Operating system concepts, Silberschatz & Galvin, Fifth edition
MODERN OPERATING SYSTEMS