Frequently Used VMS/SIMH Commands
This section lists useful VMS and SIMH commands to run the simulator and perform various tasks on VMS.
VMS Startup Files |
---|
General VMS system startup file for applications and queues. |
$SYS$MANAGER:SYSTARTUP_VMS.COM A sample startup file can be found in $SYS$MANAGER:SYSTARTUP_VMS.TEMPLATE |
System wide login file for all users. Allows for system wide commands and aliases to be built into this file. |
$SYS$MANAGER:SYLOGIN.COM |
System wide message to display to the user upon login. |
$SYS$MANAGER:WELCOME.TXT |
DEC's TCP/IP services startup file. |
$SYS$STARTUP:UCX$STARTUP.COM to examine the UCX configuration: UCX> SHOW CONFIGURATION INTERFACE |
DEC Windows startup file. |
$SYS$STARTUP:DECW$STARTUP.COM |
VAXSET startup files. |
$SYS$STARTUP:DECSET$ENVMGR_STARTUP.COM $SYS$STARTUP:SCA$STARTUP.COM $SYS$STARTUP:PCA$STARTUP.COM |
Disk Backup |
---|
Backs up the DKA0 system disk to MKA400 as a system image. This is used to create a backup of the system disk. The disk image can be restored to another disk using the BACKUP/RESTORE command. |
$BACKUP/IMAGE/VERIFY DKA0: MKA400:[]VMS.BAK/SAVE_SET/REWIND/LABEL=MAR30/IGNORE=NOBACKUP |
Batch Queues |
---|
Initializing and starting the SYS$BATCH queue. |
$START/QUEUE/MANAGER NEW <-- to start queue manager for the first time or $START/QUEUE/MANAGER $SHOW QUEUE SYS$BATCH $SHOW QUEUE/MANAGER $INIT/QUEUE/BATCH/START SYS$BATCH $SHOW QUEUE SYS$BATCH |
Displaying DEC Windows on Apple OS X |
---|
This section shows how to initiate DEC Windows to display on OS X using the native X11 capabilities built into OS X. The OS X operating system is Unix based and already has a built-in X11 environment. In my case I use an Apple G4 laptop running OS X Leopard. It is now an unsupported OS and hardware, however, it is a very cost effective high performing platform for experimentation. |
Before starting any DEC Windows commands, the X11 listener must be enabled on OS X. On any XTerminal window on OS X type: xhost + to enable all remote hosts to display on OS X. then type: netstat -na | grep 6000 look for: tip 4 listening on port 6000 or tip 6 listening on port 6000
Login to the VAX and type the following: |
SIMH Commands for Starting VAX/VMS |
---|
This section lists the series of commands used to start the VAX simulator on SIMH. This is assuming that the VAX executable has already been compiled. Then open a terminal session on OS X and change directory to where the vax.exe executable is located. |
Start the simulator with: sudo ./vax SIMH> SIMH> SHOW VERSION <-- show the version of SIMH. SIMH> ATTACH XQ ETH0 <-- attaches the Ethernet adapter to the simulator. SIMH> SHOW SQ ETH0 <-- shows the ETH devices. SIMH> SHOW XQ <-- shows how XQ is configured. SIMH> HELP <-- for a listing of SIMH commands. >>> B DUA0: <-- to boot VMS from device DUA0.
CTRL E to return to the SIMH prompt. |
VMS Distribution Disks for SIMH |
---|
VMS distribution disks are often needed to install software on the VAX simulator. The DEC software distribution disks are in an ODS format and not readily readable under OS X or Microsoft Windows. However, to install software these need to be in a format that the SIMH simulator can read. The following shows how to read a VMS software distribution disk on the G4's disk1 CD drive and write it to an iso type image that can be read by SIMH. I noticed that depending on the type of Apple computer, G3, G4 or G5, the success rate for this varies. Below are the instructions successfully used on the Apple G3 laptop I started with. I had some difficulty replicating this on the G4. Feel free to try it. |
$ diskutil list Lists the disks on the laptop. Find which one is the CD drive. In this case it's disk1. $ dd if=/dev/disk1 of=mydisk.iso bs=2048 Copies the CD disk inserted in disk1 into a file called mydisk.iso using a fixed block size of 2038 bytes for input and output. |
Automating AUTOGEN Reports |
---|
Digital recommends you create a batch-oriented command procedure to automatically run AUTOGEN on a regular basis and send
the resulting feedback reports to an appropriate Mail account.Below is a sample command procedure.
Note: This command procedure runs AUTOGEN only to recommend system parameter values and send you a report. It does not run AUTOGEN to change system parameters or reboot the system. The command procedure below runs two passes of AUTOGEN. On the first pass, AUTOGEN runs during peak workload times to collect data on realistic system work loads. This pass does not degrade system performance. On the second pass, AUTOGEN runs during off-peak hours to interpret the data collected in the first stage.The procedure sends the resulting report, contained in the file AGEN$PARAMS.REPORT, to the SYSTEM account. Review this report on a regular basis to see whether the load on the system has changed. The example below shows a sample command procedure. Use this procedure only as an example; create a similar command procedure as necessary to meet the needs of your configuration. |
Sample AUTOGEN Command Batch Procedure $ BEGIN$: ! ++++++++++ AGEN_BATCH.COM ++++++++++ $ on warning then goto error$ $ on control_y then goto error$ $! $! Setup process $! $! Set process information $ set process/priv=all/name="AUTOGEN Batch" $! Keep log files to a reasonable amount $ purge/keep=5 AGEN_Batch.log $ time = f$time() ! Fetch current time $ hour = f$integer(f$cvtime(time,,"hour")) ! Get hour $ today = f$cvtime(time,,"WEEKDAY") ! Get Day of the week $ if f$integer(f$cvtime(time,,"minute")) .ge. 30 then hour = hour + 1 $! $! Start of working day... $! $ 1AM$: $ if hour .le. 2 $ then $ next_time = "today+0-14" $ gosub submit$ ! Resubmit yourself $ set noon $! $! Run AUTOGEN to TESTFILES using the parameter values collected earlier $! in the day (i.e., yesterday at 2:00pm) $ if today .eqs. "Tuesday" .OR. today .eqs. "Thursday" .OR. - today .eqs. "Saturday" $ then $ @sys$update:autogen GETDATA TESTFILES feedback (2) $ mail/sub="AUTOGEN Feedback Report for system-name" - sys$system:agen$params.report system (3) $ ! Clean up $ purge/keep=7 sys$system:agen$feedback.report (4) $ purge/keep=7 sys$system:agen$feedback.dat $ purge/keep=7 sys$system:params.dat $ purge/keep=7 sys$system:autogen.par $ purge/keep=7 sys$system:setparams.dat $ purge/keep=7 sys$system:agen$addhistory.tmp $ purge/keep=7 sys$system:agen$addhistory.dat $ endif $ goto end$ $ endif $! $ 2PM$: $ if hour .le. 15 $ then $ next_time = "today+0-17" $ gosub submit$ $ if today .eqs. "Monday" .OR. today .eqs. "Wednesday" .OR. - today .eqs. "Friday" $ then $ @sys$update:autogen SAVPARAMS SAVPARAMS feedback (1) $ endif $ goto end$ $ endif $! $ 5PM$: $ if hour .le. 18 $ then $ next_time = "tomorrow+0-1" $ gosub submit$ $ endif $! $! End of working day... $! $ END$: ! ---------- BATCH.COM ---------- $ exit $!++ $! Subroutines $!-- $! $ SUBMIT$: $ submit/name="AGEN_Batch"/restart/noprint - (5) /log=AGEN_batch.log - /queue=sys$batch/after="''next_time'" sys$system:AGEN_batch.com $ return $!++ $! Error handler $!-- $ ERROR$: $ mail/sub="AGEN_BATCH.COM - Procedure failed." _nl: system $ goto end$ |
Miscellaneous Commands and Logical Associations |
---|
Miscellaneous commands and how to create logical name associations. |
Adding UNZIP to VMS as a logical name. Ideally the UNZIP executable should be in its own directory.
$ UNZIP :== $SYS$SYSDEVICE:[WASD)UNZIP.EXE
$ DEFINE HT_ROOT SYS$SYSDEVICE:[WASD.WASD_ROOT] |
Source: http://www0.mi.infn.it/~calcolo/OpenVMS/ssb71/6015/6017p047.htm |