مضاهاة وتاريخ الحوسبة. المواد والأدوات

04.04.2019

مرحبا عزيزي سكان الخبر!
أنا مهتم بأجهزة الكمبيوتر وأنظمة التشغيل "القديمة". وعلى الرغم من قدمها، فإن الكثير منها أكثر تطورًا من الأنظمة الحديثة وتعد أمثلة أفضل. لدى Windows وLinux الكثير لنتعلمه من العديد من أنظمة التشغيل القديمة.
في رأيي، أكثر الأنظمة القديمة إثارة للاهتمام هي الحواسيب المركزية والحواسيب الصغيرة اللاحقة (supermini). على عكس الحواسيب الصغيرة المبكرة، والتي غالبًا ما كانت يتم تشكيلها حسب ركبة المستخدم النهائي لتناسب احتياجاته، كانت أنظمة الحواسيب الكبيرة والصغيرة جدًا منذ البداية مخصصة للأشخاص الذين ليس لديهم فهم كامل لكيفية عمل الكمبيوتر ولا الوقت الكافي لتطوير بنية منفصلة له. كل مهمة. في الوقت نفسه، على عكس الأنظمة الحديثة (4 غيغابايت من ذاكرة الوصول العشوائي لكتابة هذا المنشور)، كانت الحواسيب المركزية وخاصة Superminis محدودة للغاية في الموارد، وكقاعدة عامة، لم تنمو.
سأقوم في هذا المنشور بوصف عملية تثبيت نظام التشغيل VM/370. VM/370 هو نظام تشغيل IBM لأجهزة الكمبيوتر IBM System/370. هذا نظام تشغيل متعدد المستخدمين يعمل على مبدأ برنامج مراقبة الأجهزة الافتراضية (CP) : يتم تزويد كل مستخدم بجهاز افتراضي خاص به يمكنه من خلاله تشغيل نظام التشغيل المطلوب، ولا سيما برنامج مراقبة الأجهزة الافتراضية CP نفسه (عدد قليل من برامج Hypervisor الحديثة قادرة على ذلك) مثل هذه الخدعة) وCMS - نظام تشغيل لمستخدم واحد، جدة MS -DOS. لا يزال السليل المباشر لـ VM، zVM، مستخدمًا في أجهزة IBM System z الرئيسية. يمكنك قراءة المزيد عن VM على ويكيبيديا.
بالنسبة لأولئك الذين لا يريدون التحديق، ولكن فقط رؤية النتيجة النهائية: هناك صور جاهزة للنظام مع تعليمات مفصلة (على الرغم من أنها باللغة الإنجليزية). ليس عليك قراءة بقية المقال.

المواد والأدوات

للتثبيت والتشغيل سنحتاج إلى:
  • المحاكي S/370: هرقل. لسوء الحظ، لا يمكنني تقديم المشورة بشأن التثبيت لنظام التشغيل Windows، لأنني أستخدم Linux بنفسي.
  • محاكي العرض IBM 3270: x3270.
  • محاكي المحطة الطرفية (Telnet العادي سيفي بالغرض).
  • صور الشريط من www.cbttape.org:
  • خياري:
  • اختياري: برامج إضافية، ومع ذلك، أنا نفسي لم أفهم بعد كيفية تثبيتها.
  • التوثيق من هنا. مطلوب تعليمات التثبيت على الأقل. كل شيء طبيعي باللغة الإنجليزية، لكن بالنسبة لي شخصيًا كان هذا مجرد حافز لتعلمها. تعتبر اللغة الإنجليزية لشركة IBM نموذجًا للغة المتعلمة.

تحضير.

أضع جميع ملفات المشروع في المجلد /home/link/Programming/LEGACY/SYSTEMS/System360/vm370habr (المشار إليه فيما يلي ببساطة بـ vm370habr). نقوم بحفظ الصور التي تم تنزيلها في المجلد vm370habr/DISTR. في vm370habr أقوم بإنشاء مجلد فرعي IO.
إنشاء صور القرص
link@link-K73BY ~/Programming/LEGACY/SYSTEMS/System360/vm370habr/DASD $ dasdinit -z VMREL6 3330-11 VMREL6 HHCDU044I إنشاء 3330 حجم VMREL6: 808 أسطوانة، 19 trks/cyl، 13312 بايت/مسار HHCDU041I 8 0 8 سلندر بنجاح تمت كتابته إلى الملف VMREL6 HHCDI001I DASD بنجاح. link@link-K73BY ~/Programming/LEGACY/SYSTEMS/System360/vm370habr/DASD $ dasdinit -z CPR6L0 3330 CPR6L0 HHCDU044I إنشاء 3330 وحدة تخزين CPR6L0: 404 أسطوانة، 19 trks/cyl، 13312 بايت/مسار HHCDU041I 4 0 4 اسطوانات تمت كتابتها بنجاح تم إكمال تهيئة الملف CPR6L0 HHCDI001I DASD بنجاح. link@link-K73BY ~/Programming/LEGACY/SYSTEMS/System360/vm370habr/DASD $
تسمى الأقراص DASD في مصطلحات System360. يقوم برنامج dasdinit بإنشاء صور قرص فارغة. الصورة الأولى عبارة عن قرص طراز 3330 يحمل اسم VMREL6. سوف نكتب نظام البداية عليه. القرص الثاني هو CPR6L0 موديل 3330-11 (ضعف السعة) سنقوم بتثبيت برنامج Hypervisor عليه. يتم أرشفة الأقراص (الخيار -z)، ومن الأفضل عدم استخدام هذا الخيار على أجهزة الكمبيوتر البطيئة.
مراقبة ملف التكوين
قم بإنشاء ملف نصي Hercules.cnf في المجلد vm370habr

بالمحتوى التالي:

ARCHMODE S/370 # نريد محاكاة كمبيوتر S/370، CPUMODEL 3158 # model 3158. CPUSERIAL 000777 # هذا الحقل ليس له قيمة. ECPSVM NO # تعطيل تسريع المحاكاة الافتراضية (لم أكتشف ذلك بعد). MAXCPU 1 # نظام أحادي المعالج. NUMCPU 1 # مع تمكين معالج واحد عند بدء التشغيل (مرحبًا، الحد الأقصى) OSTAILOR VM # لا تبلغنا عن الأخطاء "الغريبة" في العديد من أنظمة التشغيل، ولكنها نموذجية بالنسبة للأجهزة الافتراضية. LOADPARM 0120....# لأكون صادقًا، أنا شخصياً لم أفهم ما هو. MAINSIZE 16 # 16 ميجابايت من ذاكرة الوصول العشوائي (رفاهية في ذلك الوقت). XPNDSIZE 0 # لا توجد ذاكرة إضافية (لا يستخدمها CP). # عنوان المجلد بنظامنا. DEFSYM MyDir /home/link/Programming/LEGACY/SYSTEMS/System360/vm370habr # رقم منفذ TCP/IP لـ telnet. أجهزة CNSLPORT 3270 # في System/370، تتم معالجة الأجهزة (في أبسط الحالات) # بثلاثة أرقام ست عشرية: # - رقم القناة، # - رقم كتلة التحكم، # - رقم الجهاز. # يجب تركيب الأجهزة ذات الأنواع المشابهة على وحدة التحكم. # من المنطقي توصيل الأجهزة البطيئة بالقناة الأولى. # العمود الأول هو عنوان الجهاز. #الثاني هو النوع. # التالي هي الإعدادات المختلفة لجميع الأجهزة. يمكن العثور على معناها الدقيق في دليل هرقل. 008 3215-C NOPROMPT # أول مبرقة كاتبة لمشغل النظام. 009 3215 NOPROMPT # Teletype الثاني للتحكم في النباتات. 00C 3505 # إدخال البطاقة المثقوبة. 00D 3525 $(MyDir)/IO/punch ascii crlf # إخراج البطاقة المثقوبة. 00E 1403 $(MyDir)/IO/printer crlf # Printer. 020-02F 3270 # محطات الرسم. الأقراص 130 3330 $(MyDir)/DASD/CPR6L0 131 3330 $(MyDir)/DASD/VMREL6 # 180-18F 3420 * # محركات الأشرطة.


ملحوظة: لا ينبغي نسخ ملف التكوين هذا فحسب، بل يجب قراءته بعناية وفهمه وتغييره ليناسب احتياجاتك (على الأقل تغيير المسار).

إعداد الأقراص

link@link-K73BY ~/Programming/LEGACY/SYSTEMS/System360/vm370habr $ Hercules #... الكثير من الأوامر النصية ==>devinit 180 DISTR/starter-3330.aws HHCTA004I 0180: DISTR/starter-3330.aws هو تمت تهيئة ملف الشريط بتنسيق AWS HHCPN098I Device 0:0180
في محطة أخرى:
link@link-K73BY ~/Programming/LEGACY/SYSTEMS/System360/vm370habr $ telnet localhost 3270 جارٍ تجربة 127.0.0.1... متصل بالمضيف المحلي. حرف الهروب هو "^]". الإصدار 3.07 من Hercules تم إنشاؤه بتاريخ 19 يونيو 2011 الساعة 04:29:21 ويعمل على الرابط K73BY (Linux-3.0.0-26-generic.#43-Ubuntu SMP الثلاثاء 25 سبتمبر الساعة 17:19:22 UTC 2012 x86_64 MP=2) متصل للجهاز 0:0009
في النافذة مع هرقل:
الأمر ==> الشعيرات الدموية 180
(IPL، في لغة الحاسوب المركزي، هو نفس التمهيد).
سيظهر ما يلي في نافذة telnet:
VM/370 تنسيق/تخصيص إصدار البرنامج 6 أدخل التنسيق أو التخصيص:
تنسيق الأقراص
في System/370، كان مفهوم البيانات الموجودة على القرص مختلفًا عن اليوم: يمكن أن تختلف أحجام القطاعات حتى على نفس المسار وغالبًا ما يتم تحديدها بواسطة التطبيق، وليس نظام التشغيل. يمكن أن تكون الأقراص المتصلة بـ CP من نوعين: أقراص CP المقيمة (لمعلومات النظام وملفات الترحيل) وأقراص المستخدم، والتي يمكن تقسيمها إلى عدة أقراص صغيرة حسب الأسطوانة. تقوم قذيفة CMS بتقسيم كل مساحة القرص المخصصة لها إلى قطاعات 800 بايت وإنشاء نظام ملفات من النوع FAT.
بقدر ما أفهم، فإن قرص نظام بدء التشغيل (CPR6L0) هو قرص بيانات يحتوي على مجموعة نواة خاصة في الأسطوانات الأولى. سيستخدم نظام بدء التشغيل (وتثبيتات kernel الجديدة) محرك VMREL6 كقرص مقيم. للقيام بذلك، نحتاج إلى تخصيص مساحة على وحدة تخزين VMREL6 لملفات الترحيل والأقراص المؤقتة. لقد قمت أيضًا بتنسيق CPR6L0 لأنني لست متأكدًا من أن الصور التي تم إنشاؤها بواسطة dasdinit مناسبة للجهاز الافتراضي.
يوجد برنامج تنسيق على الشريط مع صورة نظام بدء التشغيل.

في نافذة التلنت:

أدخل التنسيق أو التخصيص: وظيفة التنسيق المحددة أدخل عنوان الجهاز (CCU): 131 أدخل نوع الجهاز: 3330-11 أدخل أسطوانة البداية (XXX) أو "الملصق": 000 أدخل أسطوانة النهاية (XXX): 807 أدخل تسمية الجهاز: تنسيق VMREL6 بدأت التنسيق تم 000 لا. سجلات الصفحة مع أخطاء التحقق من القراءة، أدخل التنسيق أو التخصيص: تخصيص وظيفة التخصيص المحددة، أدخل عنوان الجهاز (CCU): 131 أدخل نوع الجهاز: 3330-11 أدخل تسمية الجهاز: VMREL6 أدخل بيانات التخصيص لوحدة التخزين VMREL6 نوع CYL CYL .... . .. ... بيرم 000 012 DRCT 013 016 درجة الحرارة 017 201 بيرم 202 202 درجة الحرارة 203 389 TDSK 390 402 بيرم 403 807 نتائج التخصيص النهائية بيرم 000 012 DRCT 013 016 درجة الحرارة 017 20 1 بيرم 202 202 درجة الحرارة 203 389 تدسك 390 402 بيرم 403 807 جهاز 131 حجم تخصيص VMREL6 انتهى، أدخل التنسيق أو التخصيص: وظيفة التنسيق المحددة، أدخل عنوان الجهاز (CCU): 130 أدخل نوع الجهاز: 3330 أدخل اسطوانة البداية (XXX) أو "التسمية": 000 أدخل اسطوانة النهاية (XXX):403 أدخل D تسمية الجهاز: CPR6L0 التنسيق الذي بدأ التنسيق تم تنفيذه 000 رقم. سجلات الصفحة مع أخطاء التحقق من القراءة


هنا نقوم أولاً بتهيئة قرص النظام المستقبلي، ثم نحدد المناطق الموجودة عليه (يتم التحديد من تعليمات التثبيت) ونقوم بتهيئة القرص لنظام بدء التشغيل.
نسخ نظام البداية
في النافذة مع هرقل أدخل:
وقف الشعيرات 180
في التلنت يظهر:
VM/370 DASD تفريغ/إصدار برنامج الاستعادة 6 أدخل عنوان قارئ البطاقة أو بيانات التحكم أدخل:
يدخل:
أدخل عنوان قارئ البطاقة أو بيانات التحكم أدخل: SYSPRINT 00E أدخل: INPUT 180 3420 أدخل: OUTPUT 130 3330 CPR6L0 أدخل: استعادة كافة CPR6L0
انتظر بضع دقائق وسيبدأ Hercules في عرض رسائل الخطأ. الحقيقة هي أن هناك خطأ في برنامج DDR لم يؤثر على السلوك على الأجهزة الحقيقية، ولكنه يعطل المحاكيات.
قم بالخروج من Hercules بالخروج من Hercules وإعادة تشغيله.

إطلاق وإعداد نظام الإطلاق

قم بتوصيل محاكي العرض بـ Hercules (كيفية القيام بذلك، راجع دليل المحاكي). في Hercules، اكتب الأمر "ipl 130" ثم اضغط على زر الإدخال في نافذة العرض.

ستظهر الصورة التالية على الشاشة:

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

إعداد نظام البداية
يختلف تجميع نواة نظام البدء من حيث أن عناوين الجهاز هنا ليست مدمجة بإحكام في الكود، ولكن يتم تحديدها في كل بداية. بالنسبة لتكويني

الإجابات هي:

إصدار نظام التشغيل VM/370 6.0
أدخل عنوان الطابعة (CUU):
00e
أدخل نوع الجهاز (1403,1443,3211,3203,3800):
1403
أدخل العنوان الرئيسي (CUU):
00د
أدخل نوع الجهاز (2540P,3525):
3525
أدخل عنوان القارئ (CUU):
00 ج
أدخل نوع الجهاز (2501,2540R,3505):
3505
أدخل العنوان الذي تم تركيب شريط PID فيه (CUU):
180

3420
أدخل العنوان الذي تم تركيب الشريط عليه (CUU):
181
أدخل نوع الجهاز (2401,2415,2420,3420):
3420
===اضغط على مفتاح المسح===
أدخل عنوان الجهاز حيث سيتم إنشاء مقر النظام (CUU):
131
أدخل نوع الجهاز:
3330
===كرر الإعدادات===
هل الإعدادات المذكورة أعلاه صحيحة؟
نعم
===مسح الشاشة===
تغيير الساعة (نعم|لا):
13:36:14 لا
13:36:14 البداية ((بارد|دافئ|CKPT|قوة) (التصريف))|(إيقاف التشغيل):
13:36:21 بارد
13:36:21 DMKLNK117E ​​​​CPGEN 351 غير مرتبط؛ صراع VMREL6 الفارغ
13:36:21 DMKLNK117E ​​​​CPGEN 352 غير مرتبط؛ صراع VMREL6 الفارغ
13:36:21 DMKLNK117E ​​​​CPGEN 353 غير مرتبط؛ صراع VMREL6 الفارغ
13:36:21 تسجيل الدخول التلقائي *** مستخدمو CPGEN = 001 حسب النظام
13:36:21

DMKCPI952I 0512K تخزين النظام

DMKCPI957I STOR 00512K، NUC 156K، DYN 00320K، TRA 008K، مجاني 0028K، V=R 00000K
13:36:21 الملفات: لا يوجد RDR، ولا PRT، ولا تورية


الآن أقوم بتكوين وحدة التحكم:
وحدة التخزين المؤقت تبدأ الوضع الطرفي vm
هذه الإعدادات ضرورية بحيث يقوم برنامج Hypervisor بنقل التحكم في وحدة التحكم إليه عند بدء تشغيل CMS. ولكن بينما لم نطلق بعد نظام إدارة المحتوى (CMS)، فإن الأوامر الموجهة إلى الجهاز الظاهري ستذهب إلى الفراغ. لذلك، اتبع النقش الموجود في الزاوية اليمنى السفلية من الشاشة وأدخل الأوامر فقط عند إشارة CP READ. إذا تم كتابة "تشغيل" في زاوية الشاشة، فأنت بحاجة إلى الضغط على مفتاح Enter، وإذا كان "HOLDING" - واضح.
تعريف التثبيت
أدخل الأمر QUERY VIRTUAL DASD للتحقق من محركات الأقراص المتصلة. يجب أن تكون النتيجة مثل هذا:
13:52:55 DASD 190 3330 CPR6L0 R/O 085 DASD 13:52:55 DASD 191 3330 CPR6L0 R/W 001 DASD 13:52:55 DASD 194 3330 CPR6L0 R/W 027 CYL 13:52:55 DASD 35 0 3330 VMREL6 R/W 808 سيل
أنت الآن بحاجة إلى توصيل وحدة تخزين VMREL6 بالجهاز الظاهري بنفس الرقم الموجود في الجهاز الحقيقي:
حدد 350 كـ 131.
ربط الأشرطة
قم بإنشاء ملفخدش.aws فارغ في المجلد vm370habr وأدخل الأوامر التالية في Hercules:
ديفينيت 180 DISTR/ptf-616.aws ديفينيت 180 الصفر.aws
الشريط الأول هو تصحيح النظام، والثاني عبارة عن شريط فارغ سيتم كتابة النواة عليه.
الآن نقوم بتوصيل هذه الأشرطة بالجهاز الظاهري. في نافذة العرض:
أرفق 180 بـ cpgen كـ 181 أرفق 181 بـ cpgen كـ 182
تحميل نظام إدارة المحتوى
أدخل الأمر في نافذة العرض: "ipl 190 parm seg = null". ستظهر الرسالة "RELEASE 6 CMS 12/25/78". اضغط دخول. أنت الآن تقوم بتشغيل نظام إدارة المحتوى (CMS) ولا داعي للقلق بشأن فقدان الأوامر.
بعد ذلك، قم بإنشاء قرص مؤقت (ستحتاجه لبناء النواة) باستخدام الأمر "define t3330 192 11" وقم بتهيئته باستخدام تنسيق الأمر 192 d. (d هو حرف محرك الأقراص في CMS). ثم كل شيء كما هو الحال في DOS. يمكنك تعيين أي تسمية، اخترت TMP192 (كما في التعليمات).
بضع كلمات عن ملفات CMS: في CMS، يتم كتابة اسم الملف على النحو التالي: ثمانية أحرف من الاسم، وثمانية أحرف من الامتداد، وحرف محرك أقراص مفصول بمسافة. وهذا هو، كما هو الحال في DOS المبكر، ولكن العكس تماما.

تطبيق تصحيحات

تعطيل الحماية ضد الكتابة على قرص نظام CMS: "link cmssys 190 190 w write".
انسخ محتويات محرك الأقراص a إلى محرك الأقراص d باستخدام الأمر "copy * * a = = d." ويعني الرمز "يساوي" في قوالب CMS "لا توجد تغييرات".
انسخ ملفات التصحيح إلى محرك الأقراص d: "vmfplc2 upload * * d". سيقوم VMFPLC2 بإخراج قائمة من الملفات مثل هذا:
جاري التحميل ..... 5749010 061638 D1 VMSERV EXEC D1 5749010 EXEC D1 VMFPLC2 MODULE D2 نهاية الملف أو نهاية الشريط
الآن قم بتطبيق التصحيحات:
الوصول إلى 192 ج، قم بإصدار vmserv nomemo noipl
سيعرض VMSERV رسالة ترحيب ويبدأ بالسؤال عن التصحيحات التي سيتم تطبيقها. نحن بحاجة إلى الخدمة "5749010" وتصحيح CP VM/370. "عنوان قرص منطقة التدريج الأساسي لـ CP" - 194. أجب أيضًا بـ "نعم" على السؤال "هل هذا هو النظام الأولي لهذا النظام؟"
بعد ذلك، سيقوم VMSERV بتطبيق التصحيحات على CP وإعادة تشغيل CMS. عندما يعرض نظام إدارة المحتوى (CMS) رسالة الترحيب، قم بتوصيل محرك الأقراص المؤقت كمحرك أ: "الوصول إلى 192 أ".

التحضير لبناء النواة

اكتب "إنشاء srvcpgm". سيُخرج هذا الأمر بطاقات مثقوبة مع برامج الخدمة (لن نحتاج إليها في المحاكي). سيسأل البرنامج بعد ذلك ما إذا كان سيتم طباعة دليل المستخدم النموذجي أم لا. أجب بـ "نعم" - قد يكون الدليل مفيدًا. وليست هناك حاجة إلى خرائط تحتوي على ملفات التكوين - سأقدمها أدناه.

تكوين النواة

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

خيار جاهز:

معرف CPGEN: اقرأ MYVM DIRECT * قم بتغيير الإدخال التالي لدليل إقامة النظام الخاص بك 131 3330 VMREL6 * مشغل مشغل المستخدم 320K 1M ABCDEG ACCOUNT ACT1 مشغل وحدة التحكم 009 3215 SPOOL 00C 2540 READER A SPOOL 00 D 2 540 PUNCH P SPOOL 00E 1403 L MDISK 191 3330 008 005 CPR6L0 WR قراءة وكتابة الرابط الرئيسي 194 194 RR الرابط الرئيسي 190 190 RR * المستخدم CE CE 320K 1M EFG ACCOUNT ACT2 CE CONSOLE 009 3215 SPOOL 00C 2540 READER A SPOOL 00D 2540 PUNCH P SPOOL 0 0 ه 1403 لتر مديسك 191 3330 013 004 CPR6L0 WR قراءة كتابة الرابط الصيانة 194 194 RR صيانة الرابط 190 190 RR * صيانة المستخدم CPCMS 720K 16M BCEG حساب ACT3 خيار الصيانة ECMODE REALTIMER CONSOLE 009 3215 SPOOL 00C 2540 READER A SPOOL 00D 2540 PUNCH P SPOOL 0 0 ه 1403 لتر مديسك 190 3330 030 085 CPR6L0 السيد قراءة MDISK 191 3330 017 007 CPR6L0 WR قراءة MDISK 194 3330 115 027 CPR6L0 MR قراءة MDISK 199 3330 029 001 CPR6L0 WR قراءة * MDISK 300 3330 000 808 VMREL6 MW * * ABO يجب تعديل الإدخال ليتناسب مع عنوان وعلامة * حجم إقامة النظام الخاص بك. يمكن بعد ذلك استخدامه بواسطة هذا المعرف * لتحميل الدليل وكتابة نواة CP. * احذف "*" (أمام MDISK) أيضًا. * قم بتغيير "404" إلى "808" إذا كان رقمك 3330-11 * ***** المستخدم IVPM1 IVPASS 320K 16M G ACCOUNT ACT4 IVPM1 CONSOLE 009 3210 SPOOL 00C 2540 READER A SPOOL 00D 2540 PUNCH P SPOOL 00E 1403 L MDISK 191 3330 001 001 CPR6L0 WR قراءة كتابة رابط الصيانة 194 194 RR رابط الصيانة 190 190 RR * المستخدم IVPM2 IVPASS 320K 1M G حساب ACT5 IVPM2 وحدة التحكم 009 3210 SPOOL 00C 2540 READER A SPOOL 00D 2540 PUNCH P SPOOL 00E 1403 L MDISK 191 3330 002 001 CPR6L0 WR قراءة كتابة صيانة الرابط 194 194 RR صيانة الرابط 190 190 RR * مستخدم RSCS RSCS 512K حساب ACT6 خيار RSCS ECMODE CONSOLE 009 3215 SPOOL 001 2540 READER A SPOOL 00C 2540 READER A SPOOL 0 0D 2540 PUNCH P SPOOL 00E 1403 L MDISK 191 3330 003 005 CPR6L0 WR قراءة كتابة الرابط الرئيسي 190 190 RR تخصيص 0B1 078 تخصيص 0B2 079 تخصيص 0B3 07A * مستخدم ECMODE 512K 1M G حساب ACT7 ECMODE OPTION ECMODE REALTIMER CONSOLE 00 9 321 5 SPOOL 00C 2540 READER A SPOOL 00D 2540 PUNCH P SPOOL 00E 1403 L MDISK 191 3330 024 005 CPR6L0 WR قراءة كتابة صيانة الرابط 194 194 صيانة رابط RR 190 190 RR * عمليات تشغيل المستخدم 512K 1M BCEG ACCOUNT ACT8 OPERATNS CONSOLE 009 3215 SPOOL 00C 2540 القارئ A 00D 2540 PUNCH P SPOOL 00E 1403 L LINK MAINT 190 190 RR **************** * * تم توفير إدخال القرص الصغير التالي كمثال على * المساحة الموصى بها لجهاز IPCS الظاهري. * إذا كنت تنوي استخدام معرف مستخدم OPERATNS باعتباره جهاز IPCS الخاص بك * جهازًا افتراضيًا، فيجب عليك تغيير البيان التالي * لتخصيص مساحة القرص الصغير على أحد وحدات تخزين DASD الخاصة بنظامك. * * MDISK 191 3330 XXX 015 YYYYYY WR للقراءة والكتابة * **************** * * * الأسطوانات من 142 إلى 403 غير مستخدمة ويمكن استخدامها في أي مساحة قرص صغيرة افتراضية أخرى. يمكن أيضًا استخدامه للترحيل أو التخزين المؤقت أو مساحة T-DSK. * * * : قراءة DMKRIO ASSEMBLE DMKRIO CSECT ******** تعريفات الجهاز: * ****** Teletype RDEVICE ADDRESS=008,DEVTYPE=3215 * ****** قارئ البطاقة RDEVICE ADDRESS=00C, DEVTYPE=3505,CLASS=(R) * ****** ثقب البطاقة RDEVICE ADDRESS=00D,DEVTYPE=3525,CLASS=(P) * ****** الطابعة RDEVICE ADDRESS=00E,DEVTYPE=1403,FEATURE =UNVCHSET,CLASS=(L) * ****** المحطات الطرفية RDEVICE ADDRESS=(020,16),DEVTYPE=3277 * ****** DASDs: * **** أقراص النظام. RDEVICE ADDRESS=(130,2),DEVTYPE=3330,MODEL=11 * ****أقراص المستخدم. عنوان RDEVICE=(150,8),DEVTYPE=3330,MODEL=11 * ****** الأشرطة. RDEVICE ADDRESS=(180,16),DEVTYPE=3420,MODEL=8,FEATURE=DUALDENS * ******** تعريفات وحدة التحكم: * ****** الطابعة (لا أعرف إذا كانت هذه هي مطلوب): عنوان RCTLUNIT=000,CUTYPE=3811 * ****** الإدخال/الإخراج البطيء: عنوان RCTLUNIT=008,CUTYPE=2821 * ****** المحطات الطرفية: عنوان RCTLUNIT=020,CUTYPE=3272,FEATURE=16 -DEVICE * ****** أقراص النظام: RCTLUNIT ADDRESS=130,CUTYPE=3880,FEATURE=16-DEVICE * ****** أقراص المستخدم: RCTLUNIT ADDRESS=150,CUTYPE=3880,FEATURE=16-DEVICE * ****** الأشرطة: عنوان RCTLUNIT = 180، CUTYPE = 3803، الميزة = 16-جهاز * ******** تعريفات القناة = 0، CHTYPE = عنوان RCHANNEL المتعدد أو MULTIPLEX = 1، CHTYPE = BLKMPXR * RIOGEN CONS=008 END: اقرأ عنوان DMKSYS ASSEMBLE SYS "DMKSYS FOR 3330 RELEASE 6)" 00001000 DMKSYS CSECT 00002000 SYSOWN (VMREL6,TEMP) 00003000 SYSRES SYSVOL=VMREL6,SYSRES=131,SYSTYPE=3330, X00004000 SYSNUC=7,SYSWRM=10,SYSERR=11,SYSCKP=202 00005000 SYSMON AUTO=NO 00006000 SYSJRL 00007000 SYSCOR RMSIZE=16M,AP=NO 00008000 SYSOPR SYSOPER=OPERATOR,SYSDUMP=OPERATNS 00009000 SYSTIME ZONE=5,LOC=WEST,ID=EST 00010000 SYSLOCS 00011000 END 00012000:READ DMKSNT ASSEMBLE *. 00003000 * MODULE NAME - 00004000 * DMKSNT 00005000 * 00006000 * FUNCTION - 00007000 * 00008000 * THIS MODULE WILL BE ASSEMBLED BY THE INSTALLATION SYSTEM 00009000 * PROGRAMMER. IT WILL DESCRIBE THE THE SYSTEM TO BE SAVED VIA 00010000 * THE "SAVESYS" COMMAND AND TO BE IPL"ED BY NAME. SHARED SEG- 00011000 * MENTS MAY BE SPECIFIED. THESE SEGMENTS MUST CONSIST OF 00012000 * ALL REENTRANT CODE. 00013000 * 00014000 * 00015000 * INPUT TO THE NAMESYS MACRO IS SPECIFIED IN THE FOLLOWING 00016000 * FORMAT: 00017000 * 00018000 * LABEL NAMESYS SYSSIZE=NNNK,SYSNAME=CCCCCC,VSYSRES=CCCCCC, 00019000 * VSYSADR=XXX,SYSVOL=CCCCCC,SYSCYL=NNN, 00020000 * SYSSTRT=(CC,P),SYSPGCT=NN, 00021000 * SYSPGNM=(NN,NN,NN-NN,......), 00022000 * SYSHRSG=(N,N,...) 00023000 * 00024000 * WHERE: 00025000 * 00026000 * SYSSIZE - THIS IS THE MINUMUM STORAGE SIZE NEEDED TO 00027000 * OPERATE THE SAVED SYSTEM. 00028000 * SYSNAME - IS THE NAME GIVEN THE SYSTEM TO BE USED FOR 00029000 * IDENTIFICATION BY "SAVESYS" AND "IPL". 00030000 * VSYSRES - IS THE VOLUME SERIAL OF THE DASD CONTAINING THE 00031000 * SYSTEM TO BE SAVED 00032000 * VSYSADR - IS THE VIRTUAL ADDRESS OF THE DASD CONTAINING 00033000 * THE SYSTEM. 00034000 * SYSCYL - THE CYLINDER ADDRESS OF THE "MINI-DISK" 00035000 * FOR THE SYSTEM TO BE SAVED. 00036000 * SYSVOL - IS THE VOLUME SERIAL OF THE DASD DESIGNATED TO 00037000 * RECEIVE THE SAVED SYSTEM. THIS MUST BE A 00038000 * "CP-OWNED" VOLUME. 00039000 * SYSSTRT - THIS DESIGNATES THE STARTING CYLINDER AND PAGE 00040000 * ADDRESS ON "SYSVOL" THAT THIS NAMED SYSTEM IS TO 00041000 * BE SAVED. DURING THE SAVESYS AND IPL PROCESSING, 00042000 * THIS WILL BE USED TO MAKE UP THE "CCPD" ADDRESS 00043000 * FOR THE DASD OPERATIONS. THESE NUMBERS ARE TO 00044000 * SPECIFIED IN DECIMAL. 00045000 * SYSPGCT - IS THE TOTAL NUMBER OF PAGES TO BE SAVED. 00046000 * SYSPGNM - THESE ARE THE NUMBERS OF THE PAGES TO BE SAVED. 00047000 * SPECIFICATION MAY BE DONE AS GROUPS OF PAGES OR 00048000 * AS SINGLE PAGES. FOR EXAMPLE - IF PAGES 0,4, AND 00049000 * 10 THRU 13 ARE TO BE SAVED, USE THE FORMAT: 00050000 * SYSPGNM=(0,4,10-13). 00051000 * SYSHRSG - THESE ARE THE SEGMENT NUMBERS DESIGNATED AS 00052000 * SHARED. THE PAGES IN THESE SEGMENTS WILL BE SET 00053000 * UP AT IPL TIME TO BE USED BE ANY USER 00054000 * IPL"ING BY THIS NAME. 00055000 * 00056000 * THE FOLLOWING IS A SAMPLE OF INPUT FOR THIS MODULE: 00057000 * 00058000 * DMKSNTBL CSECT 00059000 * FSTNAME NAMESYS SYSSIZE=256K,SYSNAME=CMS,VSYSRES=CPDSK1, 00060000 * SYSVADR=190,SYSCYL=100,SYSVOL=CPDSK2, 00061000 * SYSSTRT=(400,1),SYSPGCT=10, 00062000 * SYSPGNM=(0-5,10-13),SYSHRSG=(1,2) 00063000 * 00064000 * ATTRIBUTES - 00065000 * 00066000 * PAGEABLE 00067000 * 00068000 * ENTRY POINTS - 00069000 * 00070000 * DMKSNTBL 00071000 * 00072000 * NOTES - 00073000 * 00074000 * THERE IS NO EXECUTABLE CODE IN THIS MODULE. 00075000 * 00076000 * 00077000 *. 00078000 EJECT 00079000 * 00080000 *********************************************************************** 00081000 * 00082000 * THE FOLLOWING ENTRIES ARE BASED ON THE INFORMATION INCLUDED 00083000 * IN THE SAMPLE DMKSYS PROVIDED WITH THE STARTER SYSTEM, 00084000 * AND THE SAMPLE ALLOCATIONS PROVIDED IN THE SYSTEM 00085000 * GENERATION PROCEDURE. 00086000 * 00087000 *********************************************************************** 00088000 * 00089000 SPACE 00090000 DMKSNTBL CSECT 00091000 SPACE 00092000 * 00093000 * THE SPACE FOR CMS IS ALLOCATED ON VMREL6, AS FOLLOWS: 00094000 * CYL 1, PAGE 01 TO CYL 1, PAGE 34 (34 PAGES) 00095000 * TOTAL = 34 PAGES 00096000 * 00097000 CMS NAMESYS SYSSIZE=256K,SYSNAME=CMS, X00098000 VSYSADR=190,SYSVOL=VMREL6,SYSCYL=030,SYSSTRT=(001,1), X00099000 SYSPGCT=33,SYSPGNM=(0-32),SYSHRSG=(1),VSYSRES=CPR6L0 00100000 EJECT 00101000 * 00102000 * THE SPACE FOR CMSSEG IS ALLOCATED ON VMREL6, AS FOLLOWS: 00103000 * CYL 1, PAGE 35 TO CYL 1, PAGE 51 (17 PAGES) 00104000 * TOTAL = 17 PAGES 00105000 * 00106000 CMSSEG NAMESYS SYSNAME=CMSSEG,SYSVOL=VMREL6,SYSCYL=, X00107000 SYSSTRT=(001,35),SYSPGCT=16,SYSHRSG=(16), X00108000 SYSPGNM=(256-271),SYSSIZE=64K,VSYSRES=,VSYSADR=IGNORE 00109000 EJECT 00110000 * 00111000 * THE SPACE FOR CMSVSAM IS ALLOCATED ON VMREL6, AS FOLLOWS: 00112000 * CYL 1, PAGE 52 TO CYL 1, PAGE 57 (6 PAGES) 00113000 * CYL 2, PAGE 01 TO CYL 2, PAGE 57 (57 PAGES) 00114000 * CYL 3, PAGE 01 TO CYL 3, PAGE 34 (34 PAGES) 00115000 * TOTAL = 97 PAGES 00116000 * 00117000 CMSVSAM NAMESYS SYSNAME=CMSVSAM,SYSVOL=VMREL6,SYSPGNM=(272-367), X00118000 SYSSTRT=(001,52),SYSPGCT=96,SYSSIZE=384K,SYSCYL=, X00119000 SYSHRSG=(17,18,19,20,21),VSYSRES=,VSYSADR=IGNORE 00120000 EJECT 00121000 * 00122000 * THE SPACE FOR CMSAMS IS ALLOCATED ON VMREL6, AS FOLLOWS: 00123000 * CYL 3, PAGE 35 TO CYL 3, PAGE 57 (23 PAGES) 00124000 * CYL 4, PAGE 01 TO CYL 4, PAGE 57 (57 PAGES) 00125000 * CYL 5, PAGE 01 TO CYL 5, PAGE 49 (49 PAGES) 00126000 * TOTAL = 129 PAGES 00127000 * 00128000 CMSAMS NAMESYS SYSNAME=CMSAMS,SYSVOL=VMREL6,SYSPGNM=(368-495), X00129000 SYSSTRT=(003,35),SYSPGCT=128,SYSSIZE=448K,SYSCYL=, X00130000 SYSHRSG=(23,24,25,26,27,28),VSYSRES=,VSYSADR=IGNORE 00131000 EJECT 00132000 * 00133000 * THE SPACE FOR CMSDOS IS ALLOCATED ON VMREL6, AS FOLLOWS: 00134000 * CYL 5, PAGE 50 TO CYL 5, PAGE 57 (8 PAGES) 00135000 * CYL 6, PAGE 01 TO CYL 6, PAGE 01 (1 PAGE) 00136000 * TOTAL = 9 PAGES 00137000 * 00138000 CMSDOS NAMESYS SYSNAME=CMSDOS,SYSVOL=VMREL6,SYSHRSG=(31), X00139000 SYSSTRT=(005,050),SYSPGCT=8,SYSSIZE=32K,SYSCYL=, X00140000 SYSPGNM=(496-503),VSYSRES=,VSYSADR=IGNORE 00141000 EJECT 00142000 * 00143000 * THE SPACE FOR INSTVSAM IS ALLOCATED ON VMREL6, AS FOLLOWS: 00144000 * CYL 6, PAGE 02 TO CYL 6, PAGE 10 (9 PAGES) 00145000 * TOTAL = 9 PAGES 00146000 * 00147000 INSTVSAM NAMESYS SYSNAME=INSTVSAM,SYSVOL=VMREL6,SYSHRSG=(254), X00148000 SYSSTRT=(006,002),SYSPGCT=8,SYSSIZE=32K,SYSCYL=, X00149000 SYSPGNM=(4064-4071),VSYSRES=,VSYSADR=IGNORE 00150000 * 00151000 EJECT 00152000 * 00153000 * THE SPACE FOR 3800 PRINTER IMAGES ON VMREL6 IS ALLOCATED: 00154000 * CYL 6, PAGE 11 TO CYL 6, PAGE 16 (6 PAGES) 00155000 * TOTAL = 6 PAGES 00156000 * 00157000 NAME3800 CPNAME=IMAG3800,SYSVOL=CPR6L0,SYSSTRT=(006,11), X00158000 SYSPGCT=5 00159000 EJECT 00160000 * 00161000 * THE FOLLOWING SPACE IS AVAILABLE FOR SAVED SYSTEMS ON VMREL6: 00162000 * CYL 6, PAGE 17 TO CYL 6, PAGE 57 (41 PAGES) 00163000 * TOTAL = 47 PAGES 00164000 * 00165000 END 00166000 !}


انسخ كل هذا النص إلى ملف sysconf.txt.

بناء النواة

أدخل في وحدة تحكم Hercules: "devinit 00c sysconf.txt ascii eof".
وعلى الشاشة: "إنشاء vm370"
سيطلب GENERATE اسم ملف الدليل (بالنسبة لي هو MYVM DIRECT). بعد ذلك سيتم تجميع ملفات التكوين وسيسألك GENERATE عما إذا كنا سنستخدم نظامًا متعدد المعالجات أو خيار V=R. نجيب لا. بعد ذلك، سيكون هناك الكثير من النص و(إذا كنت محظوظًا) في النهاية سيكون هناك نقش: "NUCLEUS LOADED ON VMREL6".
احفظ خريطة ذاكرة kernel وأوقف تشغيل نظام بدء التشغيل:
إغلاق ptr 15:06:30 IPL 190 PARM SEG=NULL 15:06:30 PRT FILE 0019 TO CPGEN COPY 01 NOHOLD RELEASE 6 CMS 12/25/78 الوصول 194 a CMSSEG اسم النظام "NULL" غير متوفر. ص ؛ T=0.01/0.01 15:06:36 قراءة خريطة cpipcs طول السجل هو "132" بايت. ص ؛ T=0.25/1.24 15:06:50 استنزاف الكل 15:08:18 RDR 00C DRAINED SYSTEM 15:08:18 PUN 00D DRAINED SYSTEM CLASS = A SEP 15:08:18 PRT 00E DRAINED SYSTEM CLASS = A SEP R؛ T=0.01/0.02 15:08:18 إيقاف تشغيل DMKCKP960I بيانات بدء التشغيل الدافئ المحفوظة DMKCKP961W اكتمل إيقاف تشغيل النظام

تقسيم القرص

لاستخدام القرص CPR6L0، يجب إعادة تقسيمه. قم بتحميل FORMAT/ALLOCATE بنفس الطريقة التي يتم بها نسخ النظام.
VM/370 تنسيق/إصدار برنامج التخصيص 6 أدخل التنسيق أو التخصيص: تخصيص الوظيفة المحددة أدخل عنوان الجهاز (CCU): 130 أدخل نوع الجهاز: 3330 أدخل تسمية الجهاز: CPR6L0 أدخل بيانات التخصيص لوحدة التخزين CPR6L0 نوع CYL CYL .... . ... DRCT 000 000 PERM 001 403 نتائج التخصيص النهائية DRCT 000 000 PERM 001 403 الجهاز 130 الحجم CPR6L0 انتهى التخصيص.
أوقف البرنامج باستخدام أمر الإيقاف.

إطلاق نظام جديد

التمهيد من قرص النظام باستخدام أمر IPL 131 ستظهر مطالبة في نافذة Hercules:
الآن الساعة 14:14:40 بتوقيت شرق الولايات المتحدة يوم الإثنين 26/08/13 قم بتغيير ساعة اليوم (نعم لا)
أنت تعمل الآن في وحدة التحكم المدمجة. من وجهة نظر VM/CMS، هذه هي نفس وحدة التحكم التي يتم الاتصال بها عبر telnet. لإدخال نص في وحدة التحكم المضمنة، أدخله في وحدة تحكم Hercules باستخدام شرطة مائلة للأمام ("/"):
تغيير ساعة اليوم (نعم لا): /(0008) لا 14:17:49 البداية ((قوة CKPT الدافئة الباردة) (التصريف)) (إيقاف التشغيل) : /(0008) بارد 14:17:51 تسجيل الدخول التلقائي *** المشغل المستخدمون = 001 بواسطة System DMKCPI957I Stor 16384K، NUC 224K، DYN 14900K، TRA 240K، 1020K مجانًا، V = R 00000K 14:17:51 الملفات: لا يوجد RDR، ولا PRT، ولا PUN 14:17:51 خطأ في التنسيق ريدرز أ
تنسيق الأقراص الصغيرة
كل شيء بسيط هنا:
/(0008) ipl 190 parm seg=null 14:22:39 الإصدار 6 CMS 12/25/78 V /(0008) الوصول (اسم نظام CMSSEG nodisk "NULL" غير متوفر. القرص "A" لم يتم الوصول إليه. القرص "A" " لم يتم الوصول إليه. R; T=0.01/0.01 14:22:49 /(0008) التنسيق 191 سيعمل تنسيق DMSFOR603R على مسح كافة الملفات الموجودة على القرص "A(191)". هل ترغب في المتابعة؟ (نعم لا): / (0008) نعم DMSFOR605R أدخل تسمية القرص: /(0008) OPR191 قرص التنسيق "A". 00000000 00000000 HHCCP077I 0130:Sense=CMDREJ "5" اسطوانات تم التنسيق على "A (191)". T=0.01/0.11 14:23:13 /(0008) تسجيل الخروج 14:23:34 الاتصال= 00:05:42 VIRTCPU= 000:00.06 TOTCPU= 000:00.39 14: 23:34 تسجيل الخروج الساعة 14:23:34 الإثنين بالتوقيت الشرقي 26/08/13 VM/370 عبر الإنترنت /(0008) صيانة تسجيل الدخول أدخل كلمة المرور: XXXXXXXXX /(0008) cpcms تسجيل الدخول الساعة 14:23:45 الإثنين بالتوقيت الشرقي 26/08/13 /(0008) تعريف التخزين 2 متر STORAGE = 02048K /(0008) ipl 190 parm seg=null RELEASE 6 CMS 12/25/78 /(0008) الوصول (nodisk CMSSEG SYSTEM NAME "NULL" غير متوفر. لم يتم الوصول إلى القرص "أ". لم يتم الوصول إلى القرص "أ". ص ؛ T=0.01/0.01 14:25:26 /(0008) التنسيق 191 أ سيعمل تنسيق DMSFOR603R على مسح كافة الملفات الموجودة على القرص "A(191)". هل ترغب في الاستمرار؟ (نعم لا): /(0008) نعم DMSFOR605R أدخل تسمية القرص: /(0008) MNT191 قرص التنسيق "أ". HHCCP048I 0130:CCW=07F07BB0 40100006=>00000FFF 00000000 00FFF280 000F6F38 .........2...؟. HHCCP075I 0130:Stat=0E00 Count=0000 HHCCP076I 0130:Sense=80000000 38171204 00000000 00000000 00000000 00000000 HHCCP077I 0130:Sense=CMDREJ "7" تم تنسيقه "أ(191)". ص ؛ T=0.02/0.26 14:26:30 /(0008) تسجيل الخروج CONNECT= 00:02:49 VIRTCPU= 000:00.07 TOTCPU= 000:00.52 تسجيل الخروج الساعة 14:26:35 بتوقيت شرق الولايات المتحدة يوم الاثنين 08/26/13 VM/370 عبر الإنترنت /(0008) مشغل تسجيل الدخول أدخل كلمة المرور: XXXXXXXX /(0008) المشغل 14:28:10 تسجيل الدخول في الساعة 14:28:10 بتوقيت شرق الولايات المتحدة الاثنين 26/08/13 14:28:10 سطر 008 تسجيل الدخول كمستخدمين للمشغل = 002 / تمكين الكل ===الكثير من الرسائل حول الأجهزة غير المتصلة===
تثبيت التحديثات
قم بتسجيل الدخول كمستخدم MAINT عبر الشاشة:
تسجيل الدخول الرئيسي أدخل كلمة المرور: DASD 190 LINKED R/W؛ R/O بواسطة المشغل DASD 194 LINKED R/W; R/O بواسطة مشغل تسجيل الدخول الساعة 14:30:29 بتوقيت شرق الولايات المتحدة يوم الاثنين 26/08/13 CP IPL 190 PARM SEG=NULL RELEASE 6 CMS 12/25/78 CMSSEG اسم النظام "NULL" غير متوفر. ص ؛ T=0.01/0.01 14:30:54
كلمة المرور - CPCMS.
قم بتوصيل موجز التحديث بالجهاز الرئيسي (عبر وحدة تحكم Hercules):
devinit 180 ./DISTR/ptf-616.aws HHCTA101I 0180: AWS Tape ./DISTR/starter-3330.aws مغلق HHCTA004I 0180: ./DISTR/ptf-616.aws هو ملف شريط بتنسيق AWS HHCPN098I جهاز 0:0180 تمت تهيئته /(0008) أرفق 180 للصيانة كـ 181 14:32:43 14:32:43 الشريط 180 أرفق بالصيانة 181

الآن في وحدة تحكم المشرف:
vmfplc2 rew R; T=0.01/0.01 14:33:26vmfplc2 تحميل التحميل ..... 5749010 061638 A1 VMSERV EXEC A1 5749010 EXEC A1 VMFPLC2 MODULE A2 END-OF-FILE OR END-OF-TAPE R; T=0.02/0.10 14:33:33 الوصول 191 ج "191 أ" تم إصداره R; T=0.01/0.01 14:34:16 إعادة تشغيل vmserv 5749010 cp nomemo
سيكون هناك المزيد من الأسئلة. أنا شخصياً أجيب بشكل عشوائي - والنتيجة كما هو متوقع خطأ. ولكن هذا ليس حرجا.

احفظ نظام إدارة المحتوى

لدى CP آلية مشابهة للمكتبات الديناميكية - الأنظمة المسماة. أحد استخداماته المتكررة هو تسريع العمل باستخدام نظام إدارة المحتوى (CMS). لحفظ نظام إدارة المحتوى (CMS) كنظام مسمى، تحتاج إلى تشغيل الأوامر التالية:
تعريف التخزين 2 م STORAGE = 02048K CP تم إدخاله؛ معطل، انتظر PSW "00020000 00000000" IPL 190 PARM SEG=إصدار NULL 6 CMS 12/25/78 CMSSEG اسم النظام "NULL μ" غير متوفر. ص ؛ T=0.01/0.01 14:42:14 الوصول 190 B/A B (190) R/O 190 ALSO = S-DISK cmsxgen 100000 النظام المحفوظ CMSXGEN كامل تحديد التخزين 960 كيلو تخزين = 00960 كيلو CP تم إدخاله؛ معطل انتظر PSW "00020000 00000000" إصدار IPL 190 6 CMS 12/25/78 نظام savesys المحفوظ الإصدار 6 CMS 12/25/78

تهانينا، لديك الآن نظام CP/CMS الخاص بك. لإيقاف تشغيله، أدخل أمر إيقاف التشغيل في وحدة تحكم المشغل. عند تشغيله مرة أخرى، حدد بداية دافئة.
ملاحظة: في الواقع، هناك الكثير لنقوله. لكنها بالفعل ورقة.
حظا سعيدا مع IPLs الخاص بك!

ملاحظة: أولئك الذين حاولوا التثبيت وليسوا كسالى جدًا لإلغاء الاشتراك - يرجى إلغاء الاشتراك.

مشروع نمذجة تاريخ الكمبيوتر و SIMH

لقد استلمت أول جهاز كمبيوتر خاص بي في أواخر عام 1978 كهدية لعيد ميلادي. لقد كان الطراز 1 TRS-80 مزودًا بذاكرة 4K ومحرك كاسيت، والذي استبدلته لاحقًا بمحرك الأقراص المرنة Exatron. وفي غضون بضعة أسابيع، تعمقت مهاراتي في البرمجة الأساسية إلى درجة أنني تجاوزت الذاكرة المتوفرة في برنامجي الذي لم يتم ترجمته بعد. إذا كنت أعرف قدر ما أعرفه بعد مرور 30 ​​عامًا، باعتباري مهندسًا للبرامج الثابتة، كنت سأظل أقضي معظم وقتي في محاولة حشر أكبر قدر ممكن من التعليمات البرمجية والبيانات في مساحة عنوان أصغر قدر الإمكان.

إن تاريخ الحوسبة رائع، كما هو الحال مع بعض تصميمات الكمبيوتر المبكرة. كانت العديد من الآلات الأولى عبارة عن آلات حاسبة بسيطة، مثل Z1، التي بناها كونراد تسوسي في عام 1931، وحتى قبل ذلك، آلة الفرز الميكانيكية التي ابتكرها هيرمان هوليريث، والتي تم استخدامها في تعداد عام 1890؛ وبعد ست سنوات، أصبحت شركة هولليريث جزءًا من شركة آي بي إم. اخترع Zuse أيضًا أول لغة برمجة خوارزمية بلانكالكوللجهاز الكمبيوتر Z4 الخاص بك. كان Z4 كهروميكانيكيًا (يعتمد على التتابع)، ويدعم 64 كلمة من الذاكرة، ويعمل بسرعة مذهلة تبلغ 40 هرتز (مع استهلاك طاقة يبلغ 4 كيلو واط). قام البروفيسور جون أتاناسوف بتطوير أول جهاز كمبيوتر رقمي، والذي بدأ في بنائه في عام 1937 واكتمل في عام 1941 - واستخدم نظام الأرقام الثنائية لإجراء العمليات الحسابية في كلية ولاية آيوا. تم تطبيق الأفكار التي يقوم عليها كمبيوتر Atanasoff-Berry (ABC) في أول كمبيوتر للأغراض العامة، ENIAC. برمجة هذه الأنظمة ستكون غريبة على معظمنا الذين نشأوا مع لغة Pascal أو C أو LISP. على سبيل المثال، عند برمجة أول ENIAC، كان إجراء تغييرات على البرنامج يتطلب إعادة كتابته فعليًا. تحتوي ويكيبيديا على معلومات رائعة حول تطور أجهزة الكمبيوتر (انظر القسم).

مشروع نمذجة تاريخ VT

مثل جهاز TRS-80 القديم الخاص بي، الذي يجلس بلا حياة في صندوق مغبر، يمكن أن يتلاشى تاريخ الحوسبة بسهولة ويتحول إلى غياهب النسيان. لحسن الحظ، هناك أشخاص مثل بوب سوبنيك الذين يكرسون الوقت والطاقة لحفظ أهم اللحظات في تاريخ الحوسبة. أنشأ Supnik مشروع محاكاة تاريخ الكمبيوتر لإعادة بناء أنظمة حوسبة مهمة من خلال المحاكاة. أدى مشروع سوبنيك، الذي يضم المتحمسين من جميع أنحاء العالم، إلى إنشاء هيكل متعدد الأنظمة يسمى سيمه، ومحاكاة عدد كبير من أنظمة الحوسبة. وتشمل هذه الأجهزة Nova من شركة Data General، وPDP وVAX من شركة DEC، و1401 و7090/7094 من IBM، وأنظمة Interdata، وحتى أجهزة كمبيوتر Altair من MITS (التي تعمل بمعالجات 8080 وZ80). يتم سرد أنظمة المحاكاة الأخرى على الرابط الموجود في القسم.

هندسة سيمه

دعونا نلقي نظرة أولاً على البنية العامة لـ SIMH ثم نلقي نظرة على بعض الأمثلة لاستخدام SIMH لتشغيل الأجهزة القديمة التي تمت محاكاتها.

هندسة سيمه

يمكن العثور على وصف لـ SIMH في مستند "كتابة محاكي لنظام SIMH". ويعرض الوظائف الرئيسية لـ SIMH وخصائص الآلات المختلفة التي صممها النظام (انظر القسم).

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

الشكل 1. بنية SIMH الأساسية

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

إعداد SIMH

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

تركيب سيمه

توضح جلسة العمل التالية كيفية تنزيل وإنشاء SIMH. وهو يوضح الإصدار SIMH 38.1، وتحتاج إلى التحقق من الموقع لمعرفة ما إذا كان قد ظهر إصدار جديد من الحزمة. كما تلاحظ القائمة 1، كان علي إنشاء دليل فرعي ./BIN قبل أن أتمكن من إنشاء الحزمة.

القائمة 1. تركيب وتجميع SIMH
$ مكدير سيمه ; cd simh $ wget http://simh.trailing-edge.com/sources/simhv38-1.zip $ unzip simhv38-1.zip $ mkdir BIN $ make -f makefile

باتباع الخطوات المذكورة في القائمة 1، سينتهي بك الأمر بمجموعة من الثنائيات في الدليل الفرعي ./BIN الذي يتوافق مع المحاكيات الفردية (على سبيل المثال، ibm1130 وvax780).

حزم البرمجيات

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

التنقل في جهاز المحاكاة

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

باستخدام SIMH

الآن بعد أن أصبح لدينا فهم أساسي لـ SIMH، يمكننا التحدث عن تطبيقه مع أنظمة الكمبيوتر المختلفة. سننظر في تشغيل LISP على نظام IBM 1130، وUNIX® على نظام Interdata 32 بت، وCPM على جهاز MITS Altair، وFocal على PDP-15.

آي بي إم 1130

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

يعود تاريخ نظام 1130 إلى عام 1965، عندما كانت لغة البرمجة السائدة هي فورتران (التي كان مترجمها، المكتوب بالكامل بلغة التجميع، يستهلك 4000 كلمة فقط من الذاكرة). يعمل النظام بمساحة عنوان تعتمد على كلمات 15 بت، مما يحد من سعة ذاكرة الوصول العشوائي للجهاز إلى 64 كيلو بايت.

أحد الجوانب المثيرة للاهتمام في نظام IBM 1130 هو دعمه للغات البديلة. بالإضافة إلى فورتران، يمكن برمجة 1130 في APL وRPG. قام جاي ستيل، الذي كان لديه إمكانية الوصول إلى 1130 في مدرسة بوسطن اللاتينية (الثانوية)، بتأليف مترجم LISP الذي لا يزال من الممكن استخدامه حتى اليوم. لنبدأ بتنزيل مترجم LISP من موقع نظام 1130 ibm1130.org (انظر القائمة 2). لاحظ أنني أفترض أنك في الدليل الفرعي ./SIMH حيث تم تثبيت SIMH.

القائمة 2. تثبيت برنامج مترجم LISP
مجموعات مكدير $/ibm1130 ; مجموعات القرص المضغوط/ibm1130 $ wget http://media.ibm1130.org/lisp.zip $ unzip lisp.zip

تخفي هذه المحاكاة العديد من تفاصيل عملية SIMH، ولكنها بمثابة نظرة تاريخية مثيرة للاهتمام لأحد تطبيقات 1130. هذه معالجة مجمعة، حيث يتم تكليف المحاكي بمهمة وتتم طباعة النتيجة في ملف قائمة. المشكلة هي مثال بسيط جدًا لاستخدام مترجم LISP (يمكن رؤية النتيجة في الإخراج). تظهر جلسة معالجة الدفعات في القائمة 3.

القائمة 3. استخدام مترجم LISP مع جهاز محاكاة IBM 1130
$ ../../BIN/ibm1130 job listtest IBM 1130 Simulator V3.8-1 PRT: إنشاء ملف جديد محمل DMS V2M12 بطاقة البدء البارد انتظر، IAR: 0000002A (4c80 BSC I ,0028) sim> إنهاء وداعًا $ المزيد من القائمة .lst PAGE 1 // JOB 1234 LOG DRIVE CART SPEC CART AVAIL PHY DRIVE 0000 1234 1234 0000 V2 M12 ACTUAL 32K Config 32K ^ L PAGE 1 // JOB LOG DRIVE CART SPEC CART AVAIL PHY DRIVE 0000 1234 1234 00 V2 M12 الفعلي 32 كيلو CONFIG 32K // XEQ LISP ***** 1130 LISP 1.6 ***** BOSTON LATIN SCHOOL ***** LITHP ITH LITHTENING... (SETQQ A (X Y Z)) (X Y Z) (CAR A) X (CDR) أ) (Y Z) (زائد 1 2 3) 6 (إنهاء) ***** 1130 LISP 1.6 ***** نهاية التشغيل ***** على طول، تعال مرة أخرى $

ماذا بعد

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

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

JSMESS

يعد MESS (Multi Emulator Super System، وهو جزء من مشروع MAME) واحدًا من أقدم برامج محاكاة أجهزة الكمبيوتر المنزلية ووحدات التحكم في الألعاب والآلات الحاسبة العلمية. ويختلف من حيث أنه لا يدعم معالجًا أو بنية واحدة فقط، بل يدعم حوالي 250 نظامًا مختلفًا. JSMESS هو منفذ JavaScript لـ MESS تم تطويره بواسطة Jason Scott لأرشيف الإنترنت. JSMESS متاح على archive.org بالإضافة إلى كتالوج مثير للإعجاب من الألعاب والبرامج لمختلف المنصات القديمة. ومن المثير للاهتمام أن DOSBox يُستخدم كطبقة لمحاكاة الكمبيوتر. ولكن إذا كان هذا يؤثر على الأداء، فهو غير مهم: يمكنك حتى أن تلعب دور أمير بلاد فارس الآن، ولن يكون الأمر أسوأ مما كان عليه الحال في "مقطوعة كوبيك" لوالدي في العمل.

PCjs



PCjs هي عائلة من المحاكيات للمعالجات القديمة، بما في ذلك Intel 8080 وx86 وPDP-11 وأحد تطبيقات MOS 6502. تحتوي الصفحة الرئيسية لموقع pcjs.org على مجموعة مثيرة للاهتمام من التكوينات والصور الجاهزة، بما في ذلك الأجهزة الافتراضية ذات MS-DOS، PC-DOS، OS/2 وحتى Windows. لم نتمكن من تحميل نظام التشغيل Windows 95، ولكن بدأ تشغيل Windows 3.11 ببطء. بمجرد تشغيل أحد الأجهزة، لا تنس إلقاء نظرة على قائمة صور القرص المتاحة - حيث يمكنك العثور على مجموعات من البرامج وأنظمة التشغيل النادرة (على سبيل المثال، Minix وSCO Xenix). كخيار، يمكنك تحميل القرص أو الصورة المرنة الخاصة بك بتنسيق IMG.

PCE.js



يختلف هذا النسبي لـ PCjs في أنه، بالإضافة إلى x86، يحاكي Mac Plus وAtari ST. ربما يكون الشيء الأكثر إثارة للاهتمام هو العرض التوضيحي لنظام التشغيل Mac OS 7 - وليس فقط لأن المؤلف لم يكن كسولًا جدًا لإضافة صورة لنظام Macintosh الكلاسيكي. تكاد سرعة تشغيل النظام أن تتجاوز السرعة الأصلية، ويحتوي قرص HD 2 على عدة مجلدات تحتوي على برامج وألعاب. يوجد على نفس الموقع محاكي IBM PC/XT مع عروض توضيحية لـ Monkey Island وCivilization وWolfenstein 3D مرفقة به.

جافاتاري



إذا تحدثنا عن محاكيات متصفح Atari، فمن المحتمل أن يكون Javatari هو الأفضل منها. ويتم استخدامه، على وجه الخصوص، في موقع Virtual Atari، الذي يضم مجموعة من 550 لعبة. إذا كنت ترغب فجأة في الاستمتاع بالبرمجة بلغة التجميع لجهاز Atari 2600 أو قررت أن تكون مهتمًا بكيفية صنع الألعاب من قبل، فتأكد من مراجعة موقع الويب 8bitworkshop.com: في صفحة واحدة يسمح لك بتحرير المصدر رمز ومراقبة التغييرات.

الظاهري إلى x86



بدأت الضجة حول محاكيات المتصفح تكتسب زخمًا في عام 2011، عندما أطلق فابريس بيلارد مشروع JSLinux، وهو محاكي Linux للكمبيوتر الشخصي الذي يعمل على صفحته الرئيسية. منذ ذلك الحين، تم تطوير فكرة بيلار بشكل جيد: يقدم مشروع Virtual x86 خيارًا من بين سبعة توزيعات UNIX وLinux، بالإضافة إلى Windows 1.01 وWindows 95 و98 وKolibri OS وOberon. على عكس PCjs، لا يحاول هذا المحاكي بدء تشغيل Windows من الصفر ويقتصر على تحميل صورة RAM. وحتى بالنسبة لنظام التشغيل Windows 98، يبلغ حجمه 12 ميجابايت فقط، وبالتالي تتم العملية بسرعة. للأسف، يتم قطع جميع أنظمة التشغيل قدر الإمكان وليس لديها اتصال بالإنترنت.

محاكيات ZX Spectrum



بالنسبة لأولئك الذين ولدوا في الاتحاد السوفييتي، غالبًا ما يرتبط الحنين إلى الكمبيوتر بـ ZX Spectrum. حتى الآن، أفضل محاكي متصفح Spectrum الذي صادفناه هو JSMESS الذي سبق ذكره. وإلى جانبه هناك