تحفظ جامعة كارنيجي ميلون البرامج القديمة من النسيان

يتيح لك النموذج الأولي لنظام أرشيف الزيتون تشغيل كود قديم على أجهزة الكمبيوتر الحديثة




في أوائل عام 2010 ، نشر الاقتصاديون في جامعة هارفارد كارمن راينهارت وكينيث روجوف تحليلًا للبيانات الاقتصادية من بلدان مختلفة ، وخلصوا إلى أنه إذا تجاوز الدين 90 ٪ من الناتج المحلي الإجمالي ، فإن هذا سيهدد النمو الاقتصادي للبلاد. مع وجود الكثير من الديون ، في رأيهم ، يجب أن يصبح النمو سلبيًا.

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

بعد ثلاث سنوات ، وجد توماس هيرندون ، خريج جامعة ماساتشوستس ، خطأً في جدول بيانات Excel استخدمه راينهارت وروجوف في حساباتهما. كانت أهميته هائلة: من خلال التحليل السليم ، أظهر هيرندون أن مستوى الدين بنسبة 90 ٪ من الناتج المحلي الإجمالي كان مرتبطًا بنمو اقتصادي إيجابي بنسبة 2.2 ٪ ، وليس بنمو سلبي بنسبة -0.1 ٪ ، كما كتب رينهارت وروجوف.

يمكن لـ Herndon التحقق بسهولة من استنتاجات الاقتصاديين في جامعة هارفارد ، حيث كان لديه حق الوصول إلى البرنامج الذي عملوا معه - Microsoft Excel. ماذا عن الاكتشافات القديمة التي استخدمت البرامج القديمة التي يصعب العثور عليها اليوم؟

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

يتم تخزين البرامج بهذه الطريقة بشكل مستمر ، حتى للبرامج التي يرجع تاريخها إلى عدة عقود. على الإنترنت ، على سبيل المثال ، يمكنك العثور على شفرة المصدر لجهاز Apollo Guidance Computer ، الذي ساعد في توصيل رواد الفضاء إلى القمر في الستينيات. تم إعادة كتابته من الورق وتحميله على GitHub في عام 2016.

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

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

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

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

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

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

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


NCSA Mosaic 1.0 ، أحد المتصفحات الأولى مع Macintosh ، 1993


Chaste (السرطان والقلب وبيئة الأنسجة الرخوة) 3.1 لنظام Linux ، 2013


The Oregon Trail 1.1 ، لعبة Macintosh ، 1990


Wanderer ، لعبة لـ MS-DOS ، 1988


Mystery House ، لعبة Apple II ، 1982


آلة التاريخ الأمريكي العظيم ، أطلس تعليمي تفاعلي لنظام التشغيل Windows 3.1 ، 1991


Microsoft Office 4.3 لنظام التشغيل Windows 3.1 ، 1994


ChemCollective ، برنامج الكيمياء التربوية لنظام لينكس ، 2013

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

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

لفهم كيف يمكن لـ Olive إحياء بيئة الكمبيوتر القديمة ، تحتاج إلى مراجعة عدة طبقات من تجريد البرامج. في الأساس هو القاعدة المشتركة لمعظم تقنيات الحوسبة الحديثة: كمبيوتر سطح مكتب قياسي أو كمبيوتر محمول مع واحد أو أكثر من المعالجات الدقيقة x86. نقوم بتشغيل نظام التشغيل Linux ، الذي يشكل الطبقة الثانية على المكدس.

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

يعمل محاكي الأجهزة على كل من الأجهزة الافتراضية - هذا هو المستوى التالي في مكدس الزيتون. يدعي المحاكي أنه يعمل على جهاز كمبيوتر تم استخدامه لفترة طويلة - على سبيل المثال ، Macintosh Quadra القديم مع وحدة المعالجة المركزية Motorola 68040 من التسعينات. إذا كان يمكن تشغيل البرنامج المؤرشف على جهاز كمبيوتر يستند إلى x86 ، فيمكن حذف طبقة المحاكاة الافتراضية هذه.

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

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

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



هذا ما يحتويه النظام تحت غطاء المحرك. ولكن ماذا يمكن أن يفعل الزيتون؟ واليوم يحتوي على 17 جهازًا افتراضيًا مختلفًا يمكنه تشغيل مجموعة متنوعة من أنظمة التشغيل والتطبيقات. اعتمد اختيار ما يجب تضمينه في النظام على مزيج من الفضول وإمكانية الوصول والمصالح الشخصية. على سبيل المثال ، تذكر أحد أعضاء فريقنا بإعجاب كيف لعب في The Oregon Trail أثناء حضوره المدرسة في أوائل التسعينات. ونتيجة لذلك ، وجدنا نسخة قديمة من اللعبة لنظام التشغيل Mac وتمكننا من إطلاقها من خلال Olive. بعد أن أصبح هذا معروفًا ، بدأ العديد من الأشخاص في القدوم إلينا بأسئلة حول إمكانية إحياء برامجهم المفضلة من الماضي.

أقدم تطبيق تم استعادته هو Mystery House ، وهي لعبة رسومية من أوائل الثمانينيات لجهاز كمبيوتر Apple II. برنامج آخر هو NCSA Mosaic ، والذي ، كما يتذكر الناس في سن معينة ، أعطاهم WWW عجائب.

يحتوي زيتون على نسخة من الموزاييك مكتوبة عام 1993 لنظام Macintosh 7.5. يعمل نظام التشغيل هذا على مُحاكي Motorola 68040 CPU ، الذي تم إنشاؤه باستخدام برنامج يعمل على جهاز كمبيوتر يستند إلى x86 يعمل بنظام Linux. على الرغم من كل هذه المحاكاة الافتراضية ، فإن الأداء ليس سيئًا ، حيث تعمل أجهزة الكمبيوتر الحديثة بشكل أسرع بكثير من أجهزة Apple الأصلية.

من المثير للاهتمام توجيه الفسيفساء المستعادة من الزيتون إلى المواقع الحديثة. ظهرت في وقت أبكر من تقنيات الويب الحديثة مثل JavaScript و HTTP 1.1 و Cascading Style Sheets و HTML 5 ، وبالتالي فهي غير قادرة على عرض معظم المواقع. ولكن قد تكون مهتمًا بالبحث عن مواقع طويلة جدًا بحيث تكون مرئية تمامًا في هذا المتصفح.

ما هي الأشياء الأخرى التي يستطيع الزيتون الوصول إليها؟ قد تتساءل عن الأدوات التي تم استخدامها في الأعمال التجارية مباشرة بعد ظهور معالج Intel Pentium. يمكن أن يساعد الزيتون في ذلك. ابدأ تشغيل Microsoft Office 4.3 منذ عام 1994 (والذي صدر لحسن الحظ قبل ظهور مساعد القصاصة المزعج).

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

إذا كنت تتحدث عن أشياء أكثر خطورة ، يتم تخزينها في Olive Chaste 3.1. هذا اختصار لسرطان القلب والقلب والأنسجة الرخوة (السرطان والقلب والأنسجة الرخوة). هذه محاكاة تم تطويرها في جامعة أكسفورد ، والتي تسمح بحل المشكلات الحسابية في علم الأحياء وعلم وظائف الأعضاء. كان الإصدار 3.1 متعلقًا بورقة بحث نشرت في مارس 2013. ومع ذلك ، بعد عامين من النشر ، توقفت ترجمة التعليمات البرمجية المصدر لـ Chaste 3.1 في إصدارات جديدة من Linux. هذا مثال رائع على مشاكل التكاثر العلمي التي يجب أن يحلها نظام الزيتون.



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

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

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

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

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

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

من الواضح أنه لا يزال هناك الكثير من العمل الذي يتعين القيام به قبل أن نعلن عن حل مشاكل أرشفة البرامج القابلة للتنفيذ. لكن Olive هي بداية جيدة لإنشاء الأنظمة التي ستكون مطلوبة لضمان الاحتفاظ بالبرامج القديمة في هذه الحالة بحيث يمكن دراستها واختبارها واستخدامها لفترة طويلة.

Source: https://habr.com/ru/post/ar424169/


All Articles