СВМ ЕС

Поиск, обмен ссылками, вопросы по устаревшему программному обеспечению.
Gregory
Newbie
Сообщения: 55
Зарегистрирован: 02.10.2021,15:16
Откуда: Беларусь, Минск

СВМ ЕС

Сообщение Gregory » 29.01.2023,21:43

все это очень странно. я третий день трассирую TKS под СВМ и пока не понимаю, что же происходит. При старте ISPF выдается сообщение FILE(ISPPROF) OPEN ERROR (без трассировки его невозможно прочитать, так как быстро стирается экран). НО:
- ISPPROF определен, и LISTA STATUS его показывает
- в трассе нет ни SVC 19 (OPEN), ни SVC 22 (OPEN TYPE=J), то есть программа даже не пытается открывать ISPPROF.

Если не распределять ISPPROF и удалить набор PDF.PROF.TSOUSER, то при старте ISPF выдает следющий замечательный текст:

Код: Выделить всё

Mы paды пpивeтcтвoвaть Bac в зaмeчaтeльнoм пpoдykтe ISPF/PDF                   
 Пo вoпpocaм, cвязaнным c aдaптaциeй eгo в cиcтeмe SVS 7.1 пpocьбa oбpaщaтьcя   
 к B.Б.Жopницкoмy, г.Mocквa, Teл. 262-15-68                                     
                                                                                
        A тeпepь нaжмитe "BBOД" и пpиcтyпaйтe к paбoтe                          
и PDF.PROF.TSOUSER создается, но разделы в него не копируются (там должны быть разделы ISPPROF, ISPSPROF и ISPCMDS, копируемые из PDF.TLIB). Кстати, интерес представляет раздел INSTALL PDS.TLIB, приведу тут его последний абзац

Код: Выделить всё

  Дaннaя вepcия пpeдпoлaгaeт иcпoльзoвaниe SPF/PDF coвмecтнo
c пaкeтoм "CEPBИC/TSO". (cepвиcнaя пpoгpaммa IKJDAIR и
cepвиcныe имeнa cиcтeмныx pecypcoв). Ecли Bы xoтитe пpимeнять
SPF/PDF бeз пaкeтa "CEPBИC/TSO" (a зpя !!), тo oбpaтитecь к
paзpaбoтчикy.
Ну мне и без этого было понятно, что тут присутствует доморощеные модификации, но как этим умельцам народным удалось добиться неработоспособности под VM я не представляю...

P.S. Я убрал часть этих доморощеных модификаций, а именно, удалил STC IHAVEDD и привел процедуру LOGON в нормальный вид, с EXEC PGM=IKJEFT01 (монитор команд TSO) вместо EXEC PGM=ADDTIOT (которая, по идее, копирует элементы DD из IHAVEDD и затем стартует IKJEFT01), но это ничего не изменило, т.е. без VM рабоает, а под VM - нет. Я понимаю, как работает эта конструкция (STC IHAVEDD + ADDTIOT), но совершенно не понимаю, зачем нужно было тратить усилия на изобретение этого трехколесного велосипеда? Неужели не было других занятий?

igorek2003
Newbie
Сообщения: 23
Зарегистрирован: 24.08.2013,14:33

СВМ ЕС

Сообщение igorek2003 » 30.01.2023,15:56

Gregory писал(а): 29.01.2023,21:43 (без трассировки его невозможно прочитать, так как быстро стирается экран).
У меня оно попало на конец экрана и я смог его прочесть. Я пробовал перераспределять вручную-тот же эффект. При добавлении юзера и первом запуске ISPF выходит такое же приветствие и потом ноль.
Кстати, я нашел описание макро INTRO для вм в документе по БОС: OБЩИЙ CETEBOЙ TEЛEKOMMУHИKAЦИOHHЫЙ METOД ДOCTУПA. PYKOBOДCTBO CИCTEMHOГO ПPOГPAMMИCTA. MAKPOKOMAHДЫ. Ц5.20050-02 32 01-2
Gregory писал(а): 29.01.2023,21:43 добиться неработоспособности под VM
А ведь оригинальный ТCAM/TSO на MVS отлично стартует под vm/370. Надо будет под СВМ попробовать.

Gregory
Newbie
Сообщения: 55
Зарегистрирован: 02.10.2021,15:16
Откуда: Беларусь, Минск

СВМ ЕС

Сообщение Gregory » 31.01.2023,19:20

кто-нибудь может мне объяснить следующее:
CP PER I FROM D7F098.20
CP PER I FROM D7F0AC.20 -- эти трассировки в ВМ TK, затем на терминале TSO вводим ISPF
==>VD7F098 BAL 45F0B082 D7F0AC CC=0 перед этим построили список параметров для IKJDAIR для распределения ISPPROF
D G11
GPR 11 = 40D7F02A да, D7F02A+82 = D7F0AC как и показано в BAL
B
==>VD7F0AE TM 910BA002 3DBF5A CC=1 но почему переход на D7F0AE а не на D7F0AС как только что посчитали?
Там находится:
D VD7F0AC.20
20F0A0 00000000 C9D2D1C4 C1C9D940 0A06910B *....IKJDAIR ....*
20F0B0 A0024780 B0989506 A0024780 B09847F0 *...............0*
20F0C0 B36441E0 D17C9240 D1A6D22A D1A7D1A6 *....J@. J.K.J.J.*
B
в результате получается, что команда 0A06 = SVC 6 = LINK IKJDAIR обходится, сразу происходит переход на следующую за ним TM.
И теперь не удивительно, что в трассе нет ни open (SVC 19) ни openj (SVC 22) ведь вызов IKJDAIR просто обходится.

igorek2003
Newbie
Сообщения: 23
Зарегистрирован: 24.08.2013,14:33

СВМ ЕС

Сообщение igorek2003 » 01.02.2023,12:16

Дальше = больше. 2Georgy:
А вы заметили,что:
CP D VD7F090.20
237090 A008B60E 4110D17C 45F0B082 00D7F0A4 *......J@.0...P0.*
2370A0 00000000 C9D2D1C4 C1C9D940 0A06910B *....IKJDAIR ....*

CP ST S23709B 80
STORE COMPLETE

CP D VD7F090.20
237090 A008B60E 4110D17C 45F0B080 00D7F0A4 *......J@.0...P0.*
2370A0 00000000 C9D2D1C4 C1C9D940 0A06910B *....IKJDAIR ....*
<ISPF>
==>VD7F098 BAL 45F0B080 D7F0AA CC=0
B
==>VD7F0AA MVCK D9400A06910B CC=0

CP D VD7F0A0.20
2370A0 00000000 C9D2D1C4 C1C9D940 0A06910B *....IKJDAIR ....*
2370B0 A0024780 B0989506 A0024780 B09847F0 *...............0*
адрес считается и переход происходит правильно?
Я пробовал +- и только при 82 есть перскок.

Gregory
Newbie
Сообщения: 55
Зарегистрирован: 02.10.2021,15:16
Откуда: Беларусь, Минск

СВМ ЕС

Сообщение Gregory » 01.02.2023,19:32

я несколько приблизился к пониманию происходящего:
==>VD7F08E MVC D207A008B60E 3DBF60 D7F638 CC=0
TRACE SVC
TRACE STARTED
B
VD7F094 LA 4110D17C 3DBF44 CC=0
B
VD7F098 BAL 45F0B082 D7F0AC CC=0
B
*** D7F0AC SVC 0006 ==> 00B9CA
B
*** 0163C8 SVC 002F ==> 00B9CA
B
то есть все работает по принципам, переход на SVC 6 происходит, но вот дальше при обработке SVC 6 происходит аварийное завершение, но управление из SVC передается по адресу возврата, т.е. VD7F0AE.
PER отображает команду после ее выполнения, а TRACE - до выполнения, вот поэтому, скорее всего, мы не видим в PER трассе SVC 6. Пока понятно одно - есть проблема с вызовом IKJDAIR.

igorek2003
Newbie
Сообщения: 23
Зарегистрирован: 24.08.2013,14:33

СВМ ЕС

Сообщение igorek2003 » 13.02.2023,08:32

Кажется я победил!
set cpuid ff21588010360000
Взлетело!
Попутно пересобрал MCP из sys1.samplib mcpgen. Внес следующие изменения:
000210 INTRO ENVIRON=MIXED,KEYLEN=116,LNUNITS=300,CPB=8,CONTROL=$OPER, X
000220 CROSSRF=0,TRACE=200,LINETYP=BOTH,COMWRTE=NO,DISK=NO, X
000230 CIB=2,ABEFMT=(SIB,RVT,DCT,LGB,DCB,DEB,SCB,PLCB,LCB, X
000240 QCB,OPT,TTE),DTRACE=(0,OFF),VM=YES, X
000250 STARTUP=C,OLTEST=0,PROGID=MCP,MSUNITS=500

000855 // EXEC PGM=UPDTE,PARM='LINKEDITSYSLMOD,MAP,LIST'
000856 //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(1,1))
000857 //SYSPRINT DD SYSOUT=P
000858 //SYSLIB DD DSN=SYS1.TELCMLIB,DISP=SHR
000859 // DD DSN=SERVICE.LOAD,DISP=SHR

000860 //SYSLMOD DD DSN=I.LOAD(MCPN),DISP=SHR,UNIT=SYSDA,VOL=SER=TKS430
000900 //SYSLIN DD DSN=&&A,DISP=(OLD,PASS)
001000 // DD *
001200 /*

sys1.proclib(mcpn)
0004014//TSMCP PROC N=2
0005014//IEFPROC EXEC PGM=MCPN,DPRTY=(15,15),REGION=400K,TIME=1440
0006014//TERM DD UNIT=(7927-2,&N)

Теперь TSO стартует вместе с MCP
Кому интересно - проверьте, пожалуйста.
Еще бы нормально перегенерить СВМ, включив в DMKRIO поддержку dasd 3350. Но у меня на выходе получается кривоватая 4. Не видит файлы обновления...

Gregory
Newbie
Сообщения: 55
Зарегистрирован: 02.10.2021,15:16
Откуда: Беларусь, Минск

СВМ ЕС

Сообщение Gregory » 14.02.2023,20:24

Супер! Поздравляю! Я проверил - работает.

P.S. Заглянул я в PROFILE EXEC ВМ TKS (и почему я это раньше не сделал? видимо, Альцгеймер уже совсем близко...)
Понятно, почему у ВМ TKS ответ на Q CPU 00269840104502A0 - а потому, что там так написано в строке 152)
Минидиск 191 общий у MAINT, TKS, TUBUS ("такое прочтение возможно, но это просто дикость" (C) С. Шнуров "Дорожная")
Вообще все эти попытки привязки ПО к конкретной машине, хоть и понятно с какой целью, сегодня выглядят каким-то детским садом)

Gregory
Newbie
Сообщения: 55
Зарегистрирован: 02.10.2021,15:16
Откуда: Беларусь, Минск

СВМ ЕС

Сообщение Gregory » 07.03.2023,20:32

OC7 (СВМ 5.5, БОС), TKS 4.3, OC PB 90
Документация СВМ ЕС, БОС, ОС РВ (html)
Изменения:
- OC7, TKS, OC PB и диалоговые системы собраны в один пакет.
- TKS и OC PB могут загружаться как на эмулируемой машине (т.е. непосредственно под управлением Hercules/Hyperion), так и на виртуальной машине, (т.е. под
управлением СВМ ЕС).
- в конфигурационном файле для CBM EC указаны 2 процессора вместо одного (NUMCPU), так как СВМ ЕС поддерживает мультипроцессирование. Я не знаю, дает ли это какой-то
эффект в эмулируемой среде, в любом случае вернуть NUMCPU 1 проблем не составит.
- В СВМ ЕС изменена конфигурация ввода-вывода, добавлены диски 5063 (3350). см. файл DMKRIO ASSEMBLE на минидиске 191 MAINT
- Приведен в порядок автозапуск - AUTOLOG1 добавлен минидиск 191 и PROFILE EXEC обеспечивающий автозапуск нужных виртуальных машин (TUBUS). Совершенно непонятно,
зачем было ломать это и выпонять AUTOLOG из PROFILE EXEC OPERATOR.
- В TKS перегеренирован MCP. Я выбросил поддержку терминалов ROBOTRON, MERA, АП-70 и удаленных 7920, так как все это под эмулятором не может использоваться.
В INTRO добавлен VM=PROMPT.
- в TKS восстановлена нормальная процедура запуска TSO. Запуск STC IHAVEDD не производится, а в процедуре TSO вместо доморощеного ADDTIOT указан TMP (IKJEFT01).
Основание - бесполезное усложнение, только потребляющее ресурсы, так как при 1-2 пользователях TSO IHAVEDD+ADDTIOT не дает никакой экономии памяти.
- переработано описание - исправлены ошибки и неточности, добавлены описания загрузки TKS и OC PB на виртуальной машине. В комплект документации добавлена документация ОС РВ
см. подробное описание в файле OC7.htm

Благодарю Igorek2003 и Smoker, без участия которых этот пакет никогда не появился бы в таком виде.
Последний раз редактировалось Gregory 12.03.2023,21:00, всего редактировалось 1 раз.

igorek2003
Newbie
Сообщения: 23
Зарегистрирован: 24.08.2013,14:33

СВМ ЕС

Сообщение igorek2003 » 09.03.2023,07:47

Это просто праздник какой-то! Спасибо!
Gregory, к Вам пара вопросов:
Какие минидиски Вы подключали для корректной перегенерации ядра кроме 191 с DMKRIO и 194 со всем остальным? И в какой машине делали (маинт или сиспрг)?
Из каких соображений не включили V=R в ядро для ТКS? По идее должна возрасти производительность.
На третьем диске появился Примус 2.7, но он вылетает по абенду (пробовал только из-под СВМ). Так и есть?
Еще раз спасибо!
P.S.
Это только у меня?
LOGON OCPB
DMKLNM117E Уcтpoйcтвo идвм OCPB нe пpиcoeдинeнo; тoм 270 кoнфликтный
DASD 190 LINKED R/O; R/W BY MAINT; R/O BY 002 USERS
DASD 191 LINKED R/O; R/W BY MAINT; R/O BY TUBUS
LOGON AT 08:56:56 MCK THURSDAY 10/03/11
DMKCFI040E Уcтpoйcтвo 270 нe cyщecтвyeт
Я получал такой результат после изменения DMKRIO

Gregory
Newbie
Сообщения: 55
Зарегистрирован: 02.10.2021,15:16
Откуда: Беларусь, Минск

СВМ ЕС

Сообщение Gregory » 10.03.2023,20:29

Добрый день.
igorek2003 писал(а): 09.03.2023,07:47 Какие минидиски Вы подключали для корректной перегенерации ядра кроме 191 с DMKRIO и 194 со всем остальным?
только 191 и 194, но с измененными модулями на 194 не все так просто - если подключать весь 194, то в построенном ядре PRG001 при загрузке, и это явно связано с защитой от копирования, см. ниже
И в какой машине делали (маинт или сиспрг)?
в maint, просто по прывычке) по моему разумению это не имеет значения, vmfgnr в любом случае открывает доступ только к тем дискам, что указано.
igorek2003 писал(а): 09.03.2023,07:47 Из каких соображений не включили V=R в ядро для ТКS? По идее должна возрасти производительность.
не делать более одного принципиального изменения за один раз, и в исходной системе не было V=R. Конечно, в V=R производительность возрастает, еще и с set favored и set priority. Впрочем, у меня TKS и в V=V работает очень хорошо.
igorek2003 писал(а): 09.03.2023,07:47 На третьем диске появился Примус 2.7, но он вылетает по абенду (пробовал только из-под СВМ). Так и есть?
DIALOG собрал и выложил Smoker, Primus 2.7 я вообще не смотрел. Я попытался запустить Jessy, чтобы хоть посмотреть как это выглядит, но у меня с первой попытки ничего не получилось и я это отложил.

Я думаю, что нужно разобраться с "защитой от копирования"? т.е. попробовать убрать это все, тогда и vmfgnr будет выполняться нормально, без танцев с бубном. Мне в данный момент по этому поводу известно следующее:
- в этой реализации СВМ 5.5 имеются две независимые реализации такой защиты, причем сделанные разными разработчиками.
- первая реализация защиты - это защита собственно СВМ. Эта защита привязана только к CPUID. По CPUID вычисляется 8-символьное 16-чное число, которое должно быть в оглавлении как идентификатор фиктивной виртуальной машины (USER B5C302E3 NOLOG). При отсутствии такой VM выдается сообщение о несанкционированном использовании и спустя некоторое время PRG001
- вторая реализация - это защита пакета моделирования дисков. Эта защита привязана к CPUID и дате. По CPUID и дате вычисляется 8-символьное 16-чное число, которое должно быть в оглавлении как идентификатор фиктивной виртуальной машины (USER AAA0QKAJ NOLOG), при отсутствии такой VM - PRG001 без всяких сообщений.
- поскольку модули инициализации моделирования дисков выполняются раньше, то при отсутствии соответстующей фиктивной VM система завершается с PRG001 и до проверки CPUID СВМ ЕС не доходит.
Алгоритм обоих преобразований, в принципе, известен, да и разработчики обоих реализаций пока еще живы (и дай им бг здоровья и всех благ!) Так что можно попробовать убрать это все, ну или по крайней мере, защиту пакета моделирования дисков в первую очередь. я примерно определил, какие модули задействованы, так что надо пробовать...
igorek2003 писал(а): 09.03.2023,07:47 DMKLNM117E Уcтpoйcтвo идвм OCPB нe пpиcoeдинeнo; тoм 270 кoнфликтный
посмотрю, возможно, я что-то нахомутал)

igorek2003
Newbie
Сообщения: 23
Зарегистрирован: 24.08.2013,14:33

СВМ ЕС

Сообщение igorek2003 » 11.03.2023,09:27

Gregory, спасибо, за развернутый ответ.
Еще я заметил, что в TSO в процедуре logon (IKJACCNT) отсутствует распределение ispf наборов (ispplib isptlib etc), из-за чего не работает вызов редактора по Е и многие другие фишки. А в процедуре ISPF они по выходу освобождаются.

Ответить