السلام عليكم ورحمة الله وبركاته
أحببت في هذه المقالة أن أطلعكم على تاريخ أنظمة التشغيل من بداية ظهورها حتى وقت ليس بعيد من الآن . قد توجد أمور تعرفونها وقد توجد أمور جديدة عليكم وغريبة في نفس الوقت ، لذا أرجو التصحيح من المعلومات الموجودة هنا إن وجدت أي إشكال أو غلط .
مصدر المقالة هذه هي محاضرة ألقيت علينا في مادة نظم التشغيل عن تاريخ نظم التشغيل ، وقمت بمراجعة الانترنت للتأكد من بعض التواريخ ولتكملة البعض الآخر .
إذا كنتم جاهزون فلنبدأ بالقصة :
إن أنظمة التشغيل تطورت بشكل كبير على مر العصور اللاحقة ولعل السبب الرئيسي لهذا يرحع لتطور بنية الحاسبات الآلية . فأنظمة التشغيل مرتبطة جدا بتركيب وبنية الحاسب الآلي . لذلك سوف تجدنا نتكلم عن تاريخ الحاسب الآلي أيضا .
إن أول حاسب رقمي ظهر على يد عالم الرياضيات الانجليزي Charles Babbage (1792-1871) . هذا العالم قضى معظم وقته في بناء آلة ميكانيكية للقيام بالعمليات الحسابية الرقمية ، حتى أنه تعب جدا بذلك فإنه لم يستطع أن ينجح في أن يكون هذا الجهاز دقيق بشكل جيد وذلك بسبب أولا أنه ميكانيكي والتروس المستخدمة لم تكن جيدة على مايجب . ولكن من غير أن أقولها فإنه هذا الجهاز طبعا لم يكن يحتاج إلى نظام تشغيل . لكن Babbage أحب أن تعمل آلته بعدة برامج تلقن بشكل ميكانيكي وبالتالي قام بتوظيف الآنسة Ada Lovelace لكتابة البرامج وهي بهذا تعتبر أول مبرمجة . وطبعا لغة البرمجة الشهرية Ada سميت اقتدائا بها .
العصر الأول للحاسوب (1945-1955) استخدام الصمامات :
بعد محاولة Babbage الفاشلة توالت المحاولات في بناء الحاسبات الآلية الرقمية حتى الحرب العالمية الثانية بعد ما اكتشفت الصمامات . حوالي العام 1945 قام مجموعة من الأشخاص ببناء أول حاسب يعمل بالطاقة الكهربائية باستخدام الصمامات وهم : Howard Aiken من جامعة Harvard و John von Neumann من مخبر الأبحاث العليا في Princeton و J. Presper Eckert و William Mauchley من جامعة Pennsylvania و Kornard Zuse من ألمانيا وآخرون . هذا الحاسب الذي بنوه وكان اسمه ENIAC والصورة التالية هي أوضح دليل على حجمه .
[c]
[/c]
في ذاك الوقت لم يسمع أحد عن أنظمة التشغيل حيث هذا الجهاز لم يحتوي على نظام تشغيل وكان يعمل عن طريق تلقين البرنامج له عن طريق الأسلاك وجعله يبدأ العمل . فهو يحتاج إلى Operator وليس Operation System . في بداية الخمسينيات تم استبدال الأسلاك بالبطاقات المثقبة التي يتم تثقيبها على حسب البرنامج . وتكلم المحاضر عن هذا بأنه كان يحتاج إلى يوم كامل من أجل جعل البرنامج يعمل .
الجيل الثاني (1955-1965) ظهور الترانزستور .
طبعا بعد ظهور الترانزستور انقلبت الموازين كثيرا . فالأجهزة التي كانت تأخذ غرف ضخمة أصبحت تأخذ غرف صغيرة ولكن وزنها مازال يحسب بالمئات من الكيلوجرامات . هذه الأجهزة أيضا كانت تحتاج إلى مبرمج ومشغل . يقوم المبرمج ببناء برنامجه بالFORTRAN أو الأسمبلي ويضعها على بطاقات مثقبة ويعطيها للمشغل الذي يضع البطاقات في الجهاز ومن ثم قد يضطر أولا إلى تحميل مترجم ال FORTRAN ، وبعدها يعطي الخرج للمبرمج ويبدأ ببرنامج جديد وهكذا . حتى ظهرت فكرة ال PATCH أي يتم استخدام حاسب آخر يعطى له مثل بطاقات للتحكم بالأوامر التي تأمر الجهاز بالقيام بأمور تحكم معينة تغني عن المشغل أو ال Operator . هذا كان أول ظهور لما يشبه بسطر الأوامر في أنظمة التشغيل الحالية ولكن لم ينشأ مفهوم نظام التشغيل بعد . الصورة التالية من موقع IBM وهي توضح صورة من خط انتاج الجهاز IBM 1401 الذي يعد أحد أجهزة هذه الفترة .
[c]
[/c]
عندها بدأت فكرة نظام التشغيل بالتخمر . وكانت هذه الأنظمة تعتمد على عملية ترجمة البرامج وتنفيذها واعادة العملية على البرامج الأخرى في الرتل ومن هذه الأنظمة هي FMS أو Fortran Monitor System و IBSYS نظام تشغيل لأجهزة IBM 7094 .
الجيل الثالث (1965-1980) عصر ال ICs وتعدد البرامج :
بعد عام 1960 انقسمت صناعة الحاسب الآلي إلى قسمين الأول الأجهزة العلمية القوية العملاقة ، والثاني الأجهزة التجارية الأقل قوة . ولكن هذا أثر جدا على تصنيع الحاسب الآلي لأن بناء جهازين منفصلين قد يؤثر على خط سير الانتاج . والشركات تحتاج إلى أجهزة بحيث تضمن أنه يمكن في المستقبل تطويرها مع امكانية تنفيذ البرامج الحالية وبكفائة أعلى .
لذلك لجئت IBM إلى حل هذا الموضوع بانتاج الجهاز الأول من نوعه الذي يسمى ب software-compatible machine. هذه السلسة من الأجهزة سمتها IBM بسلسلة 360 . حيث أنتجت IBM العديد من الأجهزة المعتمدة على نفس التقنية والتي تختلف فيما بينها فقط في السعر والكفائة ولكن البرامج التي تعمل على أحدها تعمل على الأخرى نظريا . هذه الأجهزة اعتدمت على تقنية الدارات المتكاملة أو IC المتسخدمة حاليا ، هذا ما أدى إلى زيادة كفائتها عن أجهزة الجيل الثاني المعتمدة فقط على الترانزستور في عملها . وايضا انتقلت هذه الفكرة في التوافقية إلى الشركات الأخرى وبدأت معظم الشركات في تصنيع أجهزة متوافقة . والصورة التالية هي صورة IBM 360 :
[c]
[/c]
هذه الأجهزة التي أنتجتها IBM يجب أن تعمل في شتى المجالات من الأمور العلمية حتى الأعمال التجارية . وكانت النتيجة هو نظام تشغيل ضخم جدا ومعقد إلى درجة غير معقولة (حوالي ثلاث مرات أضخم من FMS) . حيث يحتوي على ملايين من أسطر الأسمبلي كتبت عن طريق آلاف المبرمجين . ولكنه احتوى على آلاف الآلاف من الأخطاء bugs . تصوروا أنه كلما تصلح مجموعة من الأخطاء في الاصدارات المتتالية يتم انشاء أخطاء أخرى وبالتالي الأخطاء بقي عددها ثابت تقريبا .
أحد مبرمجي هذا النظام ، Fred Brooks (1931- )، قام بتأليف كتاب عن تجاربه التي قضاها أثناء تصميمه لهذا النظام . هذه صورة المؤلف والكتاب .
[c]
[/c]
صورة الكتاب ترى فيها مجموعة من الزواحف ماقبل التاريخ تتنازع في جورة من الطين والوحل وهذا مايدل على المعاناة . ونرى اليوم غلاق الكتاب الشهير في تعليم نظم التشغيل ل Silberschatz على نفس الهيئة :
[c]
[/c]
نظام التشغيل هذا وبالرغم من تعقيده والأخطاء العديدة التي يحتوي عليها إلا أنه كان مرغوب لدي العملاء . ومن الأمور التي كان يدعمها هذا النظام عن أنظمة الجيل السابق هي : تعدد البرامج حيث يتم تحميل أكثر من برنامج في ذاكرة الجهاز ومشاركة المعالج وأجهزة الدخل والخرج مثل الطابعات ، امكانية قراءة البطاقات وتخزينهم على القرص (الذاكرة) وبالتالي يمكن وضع أكثر من بطاقة في الذاكرة من أجل تنفيذها . تعدد البرامج سمح لأكثر من جهاز طرفي من العمل في نفس الوقت بحيث يتم تنظيم العمل فيما بينهم ولكن هذا كان محدود ويجب أن تكون الأعمال التي يطلبها الأطراف من المعالج الرئيسي هي أعمال عادية ولاتحتاج إلى وقت كبير للمعالجة (مثل عمليات ترتيب البيانات) . ظهرت بعدها أول الأنظمة القوية التي تدعم التشارك واسمه CTSS تم تطويره في MIT على أجهزة IBM 7094 المعدلة .
بعد ذلك قررت MIT و Bell Labs و General Electric قررت تطوير نظام يدعم المئات من المشاركات في نفس الوقت ، سمي هذا النظام ب MULTICS وهو على درجة عالية جدا من التعقيد أيضا ولكن هذا النظام توقف لاحقا بسبب تعقيده وبعد أن توقفت General Electric عن تطوير الحاسبات الآلية .
أيضا لاحظ هذا الجيل ظهور أجهزة صغيرة بدأت ب DEC PDP-1 في عام 1961 (هذا الجهاز كان يحتوي على 4K من الذاكرة كل حجرة بحجم 18بت وهو بسعر $120000 ) . هذه الأجهزة توالت الواحدة بعد الأخرى ولكن على عكس سلسلة IBM 360 حتى كان آخرها وأفضلها هو DEC PDP-11 .
أحد العلماء في Bell Labs الذي اشتغل في Multics اسمه Ken Thompson وجد بالصدفة جهاز DEC PDP-7 الذي لم يكن أحد يستخدمه وجلس وكتب نسخة مصغرة لمستخدم واحد وسماها UNIX . ومن هنا ولد ال UNIX الذي أصبح من الأنظمة المنتشرة في الجامعات وفي الهيئات الحكومية . وأيضا قام Thompson بتأليف لغة اسمها B من أجل نظامه UNIX . في نفس الوقت قام Dennis Ritchie بمساعدة Thompson في النظام UNIX واضاف أنواع معطيات جديدة على لغة B حتى أصبحت لغة C . في البداية كان نظام UNIX مبني بشكل كامل بالاسمبلي أما بعد لغة الC التي راعت في تصميمها امكانية الانتقال بين الأجهزة portability أعيد كتابة نظام UNIX بشكل شبه كامل بلغة السي مما أعطاه امكانية العمل على العديد من الأجهزة . إن نظام UNIX في البداية لم يكن يدعم الشبكات . لذلك عندما وصل إلى جامعة Berkeley في كاليفورنيا قاموا بتطوير مواصفات لما سمي ب TCP/IP عام 1982 وأضافوها إلى UNIX عام 1983 ليصبح ليدهم نسخة UNIX سموها ب BSD أو Berkeley System Distribution . هذه النسخة هي التي تعتمد عليها أنظمة MAC X الجديدة . وأيضا أحد مطوري فريق ال BSD خرج من الفريق وبدأ شركته Sun Microsystem المشهورة حاليا بالأجهزة وبأنظمتها UNIX وأيضا بال Java . حاليا Ritchie يرئس مجموعة من الباحثين ولديهم نظام تشغيل اسمه Plan 9 وممكن الحصول عليه من الوصلة http://plan9.bell-labs.com/plan9dist/ . ترى في الصورة التالية Thompson على اليمين و Ritchie على اليسار :
[c]
[/c]
إن سبب انتشار UNIX طبعا هو بسبب توفر شيفرته وبالتالي العدد من المؤسسات والهيئات قامة بانتاج نظامها الخاص المعتمد على UNIX وطبعا هذا بفضل لغة السي التي يمكن ترجمتها على أي معالج كان . وحتى تصبح البرامج التي تعمل UNIX الأساسي تعمل على أي من النسخ الأخرى المطورة كان يجب أن يضع مقياس ل UNIX . وضع المقياس IEEE وسموه POSIX . معظم أنظمة UNIX الحالية تدعم المعيار POSIX .
الجيل الرابع (1980- إلى الآن) الحاسبات الشخصية :
هذا الجيل لا بد أن يتم ذكر عملاقي الأجهزة الشخصية IBM و Apple . صدق أولا تصدق أن الذي بدأ بما يسمى PC هي Apple وليست IBM على يد Steve Paul Jobs و Stephen Wozniak . لم يكن Steve مسرورا بالمدرسة وعمل في Hewlett-Packard وعمره 13 سنة وعندها تعرف على صديقه Stephen الذي كان طالب جامعة في Berkeley في كاليفورنيا . Steve لم يكمل دراسته الجامعية (حيث أنهى فقط ترم واحد) وبعد سنتين عمل كمصمم ألعاب في شركة Atari . أما Wozniak فكان مولعا بالالكترونيات من صغره وكان له محاولات في بناء أجهزة حاسب منذ كان في الابتدائية . كان Wozniak أو Woz’ يحاول دائما اختصار داراته أي الدارة التي كانت تأخد 200 شريحة يحاول أن يتمها ب 150 ومنه ب 100 . عمل خلال دراسته في الجامعة في شركة Hewlett-Packard في تصميم الآلات الحاسبة وأبطأ من عملية انتاج الشركة لحرصه على الاختصار . بعدها فكر أن هذه الآلات الحاسبة هي أجهزة بذاتها حيث أنه من الامكان تجميع قطع عديدة منها لصنع حاسب آلي . وفعلا صنع أول حاسب Apple I في كراج صديقه Steve (بعد أن باع Steve سيارته الفوكس وباع Woz’ آلته الحاسبة) . وبعدها تم بيع أول 50 جهاز Apple بسعر 666$ للواحد وبدأت شركة Apple في عام 1976 . كان Wozniak هو العقل الهندسي للشركة و Steve هو الذي يدير أمور الشركة من ناحية البيع وأيضا قام بتصميم الشكل الخارجي لأجهزة Apple II و Apple III و Lisa . الصورة التالي ترجي Wozniak على اليسار و Steve على اليمين وهم يحملون لوحة الأم لأول جهاز Apple .
[c]
[/c]
لمعلومات أكثر عن Stephen Wozniak انظر الوصلة : http://ei.cs.vt.edu/~history/WOZNIAK.HTM .
واجهت الشركة عدة مشاكل خاصة بعد ظهور IBM في مجال أجهزة ال PC عام 1980 لذلك عين Jobs رئيس شركة Pepsi وهو John Sculley رئيسا أيضا على Apple وأصبحة الشركة تسمى Macintosh . وترك مؤسسا الشركة العمل فيها وفتح كل منهما عمله الخاص . الآن Jobs رئيس شركة Pixar http://www.pixar.com/ التي أنتجت أول فلم كرتوني ثلاثي الأبعاد Toy Story . أما Wozniak فهو رئيس شركة UNUSON .
من الأسباب الرئيسية التي أدت إلى تفوق Apple هي أن أجهزتها كانت مواصفات مفتوحة مما أدى إلى امكانية اضافة أجهزة اضافية مثل كرت الموديم ، السبب الآخر هو أن Wozniak قام بتصميم ال Disk drive أو ال Floppy drive . وأيضا اعتمدت Apple على الواجهة الرسومية والفأرة التي أخذت فكرتهم من XEROX . وفي النهاية نظام ال Spread Sheet الذي تم برمجته خصيصا لأجهزة Apple عام 1979 .
في هذا الأثناء كان Bill Gates طالب المحاماه في جامعة Harvard قد دعاه Paul Allen في December عام 1974 لرؤية أجهزة Altair 8800 من M.I.T.S. . كان الشئ الوحيد الذي ينقص هذه الأجهزة هي البرامج . Gates و Allen تعاقدا مع شركة MITS على أن يصنعا لهم مفسر BASIC لأجهزة ال Altair . وفعلا Gates ترك الجامعة في السنة الثالثة وتفرغ بشكل كامل للبرمجة والحاسب . تم صنع ال BASIC . وبعدها تعاقدت شركة MITS معهما لصنع لغات برمجة مختلفة . ثم انتقل Gates و Paul إلى New Mexico وأسسا مايسمى ب Micro-soft عام 1975 (أسقطت الشرطة من الاسم لاحقا). ثم انتقل مقر الشركة إلى Seattle عام 1979.
بدأت IBM فعلا بالتفكير لبناء ال PC على 1980 بنائا على معالجات Intel 8086 ذات بنية 16بت . كان Gates يعلم أن أجهزة الحاسب الآلي PC هي المستقبل وبدأ يخطط في بناء برامج لها . ومنه ذهب Gates ليجتمع لأول مرة مع IBM في عام 1980 ليتناقش معها على الأجهزة الشخصية وعلى البرامج المنزلية التي يمكن أن تقدمها ميكروسوفت . Gates أعطى IBM بعض الأفكار التي ممكن أن تجعل من الحاسب الشخصي أمر عظيم من بينهم أن يتم اضافة ال BASIC إلى الجهاز عبر شريحة ROM مثل ال BIOS . وكانت مايكروسوفت قد بنت نسخ ل BASIC لأكثر من معالج فكان Gates أكثر من مسرور أيضا لبنائه ل IBM .
في ذاك الوقت كان نظام التشغيل القياسي والأكثر انتشارا بين أجهزة ال Minicomputers لم يكن UNIX بل كان CP/M أو Control Program for Microcomputers الذي برمجه Gary Kildall في Digital Research . Kildall عنده Ph.D. في مجال الحاسب الآلي وهو كاتب أفضل وأقوى نظام تشغيل في ذاك الوقت الذي بيع منه أكثر من 600000 نسخة . الذي كان يعتمد على الأجهزة ذات معالجات ب 8 بت .
بما أنا Gates يعلم أن شركته لم تكن قادرة على بناء نظام تشغيل فإنه طلب من IBM أن تستعين ب Kildall من أجل تطوير نسخة CP/M حتى تدعم المعالج 8086 . وفعلا قامت IBM أكثر من مرة بمحاولة الاتصال ب Kildall ولكن Kildall لم يكن يستطيع أن يحقق الزمن المطلوب من أجل انهاء النسخة الجديدة من CP/M التي تدعم 8086 والتي سميت لاحقا ب MP/M . لذلك التفت IBM إلى Gates مرة أخرى وسألته عن امكانيته توفير نظام تشغيل على وجه السرعة يدعم أجهزتها . هذا النظام الذي قضى نهائيا على مستقبل أنظمة Kildall . طبعا Gates فورا أجاب أنه قادر على ذلك .
توجهت مايكروسوفت إلى شركة Seattle Computer Products التي كانت قد أنتجت نظام مؤقت لها بسرعة (حوالي ست أسابع) هذا النظام كتبه Tim Paterson واسمه QDOS أو Quick-and-Dirty Disk Operation System . هذا النظام كان يعتمد على نظام CP/M ولكن يوجد فيه بعض التعديلات من أجل عدم الاتهام بالسرقة . وفعلا اشترت مايكروسوفت الحقوق كاملة للنظام QDOS بحوالي 50000$ وعمل Gates و Allen بعض التعديلات عليه ليدعم أحهزة IBM وعندها ولد MS-DOS 1.0 وأعطوه ل IBM وكان حينها يحتوي على أكثر من 300 خطأ برمجي . وطبعا طلب Gates من أن يتم بيع MS-DOS باتفاقية منفصلة وبالتالي يضمن له الدخل المالي على كل نسخة DOS يتم بيعها ولم ترفض طلبه IBM .
في عام 1981 ترك Tim Peterson شركة Seattle Computer Products ووجد يعمل في Microsoft . أما Kildall ونظامه الرائع CP/M قد خسر المعركة كليا عندما أنتجت Lotus برنامجها المحبوب للجداول Lotus 1-2-3 من أجل أن يعمل فقط على DOS . وبتالي خسر CP/M شركات البرمجة والمعدات وقضي عليه وتعتبر غلطة الدكتور Kildall من الأخطاء التي لاينساها طيلة حياته .
Kildall بدأ شركة أخرى مع شركته في عام 1985 تسمى ب Knowledge-set من أجل أن يطور أول موسوعة على الأقراص المضغوطة CD-ROM هذه الموسوعة اسمها Grolier’s Encyclopedia . ومن ثم شركته بيعت إلى Novell وبعدها اختفى Kildall لمساعدة ضحايا مرض الأيدز وتوفى عام 1994 . وبالرغم من خسارة CP/M أمام دوس فإن Kildall يبقى اسمه محفور في التاريخ على أنه أول من أنتج أنجح نظام تجاري لمعالجات ال microcontrollers . وهذه هي صورته :
[c]
[/c]
مايكروسوفت تابعت المشوار وأنتجت Microsoft Word حوالي عام 1984 ومن بعدها أنتجت Windows 1.0 و 2.0 و 3.0 و 3.1 وأخيرا 3.11 الذي يدعم الشبكات . ولكن هذه الأنظمة كانة مبينة على الDOS أي أنها عبارة عن برنامج فقط . ولم تنتج Microsoft أول نظام تشغيل حقيقي لها حتى Windows 95 الذي يعمل من غير الاعتماد على DOS و Windows NT الذي تم بناءه من الصفر .
أما Allen فقد ترك مركزه في مايكروسوفت بعد ما أصيب بمرض (Hodgkin – لا أدري ماهو بالظبط) ولكن أسهمه بقيت في الشركة . وقام ببيع حوالي 6$ بلايين دولار في يوم واحد من أسهمه السنة الماضية .
----------------
هذه قصة أنظمة التشغيل مع علاقتها بتطور أجهزة الحاسب الآلي . ورأينا كيف أنه في النهاية دوما يكسب من لديه المال أما العقول والأدمغة تنهار أو تشترى ، ويبقى في الساحة ال ......... .
أعذروني إن لم أتكلم عن بداية ال Linux ولكني لا ادري كيف نسيت ذكره .. ولكن سوف أتكلم عنه تفصيليا في المقال القادم ..
:confused:

[/c]
