Печать, насколько я понимаю, не так и сложно, а накопители...Вероятно, пустые DASD и TAPE нужного размера создаются предварительно и работа с железкой идёт через них. То есть нужна вспомогательная фоновая программа (или часть кода где-то), управляемая из операционной системы. Эта программа будет гонять данные между образом на диске и реальным устройством. Программа должна уметь считывать данные с железки в образ, писать с него на железку и пр. После успешного завершения передачи, она сообщит ОС, что работа с физ устройством завершена и ОС будет читать данные с образа в память / писать в образ.
Я не думаю, что с печатью будет просто, ну да ладно, пока оставим печать. Предлагаемая схема, по существу, означает, что OC будет работать именно с образом диска (ckd) или ленты (aws), потому что актуальные данные находятся именно там, а не на реальном устройстве - на реальном устройстве данные могут быть еще не перезаписаны. То есть, чтение данных с реального устройства не имеет смысла, и получается, что реальное устройство - это только backup. А если синхронизировать запись в образ с записью на реальное устройство а потом с него читать в образ, это будет выглядеть еще более странно.
Мне кажется, что тут целесообразно реализовывать нечто идейно подобное MFNetDisk (поддерживает диски и ленты MF в файлах Windows) и Hercules Shared DASD (поддерживает диски MF в файлах для нескольких экземпляров Hercules). Можно назвать это Hercules Remote device. Код Hercules remote device получает обращение ввода-вывода к устройству и передает канальную программу на машину c Hercules Remote device Server, который моделирует выполнение канальной программы на реальном устройстве и передает обратно коды состояния и данные, если они есть, и это может быть как та же самая машина (localhost), так и другая. И вот в этом последнем случае машина c Hercules Remote device Server вполне себе может быть и древним PC AT с ISA-платой и MS-DOS, или PC c картой P/390 и OS/2, и уже не важно, что драйвер у него проприетарный и закрытый, так как интерфейс его описан. Также неважно, на чем писать код remote server. В конфигурационном файле это может выглядеть примерно так 0181 3480 192.168.200.1:63480 (remote server на 192.168.200.1, порт 63480) Вообще идея реализовать hercules remote device, мне кажется, уже где-то озвучивалась...
Исходный код какой-то из версий MFNetDisk, по-моему, был доступен? Или я ошибаюсь? Во всяком случае, код Hercules Shared Dasd доступен.
Сообщение отредактировал Gregory - Вт, 05.04.2022, 22:04
Этот сайт посвящен авторскому взгляду на программное обеспечение, которое используется на корпоративных компьютерах архитектуры IBM 370/XA/390/z. Здесь будут обсуждаться следующие вопросы:
установка и настройка операционных систем для ЭВМ архитектуры IBM 370/XA/390/z (VM, MVS, OS/390, Linux, БОС, СВМ), их достоинства и недостатки, сравнительный анализ, перспективы развития;
системы программной эмуляции мейнфреймов (Hercules, IBM PC/370/390, Строка и другие);
Эмулятор "СТРОКА" - это на основе Геркулеса с реальными параллельными каналами под Linux (МСВС)
Сообщение отредактировал smoker - Чт, 07.04.2022, 14:22
Мне кажется, что это пути добавления лишнего элемента. Что карта P/390, что "реальные параллельные каналы" (тоже какая-то плата?) требуют лишнего оборудования. Если первый в целом можно теоретически купить на Ебее (при этом она должна быть рабочей и с софтом), то вторую совершенно непонятно где искать, как и саму "Строку". Ну а по советскому аналогу платы от IBM тем более никаких подвязок.
Хотя я совершенно не спорю - если есть готовое решение на уровне "просто соединить разъём" то отлично. И, возможно, я не очень понимаю как выглядела работа с платой от IBM и Строкой - сколько одновременно к ней подключалось оборудования и как? Через шкафы устройств управления или сами накопители?
И я помню, что проект создается с перспективной целью создания мини-музея с действующей частью ЕС ЭВМ. Даже сама возможность записать-прочитать файл с накопителей на современный компьютер (то есть без ОС) является ценной в плане демонстрации работы устройств. А делать это из ОС уже этап после.
Вообще, ныне я нахожусь всего лишь на этапе сбора оборудования. Так, например, мозаичный EC-7934 уже может печатать тексты с IBM PC. ЕС-5012.03М1 (без устройства управления) ждёт подключения к трехфазной сети (что сложно в квартире). Разбор с ним продолжится как только появится электрический ток. Иное подключаемое периферийное оборудование пока в процессе согласования получения, если его передадут, то займусь сразу терминалом, потом АЦПУ и лишь после дисковыми накопителями.
Сообщение отредактировал Shigure - Чт, 07.04.2022, 20:21
Про "строку" и "стек" я только слышал, никогда это не видел и ничего сказать не могу. А вот с P/390 и R/390 я работал. Если кратко, P/390 - это IBM PS2 c P/390 processor card, т.е. платой с натуральным процессором MF и необязательной второй платой "S/370 Channel Emulator/A", с помощью которой можно подключать реальные устройства MF, кроме дисков. здесь есть все о P/390 S/370 channel emulator/A anoucement letter
R/390 - то же самое, только вместо PS2 RS6000 а вместо OS/2 - AIX. к S/370 channel emulator/A мржно подключить до 4 устройств управления, а в P/390 можно вставить 2 такие карты, в R/390 - 4.
Сообщение отредактировал Gregory - Чт, 07.04.2022, 22:11
к S/370 channel emulator/A мржно подключить до 4 устройств управления,
Спасибо. Если устройства управления, то это сложнее. Читал, например, в ЕС-5567 было микропрограммное управление, и свой дисковод для загрузки внутри шкафа. Если оно всё будет то задача упростится, а если же нет, то останется только конструировать новодельную замену...
Я уверен, что этот форум читают люди, которые работали и со "строкой", и с другим аналогичным оборудованием, может быть, кто-нибудь напишет? Доморощеные платы для подключения периферии ЕС ЭВМ к ПК были, и это не только "строка", и я не думаю, что подобные платы испарились бесследно. Были и решения, если можно так выразится "обратной" задачи, а именно, подключения ПК как периферийного устройства ЕС ЭВМ, например, т.н. "Нёман", где ПК своим винчестером изображал для ЕС ЭВМ диск 3380
Не уверен, что задаю вопрос в профильной теме. Если необходимо, прошу перенести в правильную. Подскажите почему не логинится пользователь в ВМ из СВМ 4.10 (образ с Полигона призраков) Я успешно запускаю Геркулес, затем СВМ 4.10
С пульта оператора делаю запрос и вижу созданы Оператор и виртуальная машина LOGON0C1 Отправляю сообщение от LOGON0C1 оператору и обратно - вроде всё ок, сообщения уходят и принимаются.
Вот вид с терминала пользователя
А затем, при попытке выполнить какую-нибудь команду получаю сообщение, что пользователю сперва нужно залогиниться.
При попытке логина с именем некого пользователя получаю сообщение, что его нет. В целом то и логично. Для имени LOGON0C1 то же самое.
А как создать пользователя и задать ему пароль? Я верно понимаю, что их сперва должен задать инженер с пульта?
PS извините за синий плохо читаемый цвет букв - такие они по умолчанию. Пока ещё не разобрался как его менять...
На диске A лежит файл CBM410 DIRECT . В нем прописаны все существующие VM. Редактируете его, добавляя новые VM, назначая пароли, ресурсы, полномочия. Затем запускаете на него команду DIRECT для внесения изменений в систему.
Сообщение отредактировал alex654 - Вт, 12.04.2022, 14:54
Добавлю 5 копеек - уважаемый Алекс меня опередил. LOGONcuu как раз и означает терминал, на котором нет заставки (logo), но не выполнен logon. В этом состоянии доступны только следующие команды: LOGON (т.е. регистрация пользователя) DIAL (подключение в качестве терминала к активной виртуальной машине, например, с TKS для PRIMUS, z/OS для TSO и т.д.) MSG (например, чтобы выяснить почему userid уже зарегистрирован кем-то другим, да и мало ли что)
Сообщение отредактировал Gregory - Вт, 12.04.2022, 18:02
Вы учитывайте, что почти треть "пользователей", а на самом деле виртуальных машин, это автоматически стартуемые "служебные" ВМ. Аналогом (неточным, конечно) Windows Service в z/OS и предшественниках является starting task (STC), а в z/VM и предшественниках - виртуальная машина с отсоединенным пультом (disconnected), как TCPIP, GCS, WAKEUP и т.д. Вообще, конечно, все наоборот, это windows service аналог STC, так как OS/360 появилась тогда, когда никакого windows и IBM PC и в помине не было, а Билл Гейтс еще в школу не ходил)
Сообщение отредактировал Gregory - Вт, 12.04.2022, 22:53
А в Rexx можно вывести символ точно в указанную позицию на экране?
А в какой хоть системе?... В CMS сильно зависит от того, должно ли сохранится все остальное на экране, и активирован ли оконный вывод. А вообще, легко и просто, с указанием позиции - нет. Нужны пляски с бубном. Но это не проблема REXX, так работает экран 3270.
А в какой хоть системе?... В CMS сильно зависит от того, должно ли сохранится все остальное на экране, и активирован ли оконный вывод. А вообще, легко и просто, с указанием позиции - нет. Нужны пляски с бубном. Но это не проблема REXX, так работает экран 3270.
Да, в ПДО СВМ. Просто хочется минимально "побаловаться" Например, получать в цикле случайные позиции по высоте-ширине и в них рисовать символ. Или чтоб в неком направлении с некой позиции рисовалась дорожка из символов...
Сообщение отредактировал Shigure - Ср, 27.04.2022, 20:17
Например, получать в цикле случайные позиции по высоте-ширине и в них рисовать символ.Или чтоб в неком направлении с некой позиции рисовалась дорожка из символов...
Такие вещи на 3270 рисовать плохо. Там буферный вывод (кусками измененного экрана), это и из ассемблера тоскливо делать. Рекс, он чтобы строки поразбирать, файл обработать, вот что-то такое. Я на рексе систему обмена сообщениями в свое время написал в СВМ, такие вещи в нем отлично пишутся.