مشروع أنظمة المستقبل من شركة IBM

كان مشروع أنظمة المستقبل ( FS ) مشروعًا بحثيًا وتطويريًا أُجري في شركة IBM في أوائل سبعينيات القرن الماضي لتطوير سلسلة ثورية من منتجات الحاسوب، بما في ذلك نماذج برمجية جديدة من شأنها تبسيط عملية تطوير البرمجيات من خلال استغلال الأجهزة الحديثة القوية . وكان من المُخطط أن تحل هذه الأنظمة الجديدة محل نظام System/370 في السوق في أواخر سبعينيات القرن الماضي.

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

أثبت دمج المفهومين في نظام واحد بخطوة واحدة أنه مهمة مستحيلة. وقد أشار المهندسون إلى هذا القلق منذ البداية، لكن الإدارة وقادة المشروع تجاهلوه لأسباب عديدة. بدأ المشروع رسميًا في خريف عام 1971، وبحلول عام 1974 كان في حالة ركود، ثم أُلغي رسميًا في فبراير 1975. تم تطبيق نظام التخزين أحادي المستوى في نظام System/38 عام 1978، ثم نُقل إلى أنظمة أخرى ضمن نفس المجموعة بعد ذلك، لكن مفهوم جهاز يُشغّل لغات برمجة عالية المستوى مباشرةً لم يظهر قط في أي منتج من منتجات IBM.

تاريخ

370

أُعلن عن نظام System/360 في أبريل 1964. وبعد ستة أشهر فقط، بدأت شركة IBM مشروعًا بحثيًا حول اتجاهات السوق وكيفية توظيفها في سلسلة من الأجهزة التي ستحل محل 360 مستقبلًا. وكان من أبرز التغييرات إدخال الدوائر المتكاملة (ICs) المفيدة، مما أتاح استبدال العديد من مكونات 360 الفردية بعدد أقل من الدوائر المتكاملة. وهذا بدوره مكّن من بناء جهاز أكثر قوة بنفس سعر الطرازات الحالية. [ 1 ]

بحلول منتصف الستينيات، حقق جهاز 360 مبيعات هائلة. وقد أثر ذلك على تصميم الأجهزة الجديدة، إذ أدى إلى مطالبات بتوفير توافق كامل مع سلسلة 360. عند الإعلان عن الأجهزة في عام 1970، والتي عُرفت لاحقًا باسم System /370 ، كانت في جوهرها أجهزة 360 تستخدم دوائر متكاملة صغيرة الحجم للمنطق، وذاكرة داخلية أكبر بكثير، وتغييرات طفيفة أخرى. [ 2 ] أُضيفت بعض التعليمات الجديدة، ونُقّحت أخرى، لكن النظام ظلّ متطابقًا إلى حد كبير من وجهة نظر المبرمج. [ 3 ]

أدى الركود الاقتصادي في الفترة 1969-1970 إلى تباطؤ المبيعات في الفترة 1970-1971، وانخفاض كبير في طلبات شراء جهاز 370 مقارنةً بالإقبال السريع على جهاز 360 قبل خمس سنوات. [ 4 ] ولأول مرة منذ عقود، توقف نمو شركة IBM. وبينما شرع بعض العاملين في الشركة في إدخال تحسينات مفيدة على جهاز 370 في أسرع وقت ممكن لجعله أكثر جاذبية، رأى آخرون أن إعادة تصميم النظام بالكامل هي الحل الأمثل على المدى الطويل. [ 3 ]

استبدال 370

قبل شهرين من الإعلان عن معالجات 370، بدأت الشركة مجددًا في دراسة التغيرات في السوق وتأثيرها على التصاميم المستقبلية. [ 3 ] في عام 1965، توقع غوردون مور أن تشهد الدوائر المتكاملة نموًا هائلاً في عدد الدوائر التي تدعمها، وهو ما يُعرف اليوم بقانون مور . كتب جرير أ. حداد من شركة IBM مذكرةً حول هذا الموضوع، مشيرًا إلى أن تكلفة المنطق والذاكرة ستنخفض إلى الصفر بسرعة تفوق سرعة قياسها. [ 3 ]

خلصت دراسة داخلية أجرتها لجنة التكنولوجيا المؤسسية (CTC) إلى انخفاض سعر الذاكرة بمقدار 30 ضعفًا خلال السنوات الخمس المقبلة، ومثلها في السنوات الخمس التي تليها. وإذا أرادت شركة IBM الحفاظ على مبيعاتها، فسيتعين عليها بيع 30 ضعفًا من الذاكرة خلال خمس سنوات، و900 ضعف خلال السنوات الخمس التالية. وبالمثل، كان من المتوقع أن تنخفض تكلفة الأقراص الصلبة عشرة أضعاف خلال السنوات العشر المقبلة. وللحفاظ على معدل نموها السنوي المعتاد البالغ 15%، كان عليها بحلول عام 1980 بيع 40 ضعفًا من مساحة التخزين و3600 ضعف من الذاكرة. [ 4 ]

فيما يتعلق بالحاسوب نفسه، إذا تتبعنا تطوره من جهاز 360 إلى 370 وصولاً إلى جهاز افتراضي مثل System/380، لوجدنا أن الأجهزة الجديدة ستعتمد على التكامل واسع النطاق، وستشهد انخفاضًا كبيرًا في التعقيد والتكلفة. لم يكن بإمكانهم بيع مثل هذا الجهاز بأسعارهم الحالية، فلو حاولوا، لكانت شركة أخرى قد طرحت أنظمة أقل تكلفة بكثير. [ 3 ] كان بإمكانهم بدلاً من ذلك إنتاج أجهزة أكثر قوة بنفس الأسعار، لكن عملاءهم كانوا بالفعل لا يستغلون أنظمتهم الحالية بالشكل الأمثل. ولتقديم مبرر مقنع لشراء جهاز جديد عالي الأداء، كان على شركة IBM إيجاد أسباب تدفع عملائها إلى طلب هذه القوة الإضافية. [ 5 ] [ 6 ]

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

AFS

في عام ١٩٦٩، طلب بوب أو. إيفانز ، رئيس قسم تطوير الأنظمة في شركة آي بي إم، المسؤول عن تطوير أكبر الحواسيب المركزية ، من إريك بلوخ من مختبر آي بي إم في بوكيبسي، دراسة كيفية استخدام الشركة لهذه المكونات الأرخص بكثير لبناء آلات تحافظ على أرباحها. بدوره، طلب بلوخ من كارل كونتي وضع مخططات لهذه الأنظمة. بعد أن رأى إيفانز مصطلح "أنظمة المستقبل" مستخدمًا، أطلق على المجموعة اسم "أنظمة المستقبل المتقدمة". وكانت المجموعة تجتمع كل أسبوعين تقريبًا.

من بين العديد من التطورات التي دُرست مبدئيًا في إطار نظام الملفات المتقدم (AFS)، برز مفهوم واحد. في ذلك الوقت، كانت أولى الأنظمة المزودة بذاكرة افتراضية (VM) في طور الظهور، وقد وسّع مشروع Multics الرائد هذا المفهوم كأساس لوحدة تخزين أحادية المستوى . في هذا المفهوم، تُعامل جميع البيانات في النظام كما لو كانت في الذاكرة الرئيسية ، وإذا كانت البيانات موجودة فعليًا على وحدة تخزين ثانوية ، فإن نظام الذاكرة الافتراضية يقوم بتحميلها تلقائيًا إلى الذاكرة عندما يستدعيها البرنامج. بدلًا من كتابة التعليمات البرمجية لقراءة البيانات وكتابتها في الملفات، يُخبر المبرمج نظام التشغيل ببساطة أنه سيستخدم بيانات معينة، والتي تظهر بعد ذلك ككائنات في ذاكرة البرنامج ويمكن التعامل معها كأي متغير آخر . يضمن نظام الذاكرة الافتراضية مزامنة البيانات مع وحدة التخزين عند الحاجة. [ 7 ]

اعتُبر هذا المفهوم مفيدًا للغاية في ذلك الوقت، إذ أوحى ظهور ذاكرة الفقاعات بأن الأنظمة المستقبلية لن تحتوي على ذاكرة أساسية منفصلة ومحركات أقراص ، بل سيتم تخزين كل شيء في كمية كبيرة من ذاكرة الفقاعات. [ 7 ] من الناحية الفيزيائية، ستكون الأنظمة عبارة عن وحدات تخزين أحادية المستوى، لذا فإن فكرة وجود طبقة أخرى "للملفات" التي تمثل تخزينًا منفصلاً لم تكن منطقية، كما أن وجود مؤشرات إلى ذاكرة واحدة كبيرة لن يعني فقط إمكانية الإشارة إلى أي بيانات كما لو كانت محلية، بل سيُغني أيضًا عن الحاجة إلى واجهات برمجة تطبيقات (APIs) منفصلة لنفس البيانات اعتمادًا على ما إذا كانت محملة أم لا. [ 7 ]

HLS

طلب إيفانز أيضًا من جون ماكفرسون في مقر شركة آي بي إم في أرمونك رئاسة فريق آخر لدراسة كيفية تقديم آي بي إم لهذه التصاميم الجديدة عبر أقسامها المتعددة. أصدر فريقٌ مؤلف من اثني عشر مشاركًا موزعين على ثلاثة أقسام "تقرير النظام عالي المستوى" (HLS)، والذي تم تقديمه في 25 فبراير 1970. كان أحد المكونات الرئيسية لتقرير HLS هو فكرة أن البرمجة أغلى من الأجهزة. فإذا استطاع نظامٌ ما أن يقلل تكلفة التطوير بشكل كبير، فإنه سيُباع بسعر أعلى، لأن التكلفة الإجمالية للتشغيل ستظل أقل من تكلفة المنافسين. [ 8 ]

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

على الرغم من كبر حجم مجموعة تعليمات جهاز Xbox 360، إلا أن هذه التعليمات كانت لا تزال منخفضة المستوى، إذ تمثل عمليات فردية يقوم بها المعالج المركزي (CPU)، مثل "جمع عددين" أو "مقارنة هذا العدد بالصفر". سمحت لغات البرمجة وارتباطاتها بنظام التشغيل للمستخدمين بكتابة البرامج باستخدام مفاهيم عالية المستوى مثل "فتح ملف" أو "جمع هذه المصفوفات". تقوم المترجمات بتحويل هذه المفاهيم المجردة عالية المستوى إلى سلسلة من تعليمات لغة الآلة .

في لغة HLS، تمثل التعليمات مهام المستوى الأعلى مباشرةً. أي أن هناك تعليمات في لغة الآلة لـ "فتح ملف". إذا استدعى برنامج هذه التعليمات، فلا حاجة لتحويلها إلى لغة برمجة منخفضة المستوى، إذ تقوم الآلة بذلك داخليًا في التعليمات البرمجية الدقيقة أو حتى في تطبيق مباشر على مستوى العتاد. [ 8 ] يتوافق هذا مع التخزين أحادي المستوى؛ فلتنفيذ HLS، يُقرن كل بت من البيانات في النظام بوصف ، وهو سجل يحتوي على نوع البيانات وموقعها في الذاكرة ودقتها وحجمها. ولأن الأوصاف يمكن أن تشير إلى المصفوفات وهياكل السجلات أيضًا، فقد سمح ذلك للغة الآلة بمعالجتها ككائنات ذرية. [ 8 ]

من خلال تمثيل هذه الكائنات ذات المستوى الأعلى مباشرةً في النظام، ستصبح برامج المستخدم أصغر حجمًا وأبسط بكثير. على سبيل المثال، لجمع مصفوفتين من الأرقام مخزنتين في ملفات بلغات البرمجة التقليدية، كان المستخدم يفتح الملفين، ويقرأ عنصرًا واحدًا من كل منهما، ويجمعهما، ثم يخزن القيمة في ملف ثالث. أما في منهج HLS، فيُفتح الملفان ببساطة ويُستدعى الأمر add. يقوم نظام التشغيل الأساسي بربط هذه الملفات بالذاكرة، وإنشاء مُعرّفات تُظهر أن كليهما مصفوفتان، ثم يتعرف الأمر add على أنهما مصفوفتان ويجمع جميع القيم معًا. يؤدي إسناد هذه القيمة إلى مصفوفة مُنشأة حديثًا إلى كتابتها مرة أخرى في الذاكرة. وهكذا، أصبح البرنامج الذي قد يستغرق صفحة أو نحو ذلك من التعليمات البرمجية مُختصرًا إلى بضعة أسطر. علاوة على ذلك، ولأن هذه هي اللغة الطبيعية للجهاز، فإن واجهة سطر الأوامر نفسها قابلة للبرمجة بنفس الطريقة، ولن تكون هناك حاجة إلى "كتابة برنامج" لمهمة بسيطة كهذه، إذ يُمكن إدخالها كأمر. [ 8 ]

وخلص التقرير إلى ما يلي:

سيستفيد كل من المستخدم وشركة IBM بشكل كبير من سهولة كتابة وتصحيح البرامج المختصرة. نتوقع خفض تكلفة البرمجة وحجم البرامج المعقدة بشكل ملحوظ، حيث تتحسن جودة البرامج وإنتاجية المبرمجين. [ 8 ]

اهتمام متوافق

حتى نهاية الستينيات، كانت شركة IBM تحقق معظم أرباحها من الأجهزة، حيث كانت تُضمّن برامج وخدمات الدعم مع أنظمتها لجعلها أكثر جاذبية. كانت الأجهزة وحدها هي التي تحمل سعراً، ولكن هذه الأسعار كانت تشمل مخصصات للبرامج والخدمات. [ 7 ]

بدأت شركات تصنيع أخرى بتسويق أجهزة متوافقة، لا سيما ملحقات مثل محركات الأشرطة والأقراص ، بأسعار أقل بكثير من أسعار IBM، مما قلّص قاعدة استرداد تكلفة البرامج والخدمات. وردّت IBM برفض صيانة الأجهزة المزودة بهذه الإضافات الخارجية، الأمر الذي أدى على الفور تقريبًا إلى تحقيقات واسعة النطاق لمكافحة الاحتكار، والعديد من الإجراءات القانونية اللاحقة. وفي عام 1969، أُجبرت الشركة على إنهاء اتفاقيات التجميع، وأعلنت أنها ستبيع منتجات البرامج بشكل منفصل. [ 9 ]

رأى جين أمدال فرصةً لبيع أجهزة متوافقة بدون برامج؛ إذ يمكن للعميل شراء الجهاز من أمدال ونظام التشغيل والبرامج الأخرى من شركة آي بي إم. وإذا رفضت آي بي إم بيعها له، فإنها ستكون قد أخلّت بالتزاماتها القانونية. في أوائل عام 1970، استقال أمدال من آي بي إم وأعلن عن نيته طرح أجهزة متوافقة مع نظام System/370، ستكون أسرع من أجهزة آي بي إم المتطورة، ولكنها أقل تكلفةً في الشراء والتشغيل. [ 10 ]

في البداية، لم تُبدِ شركة IBM أي قلق. فقد كانت تجني معظم أرباحها من البرمجيات والدعم، وستظل هذه الأرباح تذهب إليها. ولكن للتأكد، شُكِّلت في أوائل عام 1971 فرقة عمل داخلية في IBM، عُرفت باسم مشروع Counterpoint، لدراسة الفكرة. وخلصت إلى أن أعمال الحواسيب المركزية المتوافقة قابلة للاستمرار، وأن الأساس الذي يُتيح فرض رسوم على البرمجيات والخدمات كجزء من سعر الأجهزة سيتلاشى سريعًا. وقد ولّدت هذه الأحداث رغبةً داخل الشركة في إيجاد حل يُجبر العملاء مرة أخرى على شراء كل شيء من IBM، ولكن بطريقة لا تُخالف قوانين مكافحة الاحتكار. [ 7 ]

لو اتبعت شركة IBM توصيات تقرير HLS، لكان ذلك يعني أن على الموردين الآخرين نسخ الشفرة المصغرة التي تُنفذ هذا الكم الهائل من التعليمات. وبما أن هذا كان برنامجًا، فإن قيامهم بذلك سيعرضهم لانتهاكات حقوق النشر. [ 7 ] عند هذه النقطة، اكتسبت مفاهيم AFS/HLS رواجًا جديدًا داخل الشركة.

الأنظمة المستقبلية

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

وبناءً على ذلك، تم تحديد الأهداف الرئيسية لمشروع FS على النحو التالي:

  • جعل جميع معدات الحوسبة الحالية، بما في ذلك معدات شركة IBM، قديمة الطراز، من خلال الاستغلال الكامل لأحدث التقنيات.
  • يقلل بشكل كبير من التكاليف والجهود المبذولة في تطوير التطبيقات وتشغيلها،
  • توفير أساس تقني سليم لإعادة تجميع أكبر قدر ممكن من عروض شركة IBM (الأجهزة والبرامج والخدمات).

كان من المأمول أن يؤدي استخدام بنية جديدة تعتمد بشكل أكبر على موارد الأجهزة، والتي انخفضت تكلفتها، إلى تبسيط تطوير البرمجيات بشكل كبير وتقليل التكاليف لكل من شركة IBM والعملاء.

تكنولوجيا

الوصول إلى البيانات

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

كان مفهوم الذاكرة الافتراضية من التقنيات الناشئة الأخرى في ذلك الوقت. في الأنظمة المبكرة، كانت مساحة الذاكرة المتاحة للبرنامج لتخصيصها للبيانات محدودة بحجم الذاكرة الرئيسية في النظام، والتي قد تختلف تبعًا لعوامل مثل نقلها من جهاز إلى آخر، أو إذا كانت برامج أخرى تخصص ذاكرة خاصة بها. عالجت أنظمة الذاكرة الافتراضية هذه المشكلة بتحديد حد أقصى لمساحة الذاكرة المتاحة لجميع البرامج، وعادةً ما يكون رقمًا كبيرًا جدًا، أكبر بكثير من الذاكرة الفعلية في الجهاز. في حال طلب برنامج تخصيص ذاكرة غير متاحة فعليًا، تُكتب كتلة من الذاكرة الرئيسية على القرص، وتُستخدم هذه المساحة للتخصيص الجديد. إذا طلب البرنامج بيانات من منطقة الذاكرة المُفرَّغة ("المُفَرَّغة" أو "المُخزَّنة مؤقتًا")، تُحمَّل البيانات بشكل غير مرئي مرة أخرى إلى الذاكرة الرئيسية. [ 11 ]

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

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

خططت شركة Future Systems لجعل مفهوم التخزين أحادي المستوى هو المفهوم الأساسي في أنظمة التشغيل الجديدة. فبدلاً من وجود محرك قاعدة بيانات منفصل يستدعيه المبرمجون، ستكون هناك استدعاءات في واجهة برمجة التطبيقات (API) الخاصة بالنظام لاسترجاع الذاكرة. وستعتمد هذه الاستدعاءات على تطبيقات محددة للأجهزة أو البرامج المصغرة ، والتي ستكون متاحة فقط على أنظمة IBM، مما يحقق هدف IBM المتمثل في ربط الأجهزة بالبرامج التي تعمل عليها بشكل وثيق. [ 7 ]

المعالج

من المبادئ الأخرى استخدام تعليمات معقدة عالية المستوى تُنفذ في الشفرة المصغرةCreateEncapsulatedModule . على سبيل المثال، كانت إحدى هذه التعليمات محرر ربط كامل. صُممت تعليمات أخرى لدعم هياكل البيانات الداخلية وعمليات لغات البرمجة مثل فورتران وكوبول وبي إل/آي . في الواقع، صُمم نظام التشغيل FS ليكون الحاسوب الأمثل ذو مجموعة التعليمات المعقدة ( CISC ). [ 7 ]

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

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

في غضون ذلك، بدأ جون كوك ، أحد كبار مصممي حواسيب IBM الأولى، مشروعًا بحثيًا لتصميم أول حاسوب بمجموعة تعليمات مختصرة ( RISC ). وعلى المدى البعيد، أثبتت بنية IBM 801 RISC، التي تطورت لاحقًا إلى بنى IBM POWER و PowerPC و Power ، أنها أرخص بكثير في التنفيذ وقادرة على تحقيق تردد ساعة أعلى بكثير.

تطوير

بدء المشروع

بدأ مشروع FS رسميًا في سبتمبر 1971، بناءً على توصيات فرقة عمل خاصة تم تشكيلها في الربع الثاني من عام 1971. ومع مرور الوقت، اندمجت العديد من مشاريع البحث الأخرى في مواقع مختلفة لشركة IBM في مشروع FS أو أصبحت مرتبطة به.

إدارة المشاريع

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

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

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

خطوط الإنتاج المخطط لها

تم التخطيط لثلاثة تطبيقات لبنية FS: تم تصميم النموذج الأعلى في بوكيبسي، نيويورك ، حيث تم بناء أكبر وأسرع أجهزة الكمبيوتر لشركة IBM؛ وتم تصميم النموذج التالي في إنديكوت، نيويورك ، التي كانت مسؤولة عن أجهزة الكمبيوتر متوسطة المدى؛ وتم تصميم النموذج الأدنى في بوبلينجن، ألمانيا ، وتم تصميم أصغر نموذج في هورسلي، المملكة المتحدة . [ 12 ]

يمكن توفير نطاق أداء متواصل عن طريق تغيير عدد المعالجات في النظام عند كل مستوى من مستويات التنفيذ الأربعة.

في أوائل عام 1973، تم دمج إدارة المشروع الشاملة والفرق المسؤولة عن الطبقات "الخارجية" الأكثر شيوعًا في جميع عمليات التنفيذ في مختبر Mohansic ASDD (في منتصف الطريق بين مقر Armonk/White Plains و Poughkeepsie).

نهاية المشروع

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

كان أحد أعراض المشكلة ضعف أداء أكبر تطبيقاتها، لكن المشروع شابه أيضًا نقاشات داخلية مطولة حول جوانب تقنية مختلفة، بما في ذلك مناقشات داخلية في شركة IBM حول مزايا تصميمات RISC مقابل CISC. وشكّل تعقيد مجموعة التعليمات عقبة أخرى؛ إذ اعتبرها مهندسو IBM أنفسهم "غير مفهومة"، وكانت هناك مؤشرات قوية على أن التخزين أحادي المستوى على مستوى النظام لا يمكن نسخه احتياطيًا جزئيًا، مما ينبئ بتقسيم IBM AS/400 للتخزين أحادي المستوى في System/38. [ 13 ] علاوة على ذلك، أظهرت عمليات المحاكاة أن تنفيذ تعليمات نظام الملفات الأصلية على الجهاز عالي الأداء كان أبطأ من محاكي System/370 على نفس الجهاز. [ 14 ]

أُنهي مشروع FS نهائيًا عندما أدركت IBM أن قبول العملاء سيكون محدودًا للغاية مقارنةً بالتوقعات الأولية، نظرًا لعدم وجود مسار منطقي لترحيل التطبيقات لعملاء بنية 360. ولإتاحة أقصى قدر من الحرية لتصميم نظام ثوري حقًا، لم تكن سهولة ترحيل التطبيقات من الأهداف الرئيسية لتصميم مشروع FS، بل كان من المفترض معالجتها من خلال أدوات مساعدة لترحيل البرامج، مع الأخذ في الاعتبار البنية الجديدة كأمر مُسلّم به. في النهاية، تبيّن أن تكلفة ترحيل استثمارات المستخدمين الضخمة في تطبيقات COBOL ولغة التجميع إلى FS كانت في كثير من الحالات أكبر من تكلفة اقتناء نظام جديد.

نتائج

على الرغم من توقف مشروع نظام التشغيل بالكامل، استمر تطوير نسخة مبسطة من بنية أصغر الأجهزة الثلاثة في روتشستر. وأُصدرت هذه النسخة في النهاية باسم IBM System/38 ، الذي أثبت جدارته من حيث سهولة البرمجة، ولكنه كان ضعيف الأداء بشكل ملحوظ. ورث جهاز AS/400 البنية نفسها، ولكن مع تحسينات في الأداء. في كلا الجهازين، لا تُفسَّر مجموعة التعليمات عالية المستوى التي تُولِّدها المُترجمات، بل تُترجم إلى مجموعة تعليمات منخفضة المستوى وتُنفَّذ؛ وكانت مجموعة التعليمات الأصلية منخفضة المستوى عبارة عن مجموعة تعليمات CISC مع بعض أوجه التشابه مع مجموعة تعليمات System/360 . [ 15 ] في الأجهزة اللاحقة، كانت مجموعة التعليمات منخفضة المستوى نسخة موسعة من مجموعة تعليمات PowerPC ، التي تطورت من تطويرات جون كوك لمعالج IBM 801 RISC. استُبدلت منصة الأجهزة المخصصة في عام 2008 بمنصة IBM Power Systems التي تعمل بنظام التشغيل IBM i .

إلى جانب نظامي System/38 و AS/400، اللذين ورثا الكثير من بنية FS، تم دمج أجزاء من تقنية Future Systems في الأجزاء التالية من خط إنتاج IBM:

  • الحاسوب المركزي IBM 3081 ، الذي كان في الأساس أحدث جهاز مصمم في بوكيبسي، باستخدام الشفرة المصغرة لمحاكي النظام 370، مع إزالة الشفرة المصغرة لنظام الملفات واستخدامها
  • طابعة الليزر 3800 ، وبعض الآلات التي ستؤدي إلى محطة IBM 3279 و GDDM
  • مكتبة الأشرطة المغناطيسية الأوتوماتيكية IBM 3850
  • كان جهاز الكمبيوتر متوسط ​​المدى IBM 8100 يعتمد على وحدة معالجة مركزية تسمى وحدة التحكم العالمية ، والتي كانت مخصصة لمعالجة الإدخال/الإخراج لنظام الملفات.
  • تحسينات الشبكة المتعلقة بـ VTAM و NCP

مراجع

الاقتباسات

  1. Case 2006 ، ص 47.
  2. Case 2006 ، ص 54.
  3. 1 2 3 4 5 Case 2006 ، ص 57.
  4. 1 2 Pugh 1991 ، ص 541.
  5. Case 2006 ، ص 58.
  6. 1 2 سوا، جون (2016). "أنظمة المستقبل المتقدمة" .
  7. 1 2 3 4 5 6 7 8 9 هانسن، بيل (11 مارس 2019). "خمسون عامًا من تشغيل أنظمة IBM" . مجلة الأربعمائة . المجلد 29، العدد 15.  
  8. 1 2 3 4 5 ماكفرسون، جون (25 فبراير 1970). نظام المستوى الأعلى (HLS) (PDF) (تقرير فني).
  9. Aspray 2000 ، ص 27، 28.
  10. Aspray 2000 ، ص 32.
  11. جيليس، ألكسندر. "الذاكرة الافتراضية" . TechTarget .
  12. سموثرمان، مارك. "نظرة عامة على نظام IBM المستقبلي" .
  13. مواضيع وأدوات تخزين الأقراص في نظام AS/400 . شركة IBM. أبريل 2000. SG24-5693-00.
  14. ^ سوا ، جون (27 نوفمبر 1974). "مذكرة 125" .
  15. "مرجع تكنولوجيا الحوسبة لمكتبة حلول الأنظمة" (ملف PDF) . شركة IBM . الصفحات 24-25 . مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 17-06-2011 . تاريخ الاسترجاع: 05-09-2010 . 

فهرس