OpenVMS

Al principio fué VMS, entonces Digital agregó POSIX y renombró el sistema operativo a OpenVMS. OpenVMS actualmente corre en CPU’s VAX y AXP (ALPHA). La versión 8.2 liberada a finales de 2005 corre también en máquinas Intel con CPU Itanium de 64-bit.

DEC introdujo VMS en 1977 como VMS/VAX con la primera computadora VAX-11/780. En 1992 se convirtió en OpenVMS con la introducción de las computadoras de 64-bit Alpha.

DEC desarrollo VMS y las VAX(en) juntos, no es difícil conectar varias VAX para que funcionen como una sola, esto se refleja también en el sistema operativo.

VMS utiliza un conjunto de comandos que son palabras en Ingles fáciles de recordar y cuenta con ayuda en linea muy extensa e intuitiva.

VMS significa “Virtual Memory System” que deriva de la técnica que utiliza para administrar la memoria: el uso de memoria virtual es la habilidad de dar a los programar acceso a mas memoria de la que tiene la computadora.

Digital Equipement Corporation fué adquirida por Compaq en 1998 y en 2002 Compaq y Hewlett-Packard se fusionarón.

Actualmente existen emuladores comerciales y open source tanto de VAX como Alpha, [[[http://www.stromasys.com/charon-vax/index.htm Charon-VAX]] y [[http://www.stromasys.com/charon-axp/index.htm Charon-AXP]]] son comerciales con licencias gratuitas para uso personal, corren en Windows y Linux. Del lado open source, [[[http://simh.trailing-edge.com/ SIMH]] tiene emulación de VAX y [[http://www.es40.org/Homepage Alpha ES40]]] emula Alpha.

#

#

  • Instala SIMH HowtoSimh
  • Crea un directorio de trabajo y copia ahí el ejecutable vax y la imagen de CPU ka655x
  • Crea el archivo de inicialización de SIMH para OpenVMS VAX
  • Instala OpenVMS

’'’Archivo de inicialización de SIMH’’’

; ; Load CPU microcode load -r ka655x.bin ; ; Attach non-volatile RAM to a file attach nvr nvram.bin ; ; This virtual machine has 64M memory set cpu 64m ; ; Define disk drive types. RA92 is largest-supported VAX drive. set rq0 ra92 set rq1 ra92 set rq2 ra92 set rq3 cdrom ; ; Attach defined drives to local files attach rq0 d0.dsk attach rq1 d1.dsk attach rq2 d2.dsk ; ; Attach the CD-ROM to its file (read-only) attach -r rq3 cd.iso ; ; Disable unused devices. It’s also possible to disable individual devices, ; using a construction like “set rq2 disable” if desired. ; set rl disable set ts disable ; ; Attach Ethernet to a network interface set xq mac=08-00-2B-AA-BB-CC attach xq eth0 ; ; Now start the emulator boot cpu }}}

’'’Inicia la simulación’’’

./vax VAX simulator V3.8-1 NVR: creating new file NVR: buffering file in memory RQ: creating new file RQ: creating new file RQ: creating new file RQ: unit is read only Eth: opened eth0

KA655-B V5.3, VMB 2.7 Performing normal system tests. 40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25.. 24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09.. 08..07..06..05..04..03.. Tests completed. }}}

’'’Inicia desde el CD-ROM’’’

boot dua3 (BOOT/R5:0 DUA3

-. -DUA3 -.0..

%SYSBOOT-I-SYSBOOT Mapping the SYSDUMP.DMP on the System Disk %SYSBOOT-W-SYSBOOT Can not map SYSDUMP.DMP on the System Disk %SYSBOOT-W-SYSBOOT Can not map PAGEFILE.SYS on the System Disk }}}

’'’Ingresa la fecha y hora cuando se requiera’’’

OpenVMS (TM) VAX Version X7G7 Major version id %WBM-I-WBMINFO Write Bitmap has successfully completed initialization. PLEASE ENTER DATE AND TIME (DD-MMM-YYYY HH:MM) }}}

Despues de ingresar fecha y hora y revisar que todos los dispositivos esten disponibles, te encuentras en un sistema “standalone” utilizado para respaldo y recuperación.

’'’Restaura el sistema desde el CD-ROM’’’ {i} ‘’’'’HELP backup_command’’’’’

%BACKUP-I-IDENT, Stand-alone BACKUP T7.2; the date is 16-JUN-2011 13:15:24.93 $ backup dua3:vms073.b/save_set dua0: }}}

Hasta este punto el sistema ha sido copiado a tu disco duro virtual, deten ( ‘'’CTRL+E’’’ ) la simulación para re-iniciar la máquina virtual y continuar con la instalación.

If you do want to perform another standalone BACKUP operation, ensure the standalone application volume is online and ready. Enter “YES” to continue: Simulation stopped, PC: 839ABD34 (CLRL R6) sim> boot cpu

?C6 2 03 FF 00 0000

P1=20140100 P2=00000000 P3=20084004 P4=00000000 P5=20084000 P6=00000000 P7=00000004 P8=00D40077 P9=0000000F P10=00000000 r0=00D40077 r1=2014079C r2=201404B2 r3=201407A4 r4=2004D2F0 r5=2004D310 r6=2004D317 r7=00000000 r8=00000000 ERF=80000000

KA655-B V5.3, VMB 2.7 Performing normal system tests. 40..39..38..

?33 2 01 FF 00 0001

P1=00000000 P2=00000000 P3=00000000 P4=00000000 P5=00000000 P6=00000000 P7=00000000 P8=00000000 P9=0000000F P10=00000000 r0=80000017 r1=20080100 r2=00000012 r3=20140784 r4=2004D534 r5=2004D54E r6=20055157 r7=00000000 r8=00000000 ERF=80000000 37..36..35..34..33..32..31..30..29..28..27..26..25.. 24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09.. 08..07..06..05..04..03.. Normal operation not possible. }}}

’'’Inicia desde el disco duro’’’

set boot dua0 boot (BOOT/R5:0 DUA0

-. -DUA0 -.0..

%SYSBOOT-I-SYSBOOT Mapping the SYSDUMP.DMP on the System Disk %SYSBOOT-W-SYSBOOT Can not map SYSDUMP.DMP on the System Disk %SYSBOOT-I-SYSBOOT Mapping PAGEFILE.SYS on the System Disk %SYSBOOT-I-SYSBOOT SAVEDUMP parameter not set to protect the PAGEFILE.SYS OpenVMS (TM) VAX Version BI73-7G7 Major version id %WBM-I-WBMINFO Write Bitmap has successfully completed initialization.

       OpenVMS VAX V7.3 Installation Procedure

                     Model: VAXserver 3900 Series
             System device: RA92 - _DUA0:
               Free Blocks: 2854566
                  CPU type: 10-01
  • Please enter the date and time (DD-MMM-YYYY HH:MM) }}}

Introducción a OpenVMS

#

“Logging on” a una computadora OpenVMS lleva a cabo dos funciones pricipales. Primero prepara la computadora para aceptar comandos y segundo le hace saber a la computadora quien eres. Permitiendole saber cuales son los recursos y archivos que tienes permitido accesar.

Para conectarse a un sistema VMS debemos contar con nuestro Username y Password, lo mismo aplica si estamos accediendo desde una terminal conectada directamente a la computadora o a traves de la red por ejemplo con Telnet o Secure SHell (SSH).

Welcome to OpenVMS (TM) Alpha Operating System, Version V8.3

Username: }}}

Es común que después de un acceso exitoso, se desplieguen en la terminal mensajes del administrador del sistemas con anuncios importantes u otra información de utilidad para los usuarios. Al terminar debe mostrarnos el ‘’’'’prompt’’’’’ que normalmente es un signo ‘’’$’’’.

*****************************************************

         WELCOME to CCSS Interactive Learning
                      this is the
               OpenVMS Alpha Lab System

        This system is provided by Stromasys SA.

*****************************************************

$ }}}

#

Para terminar la sesión de trabajo en el sistema ‘’’'’siempre’’’’’ debes cerrar todos los programas y utilizar el comando ‘‘LOGOUT’’ o ‘‘LO’’, para evitar perdida de datos o daño al sistema de archivos.

$ LOGOUT Connection closed by foreign host.P-2011 15:34:06.04 }}}

#

PAra cambiar el password utiliza el comando ‘‘SET PASSWORD’’, algunos sistemas implementan todas o algunas de las siguientes reglas para los passwords:

  • El password no puede ser el mismo que el anterior.
  • El password no puede ser el mismo que el username.
  • Password history, el nuevo password no puede haber sido usado por el mismo usuario en ‘‘N’’ número de meses.
  • Password dictionary, el password no puede ser una palabra en el diccionario Inglés.
  • Password dictionary, el password es una palabra agregada al diccionario de passwords por el administrador del sistema.

$ SET PASSWORD Old password: New password: Verification: $ }}}

Como se menciono, no es raro encontrar los sistemas VMS en configuración de cluster, para acceder a otro nodo dentro del mismo cluster usamos el comando ‘‘SET HOST’’ que conecta tu terminal a traves del procesador del host actual a otro procesador, llamado el procesador remoto. Es requisito tener una cuenta de usuario en el procesador remoto.

MANSON $ SET HOST GEIN }}}

#

OpenVMS DCL (DIGITAL Command Language) es el lenguaje desarrollado por DEC para decirle a VMS que hacer, los archivos de comandos de VMS se llaman “DCL command procedures”.

La mayoría de los comandos DCL son palabras en Inglés pero es posible escribir solo las primeras 3 o 4 letras de un comando DCL ya que ningún comando inicia con las mismas 4 letras.

VMS no es sensible a Mayusculas y Minusculas, por lo tanto es posible escribir nombres de archivos y comandos en minusculas o mayusculas o una conbinacion de ambas, VMS los transforma en Mayusculas.

#

OpenVMS recuerda los comandos que se han tecleado y pueden usarse nuevamente presionando la ‘‘tecla de flecha arriba’’. Por lo menos 20 comandos se guardan. También podemos usar la ‘‘flecha abajo’’.

El comando ‘‘RECALL/ALL’’ muestra una lista de todos los comandos en el buffer.

Total of 3 files. $ RECALL/ALL 1 DIR 2 RECALL/ALL }}}

’'’Ejecuta un comando en el historial.’’’

$ RECALL 1 $ DIR

Directory DISK$USERDISK:[ECELIS]

CC-001.DIR;1 MAIL.MAI;1 WORK.DIR;1

Total of 3 files. }}}

’'’Limpiar el buffer’’’

$ RECALL/ERASE }}}

#

Los discos también llamados dispositivo en OpenVMS se identifican por el nombre del disco seguido por ‘’’:’’’ y su nombre puede ser de hasta 255 caracteres. OpenVMS puede representar directorios como dispositivos de disco.

Nombres típicos par los discos pueden ser:

’'’DKA100:’’’ (este es un nombre de hardware asignado al momento del incio por la computadora)

’'’DSA2:’’’

’'’USER$:’’’

’'’DISK$SYSTEM:’’’

Estos 3 últimos son nombres de dispositivo creados por un programador para ser descriptivos de su localización, función, propietario, etc.

Nombres lógicos son cadenas de texto usadas principalmente para reemplazar parte o completamente una especificación de dispositivo, especialmente las partes DISPOSITIVO y DIRECTORIO. Existen varios nombres lógicos como por ejemplo:

'’SYS$OUTPUT:’’ el lugar donde la salida estandar es enviada. ‘‘SYS$ERROR:’’ el lugar donde los mensajes de error se envian. ‘‘SYS$INPUT:’’ el lugar de donde se leen los datos. ‘‘SYS$COMMAND:’’ el lugar de donde se leen comandos DCL. ‘‘TT:’’ otro nombre para la terminal. ‘‘NLA0:’’ el dispositivo null, todo lo enviado aquí desaparece.

#

Al iniciar sesión la computadora coloca al usuario en el directorio hogar. En cual dispositivo esta albergado este directori lo decide el administrador al momento de crear la cuenta.

’'’Muestra el directorio hogar’’’

$ SHOW DEFAULT DISK$USERDISK:[ECELIS] }}}

Este comando muestra que los archivos están en el dispositivo ‘'’DISK$USERDISK:’’’ en el directorio llamado ‘'’ECELIS’’’. A esta combinación de dispositivo y directorio se le llama ‘'’ruta del directorio’’’. Otra ruta importante es ‘'’SYS$LOGIN’’’, que es un puntero al directorio inicial.

’'’Ir al directorio inicial’’’

$ SET DEFAULT SYS$LOGIN }}}

Los directorio en OpenVMS van encerrados en brackets [] y los sub-directosio son separados con puntos ‘’’.’’’. OpenVMS puede tener un jerarquía de hasta 7 niveles de subdirectorios.

’’‘[ECELIS.TRABAJO]’’’

Los nombres de archivo que terminan con ‘’‘.DIR’’’ en el listado de archivos son directorios.

Un directorio arriba

dir [-] }}}

#

En OpenVMS los archivos se identifican con un nombre de archivo, un punto un tipo de archivo, un punto y coma y un número de versión.

’'’nombre.tipo;n’’’

Los nombres de archivo no pueden iniciar con un punto, ‘’’-‘’’ y ‘'’_’’’ pueden ser parte del nombre de archivo, pero solo en medio del nombre, si se encuentran al final VMS lo interpreta como si fuera a haber una línea de continuación.

A partir de la versión 4, VMS permite hasta 39 caracteres para el nombre y ahora hay también una extensión que permite hasta 236 sin contar la versión y permite usar caracteres del conjunto LATIN-1.

En DCL Wilcards son caractéres, ‘’‘*’’’ representa muchos caracteres, ‘’’%’’’ representa un solo caracter.

’’’[.*]’’’ funciona para todos los irectorios.

$ COPY login.com [.work] }}}

$ RENAME login.com [.work]nuevo_nombre.com }}}

$ DELETE login.com;2 }}}

CREATE/DIRECTORY [.mail] }}}

$ PURGE $ PURGE/LOG $ PURGE/CONFIRM }}}

$ CREATE mi_archivo.txt Hola esta es una linea esta es otra y esta es la ultima “CTRL-Z” para finalizar Exit }}}

$ TYPE/PAGE mi_archivo.txt Hola esta es una linea esta es otra y esta es la ultima “CTRL-Z” para finalizar }}}

TYPE/TAIL[=100]

$ SEARCH login.com “login” $! Template ‘'’login’’‘.com procedure for DECUServe users. }}}

$ DIFFERENCES test.txt;1 test.txt;3 **** File EISNER$DRA3:[DECUSERVE_USER.CELIS]TEST.TXT;1 ** File EISNER$DRA3:[DECUSERVE_USER.CELIS]TEST.TXT;3 4 ahora use EDT para modificarlo ****

Number of difference sections found: 1 Number of difference records found: 1

DIFFERENCES /IGNORE=()/MERGED=1- EISNER$DRA3:[DECUSERVE_USER.CELIS]TEST.TXT;1- EISNER$DRA3:[DECUSERVE_USER.CELIS]TEST.TXT;3 }}}

’'’Define un valor lógico especificando un lugar’’’ y copia un archivo de ese lugar al directorio actual.

$ DEFINE ahi DISK1:[USERS.JUAN] $ COPY ahi:archivo.txt [] }}}

#

$ DIRECTORY/OWNER/PROTECTION

Directory EISNER$DRA3:[DECUSERVE_USER.CELIS]

FTP_SERVER.LOG;1 [CELIS] (RWED,RWED,,) LOGIN.COM;1 [CELIS] (RWED,RWED,,) MAY_TEXT_FILE.TXT;1 [CELIS] (RWED,RWED,,) NOTES$NOTEBOOK.NOTE;1 [DECUSERVE] (RWE,RWE,,) }}}

$ SET SECURITY/PROTECTION=(owner:read,write,execute,delete) work.dir;1 }}}

CREATE/DIRECTORY/OWNER_UIC=PARENT }}}

Hmm. I did nothing special. Make certain that the WWW directory is accessible. Here’s the output of DIRECTORY/SECURITY for my WWW.DIR:

WWW.DIR;1 [SUPPORT,SCHENKENBERG] (RWE,RWE,,E)

Also, the INDEX.HTML file much be accessible as well. Here’s what mine looks like:

INDEX.HTML;2 [SUPPORT,SCHENKENBERG] (RWED,RWED,,RE)

Access it with: }}}

Muchos comandos requiere cierta información para hacer su trabajo, como por ejemplo ‘’’'’COPY’’’’’, si solo escribimos el comando si pasarle los parámetros de cual objeto copiar y donde hacer la copia, DCL amablemente nos pregunta por la información que le hace falta.

MANSON $ COPY

_From: notebook.note _To: note.bak

MANSON $ DIR

Directory DISK$USERS:[USERS.ECELIS] MAIL.DIR;1 NOTE.BAK;1 NOTEBOOK.NOTE;1 SRC.DIR;1

Total of 4 files.

MANSON $ }}}


’'’LOGIN.COM es el archivo de onfiguracion de nuestro ambiente de trabajo’’’

DEFINE EVE$INIT SYS$LOGIN:EVE$INIT.EVE EVE :== EDIT/TPU }}}

’'’Podemos hacer cambios en LOGIN.COM y hacerlos efectivos ejecutando’’’

$ @LOGIN.COM }}}

#

SHOW NET/FULL }}} Is it closer to a unix lsof -i4 command than to a netstat.

When you have an attack, this is the tool you use to find out what IP address is connecting to what service(s).

#

Muestra las caracteisticas de la terminal

$ show terminal Terminal: _TNA51: Device_Type: Unknown Owner: ECELIS Remote Port Info: Host: dsl-201-103-149-199-dyn.prod-infinitum.com

Input: 9600 LFfill: 0 Width: 80 Parity: None Output: 9600 CRfill: 0 Page: 24

Terminal Characteristics: Interactive Echo Type_ahead No Escape Hostsync TTsync Lowercase No Tab Wrap Scope No Remote No Eightbit Broadcast No Readsync No Form Fulldup No Modem No Local_echo No Autobaud Hangup No Brdcstmbx No DMA No Altypeahd Set_speed No Commsync Line Editing Overstrike editing No Fallback No Dialup No Secure server No Disconnect No Pasthru No Syspassword No SIXEL Graphics No Soft Characters No Printer Port Numeric Keypad No ANSI_CRT No Regis No Block_mode No Advanced_video No Edit_mode No DEC_CRT No DEC_CRT2 No DEC_CRT3 No DEC_CRT4 No DEC_CRT5 No Ansi_Color VMS Style Input Backspace }}}

Cambiar caateristicas de la terminal

$ SET TERMINAL }}}

#

Por default OpenVMS coloca los mensajes en un folder ‘'’MAIL’’’, si no hay correos, o todos los mensjaes se borran, este folder desaparece. Cuando se eliminan mensajes van a dar al folder ‘'’WASTEBASKET’’’, para vaciar este folder se utiliza el comando ‘’’'’PURGE’’’’’; igual que ‘'’MAIL’’’ este folder desaparece si no tiene mensajes.

Lista los folders

MAIL> DIRECTORY/FOLDER }}}

Crea un folder

MAIL> FILE/MIFOLDER }}}

Cambia al directorio ‘’’'’Wastebasket’’’’’.

MAIL> SET FOLDER WASTEBASKET }}}

'’SENT’’ o ‘‘MAIL’’ envian mensajes, o ‘‘NODO::”smtp%destinoo@top.lvl.dom”’’

’’’'’DELETE’’’’’ elimina los mensajes del folder actual y los envía a ‘'’WASTEBASKET’’’, podemos eliminar el mensaje que estams leyendo actualmente, especificar los mensajes que deseamos borrar en particular, separados por comas o en rangos. Los mensajes eliminados se mantienen en el folder ‘'’WASTEBASKET’’’ hasta que se ejecuta el comando ‘’’'’PURGE’’’’’.

MAIL> DELETE 1,4-6 MAIL> DELETE/ALL MAIL> PURGE }}}

MAIL> SHOW ALL Your mail file directory is DISK$USERDISK:[ECELIS.MAIL]. Your current mail file is DISK$USERDISK:[ECELIS.MAIL]MAIL.MAI. No folder is currently selected. The wastebasket folder name is WASTEBASKET. Mail file DISK$USERDISK:[ECELIS.MAIL]MAIL.MAI contains 951 deleted message bytes.

You have 0 new messages.

You have not set a forwarding address. Your personal name is “Ernesto Celis”. Your editor is TPU. CC prompting is disabled. Automatic copies to yourself are disabled. Automatic deleted message purge is enabled. Your default print queue is SYS$PRINT. You have not specified a default print form. You have not specified a default signature file. }}}

MAIL> SET PERSONAL_NAME “Ernesto Celis” }}}

MAIL> SET MAIL [.mail] %MAIL-I-CREATED, DISK$USERDISK:[ECELIS.MAIL] created }}}

#

muestra la cola de impresion default.

SHOW LOGIAL SYS$PRINT }}}

Define la impresora default para la sesion actual

DEFINE SYS$PRINT }}}

envia login.com a la cola sales$print sin necesidad de definr una cola default

PRINT/QUEUE=SALES$PRINT LOGIN.com }}}

muestra los trabajos de impresion en todas las colas.

SHOW QUEUE/ALL }}}

#

CC NAVBAT.C LINK NAVBAT.O RUN NAVBAT.EXE }}}

#

VMS cuenta con varios editores disponibles, los dos mas comunes son EVE (Extensible Versatile Editor) que implementa la Utilidad de Procesamiento de Texto (TPU) de VMS. Y EDT un desarrollado como editor comun a traves de los diferentes sistemas operativos de DEC. EVE esta pensado para su uso en pantalla, mientras EDT tiene un modo de linea.

Si al invocar el comando ‘'’EDIT’’’ se te pregunta por el nombre de archivo, entonces el editor por default es ‘'’EDT’’’, por el contrario si aparece una barra de estado en la parte de abajo de la pantalla que dice Buffer: a la izquierda y Write Insert Forward a la derecha EVE es el editor pre-determinado.

Para salir de EDT presionamos ‘'’CTRL+C’’’, para salir de EVE presiona ‘'’CTRL+Z’’’ y se te ofrece la linea de comando de EVE, donde debes escribir EXIT para regresar al prompt DCL.

’'’CTRL+Z’’’ tembien funciona para cambiar entre modo de comandos y edicion en pantalla para EDT.

’'’Formas de invocar los editores de VMS’’’

$ EDIT/EDT

$ EDIT/TPU }}}

’'’EVE$INIT.EVE’’’ es el archivo de configuracion del editor EVE.

! Make keypad act like EDT keypad SET KEYPAD EDT ! Instead of EXIT, CONTORL-Z will prompt for Command: ! Very handy for PC’s with no F16 (DO) key DEFINE KEY=CTRL-Z DO ! Makes cursor go to begining of next line from ! end of previous line like EDT SET CURSOR BOUND ! Keeps DECwindows motif mouse from affecting !EVE functions [End of file] TPU SET(MOUSE,OFF) }}}

El comando ‘'’SPAWN’’’ de EVE nos permite ir al prompt DCL para ejecutar comandos sin abandonar la sesion de edicion, para regresar al editor solo es necesario ejecutar ‘'’LOGOUT’’’

El comando ‘'’WRITE’’’ guarda los cmabios en la sesion de edicion actual sin salir del archivo, tambien genera una nueva version del archivo en el sistema.

#

’'’Imposible determinar el tipo de terminal.’’’

$ EDIT

%TPU-E-NONANSICRT, SYS$INPUT must be supported CRT

$ SET TERMINAL/INQUIRE }}}

TIME SHOW LOGICAL SYS$LOGIN

}}}

  • ’'’CTRL+Y’’’ es la interrupción. Si un comando despliega información en la pantalla y ya no quieres verla, presiona ‘'’CTRL+Y’’’. Esto también es útil si algo va mal con algu n programa, ‘'’CTR+Y’’’ abortara cualquier actividad actual de la sesión.

OpenVMS en SIMH

  • [[#ref Referencias]]
  • [[#inst Instalación]]

Instalación

xxx }}}

Referencias

  • [[http://www.wherry.com/gadgets/retrocomputing/vax-simh.html]]
  • [[http://mailman.trailing-edge.com/pipermail/simh/2006-November/000773.html]]

#

  • [[[http://h71000.www7.hp.com/doc/73final/6489/6489pro.html OpenVMS User’s Manual]]]
  • [[[http://alpha.mike-r.com/VMS_beginners_faq.html OpenVMS beginner’s FAQ]]]
  • [[[http://www.hoffmanlabs.com/vmsfaq/vmsfaq.html OpenVMS FAQ]]]
  • [[[http://plato.ccsscorp.com/index.html CCSS Interactive Learning - Entrenamiento On-Line]]]
  • [[[http://deathrow.vistech.net (OpenVMS)DeathRow Cluster]]]
  • [[[http://kuhl-us.com/gadgets/retrocomputing/vax-simh.html Running VAX/VMS Under Linux Using SIMH]]]
  • [[[http://mailman.trailing-edge.com/pipermail/simh/2006-November/000773.html SIMH DECwindows]]]