تاريخ أنظمة التشغيل

من ويكيبيديا، الموسوعة الحرة
اذهب إلى: تصفح، ‏ ابحث

تارييخ أنظمة التشغيل

الويندوز[عدل]

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

  • التطور التاريخي لنظم التشغيل من حيث الوظيفة:
    • لم يكن بأستطاعة الحاسبات في أول عهدها بتخزين الكم الهائل من المعلومات فكانت اقل بكثير من إمكانيات التخزين المتوفرة الآن وبالتالى فأن كم العمليات المنفذة اقل كثيرا من المتاحة الآن.
  • التطور التاريخي لنظم التشغيل من حيث التركيب :
    • بدأت الحاسبات بالصمامات المفرغة ثم الترانزستورات وبعد ذلك بالدوائر المتكاملة (integrated circuits) ومن الشرائح الصغيرة (micro chips) وبالتالى أصبحت الحاسبات الحالية صغيرة الحجم جدا.
  • التطور التاريخي لنظم التشغيل من حيث التجهيزات البرمجية
    • حدث تطور هائل على البرمجيات خاصة برمجيات نظم التشغيل حيث مرت برمجيات نظم التشغيل بالمراحل التالية :
      • في عام 1950 ظهر أول نظام تشغيل بنظام معالجة العمل الواحد (job by job processing).
      • في عام 1955 ظهر نظام المعالجة الحزمية المبكر(early patch processing).
      • في عام 1960 بدأت تطورات عديدة على وسائط التخزين وتطور على الذاكرة الرئيسية وبالتالى حدث تطور في نظم التشغيل بحيث يكون قادر على التعامل مع اكثر من برنامج في نفس الوقت (multiplying programming).
      • في عام 1972 حدث ثورة هائلة في تصنيع الذاكرة المساندة وأصبحت جزء من الذاكرة الرئيسية وعرفت بالذاكرة الفعالة (virtual memory).
      • حدث أيضا تطور هائل على وحدات الادخال والإخراج بحيث يمكن ان تخدم اكثر من مستخدم في نفس الوقت(virtual I/O devices).
      • في الاعوام التالية حدث تطورات هائلة وسريعة في نظم التشغيل حيث أصبح كل حاسب يملك نظام تشغيل خاص بة وعلى درجة عالية من التطور.
  • من أنظمة التشغيل المشهورة : MS DOS – PRIMOS - CP/M – يونكسلينكس وجنو

نظام التشغيل[عدل]

مر بتاريخ تطوير طويل يلخص في الآتي:

Batch Systems[عدل]

صممت خلال خمسينيات القرن العشرين للتحكم بالكمبيوترات المركزية. في ذلك الوقت كانت الكمبيوترات أجهزة ضخمة تستخدم مايسمى البطاقات المثقوبة (punched cards)للإدخال والطابعات الخطية (line printers) للإخراج ومحركات الأشرطة (tape drives) كوسط تخزين ثانوي.أي برنامج سيُنفَذ يسمى مهمة (Job).عندما يرغب المبرمج بتنفيذ مهمة ما يرسل طلب إلى غرفة العمليات مرفق بالبطاقة المثقوبة للبرنامج والبيانات. ليس للمبرمج أي تحكم أو تفاعل مع النظام.تتم معالجة البطاقة بواسطة مشغل (operator) إذا كان البرنامج ناجحًا تُرسل نتيجته إلى المبرمج, وفي حالة فشله تُرسل نسخة بالخطأ. كان نظام التشغيل خلال هذه الفترة بسيط جدًا ،مهمته الوحيدة التأكد من أن جميع المصادر قد انتقلت من مهمة لأخرى.

استخدام أنظمة المشاركة الزمنية (Time-Sharing Systems)[عدل]

مصادر نظام الكمبيوتر بكفاءة ظهر مصطلح البرمجة المتعددة (multiprogramming). تتلخص فكرته في تحميل أكثر من مهمة في الذاكرة ويتم تخصيص مصدر واحد للمهمة التي تحتاجه بشرط أن يكون المصدر متاح في تلك اللحظة. مثلاً : عندما يستخدم برنامج ما جهاز الـ ادخال/إخراج تكون وحدة المعالجة المركزية (CPU) متاحة فيمكن استخدامه بواسطة برنامج آخر.البرمجة المتعددة قادت إلى فكرة أخرى “مشاركة الوقت” (time sharing) تتلخص في إمكانية مشاركة المصادر بين المهام المختلفة, كل مهمة تستطيع حجز المصدر لفترة زمنية معينة. ولأن الكمبيوتر أسرع من الإنسان كل مستخدم يشعر بأن كامل النظام يخدمه.البرمجة المتعددة ومشاركة الوقت طورت من كفاءة نظام الكمبيوتر بشكل كبير وأصبح يحتاج بدوره نظام تشغيل أكثر تعقيدًا. فأصبحت نظم التشغيل تحتاج للقيام بالجدولة (scheduling) أي حجز المصادر لبرامج مختلفة واتخاذ القرار :” أي برنامج يجب أن يستخدم هذا المصدر؟”.

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

الأنظمة الشخصية (Personal Systems)[عدل]

بظهور الحاسبات الشخصية ظهرت أيضًا الحاجة لنظم تشغيل خاصة بتلك الأنواع من الحاسبات. فظهر مايسمى بالـ single-user operating systems مثل الـDOS

الأنظمة المتوازية (Parallel Systems)[عدل]

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

الأنظمة الموزعة (Distributed Systems)[عدل]

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

الآن أصبحت نظم التشغيل أكثر تعقيدًا، وأصبح نظام التشغيل بحاجة إلى التعامل مع مصادر مختلفة لنظام الكمبيوتر وصار أشبه بمنظمة تحوي عدة مدراء. كل مدير مسئول عن إدارة قسمه وهو بدوره بحاجة إلى التعاون مع الأقسام الأخرى. نظم التشغيل الحديثة عليها القيام بأربع واجبات على الأقل : إدارة الذاكرة، إدارة العمليات, إدارة الجهاز ،و إدارة الملفات. كالعديد من المنظمات التي تحوي أقسامًا لا تندرج تحت إدارة معينة، نظام التشغيل يحوي أيضًا هذا القسم وهو ما يُسمى واجهة المستخدم (user interface) أو a shell وهو المسئول عن الاتصال خارج نظام التشغيل.

المراجع[عدل]