Hercules是一款免费开源的模拟器软件,可以模拟System/370、ESA/390及z/Architecture。
Hercules可以运行在Linux, Windows (98, NT, 2000, and XP), Solaris, FreeBSD, Mac OS X (10.3 and later)上。
搭建os390模拟系统,需要:
安装Hercules
从http://www.hercules-390.org可以下载。对于windows系统,下载zip并解压到任意位置即可。例如:D:\IBM\Hercules 3.07 (64 Bit)
编写Hercules配置文件(hercules.cnf)
这个配置文件不太好做,一般从网上找个范本,再根据实际情况修改。
下载的os390镜像中会有一些说明文档可以参考。例如各磁盘卷的名字,IPL参数等等。
下载os390磁盘镜像
这个需要到网上去找。一般是iso文件(3G多)。里面含有DMTxxx.ZIP。
把DMTxxx.ZIP里面的os390目录解压出来放到任意位置即可。例如:D:\IBM
全部解压后大概20多G,像这样:
D:\IBM
├─os390
│ └─mvs
│ dmtcat.1c1
│ dmtd01.1c4
│ dmtd02.1c5
│ dmtd03.1c6
│ dmtd04.1cb
│ dmtos1.1c3
│ dmtos2.1c2
│ dmtos3.1ca
│ dmtp01.1c7
│ dmtp02.1c8
│ dmtp03.1c9
│ dmtres.1c0
下载3270终端模拟软件
有好几种软件可以选择。
IBM的PCOM功能强大,但是是收费的,只能试用一个月。
x3270是免费的,有windows版和linux版。而且linux发行版里可能已经带了x3270。下载地址是http://x3270.bgp.nu/
另外,Hercules是命令行界面的。还有一个HercGUI,是图形界面的,它只是Hercules的外壳,运行时还是需要Hercules才行。
HercGUI的下载地址是http://www.softdevlabs.com/hercgui-download.html
运行模拟器前,hercules.cnf中有几个重要参数,再说明一下:
MAINSIZE 1024 这个是模拟器使用的内存量,越大越好,不过不能超过实际内存大小。
CNSLPORT 3270 这个是终端连接时使用的端口号。x3270默认连接端口23,需要改成这个才行。
LOADPARM 01C1DP.1 IPL时会用到,设错了无法启动系统。这个根据os390说明文档来设置。
HTTPROOT D:\IBM\Hercules 3.07 (64 Bit)\html Hercules自带了一个web控制台,如果配置了这两个参数,启动Hercules时会
用它可以查看log,执行Hercules命令,查看帮助等等。
MODPATH /usr/lib64/hercules linux下这个很重要,没有它的话,启动时会因为找不到hdt3270.so而报无法识别设备类型3270。
0000 SYSG SYSGCONS 这个是主控制台终端。系统启动、停止都需要从这里操作。0470-0473 3270 这里定义了4个终端。
01C0 3390 D:\IBM\os390\mvs\dmtres.1c0 这里指定磁盘设备的路径。
运行模拟器:
命令行输入 hercules -f hercules.cnf ,就会启动Hercules,并完成主机加电(power on)。
注意看滚屏的log,有没有出错。应该能看到'Waiting for console connection on port 3270'这样的信息。
然后,先不要忙着启动系统(IPL),应该先连接主控制终端。
使用3270软件(PCOM,或x3270)连接127.0.0.1的3270端口,成功连接后,屏幕会显示hercules等字样。
下一步,启动系统。
在Hercules的命令行上输入ipl 01C0,然后监视3270终端窗口,启动过程中需要在终端窗口里根据提示输入一些回答信息。
如何回答信息?这个比较复杂,就不介绍了,到网上搜吧。
经过漫长的等待后,在终端窗口里输入d a,l,看看TSO有没有启动好。
TSO启动好之后,就可以登录大型机啦。
登录系统,使用3270软件(PCOM,或x3270)连接127.0.0.1的3270端口,成功连接后,会出现TSO选项。
在===>后输入tso ibmuser,会出现输入密码的画面,只需输入密码ibmuser回车即可。
成功后会出现***或ready,再回车,会进入ISPF界面。
停止系统:
在主控制终端输入s shutdown,停止系统,
然后输入quiesce,主控制终端就会断开。
(我的系统上s shutdown会报错。。。JCL error)
在Hercules的命令行上输入quit即可。