مرحبا عزيزي سكان الخبر!
أنا مهتم بأجهزة الكمبيوتر وأنظمة التشغيل "القديمة". وعلى الرغم من قدمها، فإن الكثير منها أكثر تطورًا من الأنظمة الحديثة وتعد أمثلة أفضل. لدى 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 على ويكيبيديا.
بالنسبة لأولئك الذين لا يريدون التحديق، ولكن فقط رؤية النتيجة النهائية: هناك صور جاهزة للنظام مع تعليمات مفصلة (على الرغم من أنها باللغة الإنجليزية). ليس عليك قراءة بقية المقال.
بالمحتوى التالي:
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 * # محركات الأشرطة.
في نافذة التلنت:
أدخل التنسيق أو التخصيص: وظيفة التنسيق المحددة أدخل عنوان الجهاز (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 رقم. سجلات الصفحة مع أخطاء التحقق من القراءة
ستظهر الصورة التالية على الشاشة:
من حيث المبدأ، فإن عرض 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، ولا تورية
خيار جاهز:
معرف 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
!}
الآن في وحدة تحكم المشرف:
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 الخاص بك. لإيقاف تشغيله، أدخل أمر إيقاف التشغيل في وحدة تحكم المشغل. عند تشغيله مرة أخرى، حدد بداية دافئة.
ملاحظة: في الواقع، هناك الكثير لنقوله. لكنها بالفعل ورقة.
حظا سعيدا مع 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، كان إجراء تغييرات على البرنامج يتطلب إعادة كتابته فعليًا. تحتوي ويكيبيديا على معلومات رائعة حول تطور أجهزة الكمبيوتر (انظر القسم).
مثل جهاز 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، يتكون المحاكي من حزمة تحكم محاكي (تحتوي على عناصر مثل وحدة تحكم المحاكي والمحطة الطرفية ومكتبات ملفات الإدخال/الإخراج، بالإضافة إلى الموقتات والمقابس) ومجموعة من الأجهزة. روح الجهاز عبارة عن مجموعة من السجلات التي تخزن حالة الجهاز (عند تشغيله) والكتل التي تعرض مجموعات من البيانات (عادةً الملفات التي يتم استخدامها لتمثيل الجهاز). قد لا تكون جميع الأجهزة موجودة، على سبيل المثال، لم يتم تصميم معدات الشبكة.
عندما يتم تشغيل جهاز افتراضي على جهاز محاكاة، فإن أول ما تحدده حزمة إدارة جهاز المحاكاة هو البيئة (صفيف الجهاز، برنامج التمهيد الثنائي، جهاز محاكاة مجموعة التعليمات، وما إلى ذلك). كما سترى قريبًا، بمجرد تشغيل جهاز المحاكاة، يمكنك التفاعل معه لتشغيل الجهاز الظاهري (أو وضع برنامج التفاعل هذا في ملف لتسهيل الأمور). في الأساس، جهاز المحاكاة عبارة عن مصحح أخطاء يسمح لك بتعيين نقاط التوقف والعمل مع الأجهزة والمعالج والذاكرة. الكود سهل القراءة وليس كبيرًا كما قد يتوقعه المرء نظرًا لحجم الوظائف التي توفرها SIMH.
دعونا نرى كيف يعيدنا SIMH إلى فجر عصر الكمبيوتر. يشرح هذا القسم أولاً كيفية تثبيت وبناء SIMH ثم يناقش حزم البرامج.
توضح جلسة العمل التالية كيفية تنزيل وإنشاء SIMH. وهو يوضح الإصدار SIMH 38.1، وتحتاج إلى التحقق من الموقع لمعرفة ما إذا كان قد ظهر إصدار جديد من الحزمة. كما تلاحظ القائمة 1، كان علي إنشاء دليل فرعي ./BIN قبل أن أتمكن من إنشاء الحزمة.
باتباع الخطوات المذكورة في القائمة 1، سينتهي بك الأمر بمجموعة من الثنائيات في الدليل الفرعي ./BIN الذي يتوافق مع المحاكيات الفردية (على سبيل المثال، ibm1130 وvax780).
في الخطوة السابقة، قمنا ببناء جهاز محاكاة SIMH. ومع ذلك، لكي تكون مفيدًا، فأنت بحاجة إلى برنامج (أنظمة تشغيل وتطبيقات) لهذه المحاكاة. عملت هذه الأنظمة باستخدام الورق المثقوب والأشرطة المغناطيسية، ولكن تمت إعادة تجميع البرامج الموجودة على هذه الوسائط كملفات لسهولة الاستخدام. في هذه العروض التوضيحية، سنوجهك عبر حزم البرامج التي تحتاجها ونوضح لك مكان الحصول عليها.
عند تشغيل جهاز المحاكاة (حسب اسم الجهاز الذي تتم محاكاته، على سبيل المثال، altairz80)، سترى سطر الأوامر sim>. تخبرك هذه المطالبة أنك في جهاز المحاكاة الرئيسي، والذي يحتاج إلى تكوين للكائن الذي يتم تصميمه. تتناول هذه المقالة عددًا قليلًا من الأوامر العديدة التي يمكن تنفيذها. لرؤية قائمة واسعة النطاق، يمكنك استخدام أمر المساعدة. من المهم أيضًا ملاحظة أنه أثناء محاكاة أحد الأجهزة المدعومة، يمكنك استخدام المفتاح Ctrl-E للعودة إلى جهاز المحاكاة. هنا يمكنك تعيين نقاط التفتيش، وفحص السجلات، وعرض قائمة انتظار أحداث جهاز المحاكاة، وما إلى ذلك.
الآن بعد أن أصبح لدينا فهم أساسي لـ SIMH، يمكننا التحدث عن تطبيقه مع أنظمة الكمبيوتر المختلفة. سننظر في تشغيل LISP على نظام IBM 1130، وUNIX® على نظام Interdata 32 بت، وCPM على جهاز MITS Altair، وFocal على PDP-15.
كان IBM 1130 جهاز كمبيوتر شائعًا في السوق المنخفضة. لقد اعتمدت على البطاقات المثقوبة والأشرطة المثقوبة، ولكنها استخدمت أيضًا ذاكرة القرص (بسعة إجمالية تبلغ 1 ميجابايت). يقوم القرص بتخزين نظام التشغيل والبيانات.
يعود تاريخ نظام 1130 إلى عام 1965، عندما كانت لغة البرمجة السائدة هي فورتران (التي كان مترجمها، المكتوب بالكامل بلغة التجميع، يستهلك 4000 كلمة فقط من الذاكرة). يعمل النظام بمساحة عنوان تعتمد على كلمات 15 بت، مما يحد من سعة ذاكرة الوصول العشوائي للجهاز إلى 64 كيلو بايت.
أحد الجوانب المثيرة للاهتمام في نظام IBM 1130 هو دعمه للغات البديلة. بالإضافة إلى فورتران، يمكن برمجة 1130 في APL وRPG. قام جاي ستيل، الذي كان لديه إمكانية الوصول إلى 1130 في مدرسة بوسطن اللاتينية (الثانوية)، بتأليف مترجم LISP الذي لا يزال من الممكن استخدامه حتى اليوم. لنبدأ بتنزيل مترجم LISP من موقع نظام 1130 ibm1130.org (انظر القائمة 2). لاحظ أنني أفترض أنك في الدليل الفرعي ./SIMH حيث تم تثبيت SIMH.
تخفي هذه المحاكاة العديد من تفاصيل عملية SIMH، ولكنها بمثابة نظرة تاريخية مثيرة للاهتمام لأحد تطبيقات 1130. هذه معالجة مجمعة، حيث يتم تكليف المحاكي بمهمة وتتم طباعة النتيجة في ملف قائمة. المشكلة هي مثال بسيط جدًا لاستخدام مترجم LISP (يمكن رؤية النتيجة في الإخراج). تظهر جلسة معالجة الدفعات في القائمة 3.
هناك شيء مثير حقًا بشأن أجهزة الكمبيوتر القديمة. كل ما لدينا اليوم يأتي من الأجيال القديمة من أنظمة الحوسبة، والتي لم يعد الكثير منها يعمل. يعمل مشروع SIMH على إعادة هذه الأجهزة (بالإضافة إلى أنظمة التشغيل والتطبيقات) إلى الحياة لجعلها في متناول الأجيال الشابة.
وصلت أجهزة الكمبيوتر الحديثة والمتصفحات الحديثة إلى مستويات عالية من الأداء. منذ حوالي عشر سنوات، بدا تطبيق الويب التفاعلي وكأنه معجزة، ولكن الآن لم تتم كتابة الألعاب أو، على سبيل المثال، ولكن حتى محاكيات أجهزة الكمبيوتر القديمة بلغة JavaScript. لقد اخترنا العديد من المحاكيات الأكثر إثارة للاهتمام والتي ستسعد عشاق التحف وأي شخص مهتم بتاريخ تكنولوجيا الكمبيوتر.
يعد MESS (Multi Emulator Super System، وهو جزء من مشروع MAME) واحدًا من أقدم برامج محاكاة أجهزة الكمبيوتر المنزلية ووحدات التحكم في الألعاب والآلات الحاسبة العلمية. ويختلف من حيث أنه لا يدعم معالجًا أو بنية واحدة فقط، بل يدعم حوالي 250 نظامًا مختلفًا. JSMESS هو منفذ JavaScript لـ MESS تم تطويره بواسطة Jason Scott لأرشيف الإنترنت. JSMESS متاح على archive.org بالإضافة إلى كتالوج مثير للإعجاب من الألعاب والبرامج لمختلف المنصات القديمة. ومن المثير للاهتمام أن DOSBox يُستخدم كطبقة لمحاكاة الكمبيوتر. ولكن إذا كان هذا يؤثر على الأداء، فهو غير مهم: يمكنك حتى أن تلعب دور أمير بلاد فارس الآن، ولن يكون الأمر أسوأ مما كان عليه الحال في "مقطوعة كوبيك" لوالدي في العمل.
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.
يختلف هذا النسبي لـ 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: في صفحة واحدة يسمح لك بتحرير المصدر رمز ومراقبة التغييرات.
بدأت الضجة حول محاكيات المتصفح تكتسب زخمًا في عام 2011، عندما أطلق فابريس بيلارد مشروع JSLinux، وهو محاكي Linux للكمبيوتر الشخصي الذي يعمل على صفحته الرئيسية. منذ ذلك الحين، تم تطوير فكرة بيلار بشكل جيد: يقدم مشروع Virtual x86 خيارًا من بين سبعة توزيعات UNIX وLinux، بالإضافة إلى Windows 1.01 وWindows 95 و98 وKolibri OS وOberon. على عكس PCjs، لا يحاول هذا المحاكي بدء تشغيل Windows من الصفر ويقتصر على تحميل صورة RAM. وحتى بالنسبة لنظام التشغيل Windows 98، يبلغ حجمه 12 ميجابايت فقط، وبالتالي تتم العملية بسرعة. للأسف، يتم قطع جميع أنظمة التشغيل قدر الإمكان وليس لديها اتصال بالإنترنت.
بالنسبة لأولئك الذين ولدوا في الاتحاد السوفييتي، غالبًا ما يرتبط الحنين إلى الكمبيوتر بـ ZX Spectrum. حتى الآن، أفضل محاكي متصفح Spectrum الذي صادفناه هو JSMESS الذي سبق ذكره. وإلى جانبه هناك