صاحب التطوّر الثوري لأجهزة الحاسب الآلي تطوراً مماثلاً لنظم التشغيل التي تعمل على هذه الأجهزة، لتعكس احتياجات المستخدم والأهداف التي ساندت تطور الجهاز أصلاً.
بدءاً من الأجهزة القديمة التي لم يكن نظام التشغيل أساساً لعملها، إذ يأتي المستخدم بالعمليات والبيانات مخزّنة على بطاقات أو أشرطة مغناطيسية، لتقوم الآلة بمعالجة هذا البرنامج إلى أن ينتهي أو يتم إيقافه.
وصولاً إلى أنظمة التشغيل الحديثة التي تمكّن المستخدم من تنفيذ الكثير من العمليّات ومن تحقيق العديد من الأهداف في وقت قياسي
الأربعينات: برمجة بلغة الآلة في بداية الأربعينات (1940م) كانت الأجهزة بدائية جداً وبسيطة بحيث لا تتطلب أنظمة تشغيل لعملها ذلك أنها تنهي برنامج واحد في وقت بطيء نسبيّاً قبل تمكنها من بداية أي برامج أخرى.
في البداية كان على المستخدم كتابة جميع العمليات بلغة الآلة، بحيث كان المستخدم هو المبرمج ، بالإضافة إلى كتابة عمليات الإدخال والإخراج بالتفصيل، لكن لم يمض زمن طويل قبل أن جُمعت جميع عمليات الإدخال والإخراج التي كانت في السابق تشكل صعوبة في بناء البرامج، جمعت هذه العمليات لتكوين مكتبة عمليات إدخال وإخراج سميت بـ (IOCS: Input/Output Control System) فعندما يرغب المبرمج إجراء عملية إدخال أو إخراج ما عليه إلا إجراء نداء لأحد الدوالّ التي تحتويها المكتبة لتقوم بالغرض. هذه الخطوة سهّلت الكثير من العقبات والصعوبات التي كان يمر بها مبرمجو تلك الفترة.
هذه المكتبة كانت النواة التي منها تطور مبدأ نظام التشغيل، إذ كانت المكتبة مخزّنة في الآلة لتسهيل عملها والعمل عليها.
توماس واتسون يعمل على واجهة جهاز الـ IBM 701
في هذه الأنظمة قضى المستخدم وقتاً كبيراً في تحويل الجهاز من عملية إلى أخرى. إذ أنه عند انتهاء إحدى البرامج كان عليه إزالة جميع الأشرطة المغناطيسية المحتوية على بيانات البرنامج، وإزالة البطاقات التي تحتوي على الأوامر، ليضع بدلاً عنها الأشرطة التي تحتوي على البرنامج أو العملية القادمة، كحلّ لهذه المشكلة صممت معامل جنرال موتورز (General Motors Research Laboratories) لأجهزة الـ IBM 701 Mainframe في عام 1956م نظام ميكانيكي للتحويل من برنامج لآخر. لاقت هذه الطريقة نجاحاً كبيراً وكانت بداية أنظمة الباتش (Batch Computing).
الستينات: أنظمة الباتش والـMultiprogramming
ويقصد بطريقة الباتش في الحساب أن تجمع جميع الوظائف في مجموعة واحدة من البطاقات التي يتعرف عليها الجهاز ويقوم الجهاز بمعالجة هذه الوظائف بدون تدخل بشري، ويفصل بين كل وظيفة وأخرى بطاقة تحكم. تتحكم الأجهزة بهذه البطاقات المحتوية على الوظائف عن طريق لغة تدعى بـ (JCL: Job Control Language) . وهكذا عند انتهاء بطاقة وظيفة يقرأ الجهاز بطاقة التحكم التي تليها المحتوية على معلومات تخص الوظيفة القادمة.
في عهد الستينات تطورت أنظمة معالجة الباتش فسمحت بمعالجة أكثر من وظيفة في نفس الوقت نتيجة لملاحظة مصممو نظم التشغيل أنه عند طلب وظيفة ما لأمر إدخال أو إخراج فإن المعالج يظل في وضع انتظار لحين تلبية الطلب، لذلك كان على وظيفة أخرى الاستفادة من الوقت الذي ينتظره المعالج، إذ تتعاقب الوظائف بين المعالج وبين الانتظار لأمر إدخال أو أخراج. وسميت هذه الطريقة التي توفر أكبر استخدام للمعالج ولمصادر الإدخال والإخراج بـ (Multiprogramming). ولا ننسى ملاحظة أنه عندما يستطيع النظام معالجة أكثر من وظيفة في نفس الوقت فإنه يمكنه خدمة أكثر من مستخدم في نفس الوقت !.المشكلة الوحيدة التي واجهتها الأنظمة في ذلك الوقت هو محدوديّة قدرة الأجهزة على تخزين الوظائف التي ستعمل عليها في نفس الوقت.
حينها تم تطوير أسلوب آخر يعزز من قابلية الأجهزة لخدمة أكثر من مستخدم في نفس الوقت، هذه الطريقة سميت بـ (Timesharing) إذ يخصص المعالج لكل وظيفة وقت محدد للعمل عليها ثم ينتقل للوظيفة التالية وهكذا، شريحة الوقت المخصصة للعمل على كل وظيفة تم اختيارها بدقة حيث أنها مدة صغيرة جداً في إدراك البشر لكن يمكن للمعالج أن ينجز بها عملاً كثيراً، وهكذا يظن كل مستخدم بأن المعالج مكرّس لإنجاز برنامجه بينما هو في الواقع يعمل على أكثر من برنامج في نفس الوقت.
السبعينات: شبكات الحاسب والحاجة إلى الحماية حتى الآن هذه البرامج ومبادئ نظم التشغيل لم تكن إلا بحوث احتوتها معامل الجامعات والشركات الكبرى، وحتى السبعينات (1970م) حيث تطوّر مبدأ تسويق البرامج ونظم التشغيل. ومما ساعد على تسويق هذه الأنظمة للشركات والجامعات ومختلف المنظمات الحكومية قابلية التواصل بين الأجهزة ونقل البيانات (TCP/IP) .
ونتيجة للاستخدام الواسع (على مستوى الحكومة والجامعات وليس على مستوى العامّة) للتواصل في البيانات واستخدام الشبكات احتاجت نظم التشغيل في هذا العقد إلى تطوير إمكانياتها الشبكية و كذلك إلى تطوير نظم الأمن والحماية فيها، فكان الهدف في تلك الفترة إيجاد نظام تشغيل آمن ومحمي ضد الفيروسات والمتدخّلين.
شهدت تلك الفترة تطور نظام التشغيل اليونكس (UNIX) ، في بادئ الأمر كان نظام اليونكس مثل أي نظام آخر من حيث أنه كان يعتمد على الجهاز إذ تم كتابته بلغة التجميع Assembly Language) ) محتوياً العيب الذي تحتويه جميع نظم التشغيل في تلك الفترة، لكن تم تصميم لغة الـ C خصيصاً لحل هذا العيب في نظام اليونكس. فأصبح نظام اليونكس أول نظام تشغيل تتم كتابته بلغة أعلى من لغة الآلة مما جعله نظاماً يعمل على جميع أنواع الأجهزة ويحتوي على الكثير من المميزات و الإمكانيات التي افتقرت لها الكثير من نظم التشغيل في تلك الفترة. وليس من المستغرب أن يجد هذا النظام إقبالاً شديداً من قبل الجامعات والمنظمات خصوصاً بعد دعم معامل بل له (Bell Laboratories).
كما شهدت فترة السبعينات التطوّر السريع في المعالجات التي تحتويها أجهزة الحاسب، تطوّر المعالجات صاحبه تطور في إمكانيات الحاسب بالتالي تطور في الخدمات التي يوفرها نظام التشغيل. كما كان تطور المعالجات النواة التي غذّت فكرة الحاسب الشخصي الذي انتشر انتشاراً واسعاً في التسعينات.
لكن نظام اليونكس لم يكن الاختيار الأفضل للمستخدم العادي وللأجهزة المنزلية حين بدأت انتشارها في الثمانينات، إذ كان نظاماً ذو أوامر معقدة صعبة الفهم.
الثمانينات: ثورة الحاسب الشخصي لعبت شركة آبل (أسسها كل من Steve Jobs و Steve Wozniakفي عام 1975م) دوراً كبيراً في انتشار فكرة الحاسب الشخصي إذ جعلت انتشاره هدفها الأساسي. حيث قدمت فكرة أن الحاسب عبارة عن صندوق ذو أسلاك كهربائية يمكن إدخالها في أي قابس يحتويه المنزل العادي.
أول جهاز انتجته شركة أبل
انتشار فكرة الحاسب الشخصي غذّت الثورة في نظم التشغيل. إذ لم يكن ينقص الحواسب إلا نظام تشغيل واضح وسهل الاستخدام لجذب المستخدم العادي. كما أن المعالجات المخصصة للحواسب الشخصية تتطلب نظم تشغيل خاصّة بها من حيث الإمكانيات التي يمكنها تقديمها للمستخدم.
في الثمانينات دخلت IBM عالم الحواسيب الشخصيّة مغيّرة بذلك مجرى تاريخ نظم التشغيل المكرسة لهذه الحواسيب. كانت أغلب الشركات مترددة من حيث دخولها لسوق الحواسب الشخصية حيث لم يظهر اهتمام الأشخاص والشركات العادية بهذه الأجهزة. لكن النجاح الذي لاقته شركة آبل (خاصة بعد دمجها برامج إدارة الأعمال مثل محرر البيانات والجداول مع نظام تشغيلها) أثر على نظرة بقيّة الشركات لهذا السوق وشجّع شركة IBM لاتخاذ قرارها. حيث أنتجت أجهزة مبنية حول أسرع معالج في تلك الفترة Intel’s 16-bit 8080) ) لكن كانت مشكلتها الوحيدة هو نظام التشغيل، مع أنها كانت أكبر شركة لإنتاج البرامج في تلك الفترة، لكنها خبرتها في مجال الأجهزة الشخصية كانت قليلة. حينها تعاقدت العقد الشهير مع Bill Gates لإنتاج نظام تشغيل خاص بأجهزتها. ولا يخفى علينا تأثير هذا العقد على مكانة Bill Gates بين أغنياء العالم إذ اشترط حصوله على مبلغ من 10 إلى 50 دولار عن كل نسخة تباع من نظام تشغيله!.
جهاز الحاسب الشخصي الذي انتجته شركة IBM في أغسطس 1981
لكن وجد Bill Gates نفسه بلا نظام تشغيل ولا مصادر تمكنه من إنتاج واحد لشركة IBM حينها استعان بنظام تشغيل طوره Tim Paterson لمعالج 8080 وكان يدعى بـ QDOS: Quick and Dirty Operating System) ) أنفقت شركة Microsoft مبالغ طائلة للحصول على حقوق النظام وبعد إجراء تعديلات بسيطة تمت إعادة تسميته بـ MS-DOS) ) . وبذلك في عام 1991م وبالتحديد في شهر أغسطس أصبح 1700 جهاز منزلي متوفراً للشراء بسعر في متناول الأشخاص العاديون.