RSTS/E
RSTS () es un sistema operativo multiusuario de tiempo compartido desarrollado por Digital Equipment Corporation (DEC, ahora parte de Hewlett-Packard) para la serie PDP-11 de minicomputadoras de 16 bits. La primera versión de RSTS (RSTS-11, Versión 1) fue implementada en 1970 por ingenieros de software de DEC que desarrollaron el sistema operativo de tiempo compartido TSS-8 para el PDP-8. La última versión de RSTS (RSTS/E, versión 10.1) se lanzó en septiembre de 1992. RSTS-11 y RSTS/E generalmente se conocen como "RSTS" y este artículo generalmente usará la forma más corta. RSTS-11 es compatible con el lenguaje de programación BASIC, una versión extendida denominada BASIC-PLUS, desarrollada bajo contrato por Evans Griffiths & Hart de Boston. A partir de la versión 5B de RSTS/E, DEC agregó soporte para lenguajes de programación adicionales mediante la emulación del entorno de ejecución de los sistemas operativos RT-11 y RSX-11.
Siglas y abreviaturas
- BTSS (Basic Time Sharing System – nunca comercializado) – El primer nombre de RSTS.
- CCL (Concise Command Language) – equivalente a un comando para ejecutar un programa mantenido en el intérprete de línea de comandos.
- CIL (Core Image Library) – Un formato de archivo contenedor utilizado para mantener uno o más programas autónomos y sistemas operativos, como RSTS a través de la versión 6A.
- CILUS (Core Image Library Update and Save) – Programa DOS-11 para manipular un archivo CIL.
- CLI (Command Line Interpreter) – Ver interfaz Command-line.
- CUSPs (Programas de sistema comúnmente usados) – Aplicaciones de gestión de sistemas como Administrador de tareas o Editor de registro en Microsoft Windows. En RSTS-11, los CUSPs fueron escritos en BASIC-Plus como programas de usuario.
- DCL (Digital Command Language) – Véase DIGITAL Command Language.
- DTR (DATATRIEVE) – lenguaje de programación
- FIP (File Information Processing) – área residente para la emisión de solicitudes de archivos
- FIRQB (File Information Request Queue Block) – Una estructura de datos que contiene información sobre solicitudes de archivos.
- KBM (Keyboard Monitor) – Analogous to Command Line Interpreter.
- LAT (Transporte de Área Local) – Antecesor de Digital a TCP/IP
- MFD (Master File Directory) – directorio raíz del sistema de archivos.
- PBS (Print Batch Services)
- PIP (Programa de intercambio periférico)
- PPN (Número de Programador de Proyecciones) – Analogous to GID and UID in Unix.
- RDC (Remote Diagnostics Console) – Un panel frontal de reemplazo para un PDP-11 que utilizó una conexión en serie con el terminal de consolas o un módem en lugar de luces y conmutadores para controlar la CPU.
- RSTS-11 (Resource Sharing Time Sharing System) – El primer nombre comercial de producto para RSTS
- RSTS/E (Resource Sharing Timesharing System Extended) – La implementación actual de RSTS.
- RTS (Run Time System) – Lea sólo el segmento de código proporcionado por el proveedor que sería mapeado en el extremo alto de un espacio de dirección de palabra de 32K, 16 bits que un programa de usuario utilizaría para interactuar con el sistema operativo. Sólo una copia de un RTS sería cargada en RAM, pero sería mapeado en el espacio de dirección de cualquier programa de usuario que lo requiriera. En esencia, código compartido, re-entrant, para reducir los requisitos de RAM, compartiendo el código entre cualquier programa que lo requiera.
- RTSS (Resource Time Sharing System – nunca comercializado) – El segundo nombre para RSTS
- SATT (Storage Allocation Truth Table) una serie de 512KB bloques en cada disco que indicaron si el bloque, o clúster, en todo el disco fue asignado en el disco. Bitwise, un 1 indicó que un grupo estaba en uso; un 0 indicó que no estaba en uso.
- SIL (Save Image Library) – El formato de archivo del contenedor OS después del procedimiento de generación del sistema RSTS fue conmutado de uno usando DOS-11 a uno que se ejecuta nativamente en RSTS/E, llamado que por analogía con el CIL sustituyó.
- SILUS (Save Image Library Update and Save) – El programa para crear archivos SIL, llamado que por analogía con el programa DOS-11 CILUS (no relacionado) sustituyó.
- UFD (User File Directory) – El directorio de inicio de un usuario. directorio raíz de un sistema de archivos.
- XRB (Bloque de solicitud de transferencia) – Una estructura de datos que contiene información sobre otros tipos de solicitudes del sistema que no utilizan FIRQBs para transmitir la información
Desarrollo
Década de 1970
El kernel de RSTS fue programado en el lenguaje ensamblador MACRO-11, compilado e instalado en un disco utilizando el programa CILUS, ejecutándose en un sistema operativo DOS-11. RSTS arrancó en una versión extendida del lenguaje de programación BASIC que DEC llamó "BASIC-PLUS". Todo el software del sistema CUSPS para el sistema operativo, incluidos los programas para la contabilidad de recursos, inicio de sesión, cierre de sesión y administración del sistema, se escribieron en BASIC-PLUS. De 1970 a 1973, RSTS se ejecutó en solo 56 000 bytes de memoria de núcleo magnético (64 kilobytes, incluido el espacio de E/S asignado a la memoria). Esto permitiría que un sistema tenga hasta 16 terminales con un máximo de 17 puestos de trabajo. El tamaño máximo del programa era de 16K bytes. A fines de 1973, DEC estimó que había 150 sistemas con licencia que ejecutaban RSTS.
En 1973, RSTS (ahora RSTS/E) admitió la gestión de memoria para las minicomputadoras DEC PDP-11/40 y PDP-11/45 más nuevas (la PDP-11/20 solo se admitía en RSTS-11).. La introducción de la administración de memoria en las computadoras PDP-11 más nuevas no solo significó que estas máquinas pudieran manejar cuatro veces la cantidad de memoria (direccionamiento de 18 bits, 256K bytes), sino que también allanó el camino para que los desarrolladores separaran los procesos del modo de usuario desde el núcleo del núcleo.
En 1975, la compatibilidad con la administración de memoria se actualizó nuevamente para el nuevo PDP-11/70 direccionable de 22 bits. Los sistemas RSTS ahora podrían expandirse para usar hasta dos megabytes de memoria que ejecutan hasta 63 trabajos. Se introdujeron los conceptos RTS y CCL aunque tuvieron que compilarse durante "SYSGEN". Se introdujo el servicio de múltiples terminales que permitiría a un solo trabajo la capacidad de controlar múltiples terminales (128 en total). El envío/recepción de mensajes grandes y la comunicación entre procesos se volvieron muy sofisticados y eficientes. Para agosto hay 1.200 sistemas con licencia.
En 1977, el proceso de instalación de RSTS ya no dependía de DOS-11. El kernel RSTS ahora se puede compilar bajo RT-11 RTS, formatearse como un archivo kernel con RT-11 SILUS y copiarse al sistema o a otros discos, mientras que el la computadora era de tiempo compartido. El BASIC-PLUS RTS (así como RT-11, RSX-11, TECO y RTSs de terceros) se ejecutaron como procesos de modo de usuario, independientemente del kernel RSTS.. Un administrador de sistemas ahora podría decidir durante la fase de arranque qué RTS ejecutar como el monitor de teclado predeterminado del sistema (KBM). Por ahora, había unos 3.100 sistemas con licencia.
En 1978, se incluyó la última actualización de administración de memoria para todas las máquinas que admitían direccionamiento de 22 bits. RSTS ahora podría usar la cantidad máxima de memoria disponible para un PDP-11 (4 megabytes). También se incluyó soporte para el modo SUPERVISORIO, lo que convirtió a RSTS en el primer sistema operativo DEC con esta capacidad. También se admitió DECnet, así como diagnósticos remotos de técnicos de servicio de campo en el RDC en Colorado Springs, Colorado (un servicio de suscripción de DEC). A finales de la década, hay más de 5000 sistemas con licencia.
Década de 1980
En 1981, el soporte para instrucciones separadas y espacio de datos para usuarios con máquinas Unibus (PDP-11/44, PDP-11/45, PDP-11/55 y PDP-11/70) proporcionó una extensión a las limitaciones de memoria. de un programa individual. La compilación de programas para usar instrucciones separadas y espacio de datos pronto le daría a un programa hasta 64 KB para instrucciones y hasta 64 KB para almacenar datos en búfer. Se incluyó el DCL RTS, así como soporte para la revisión más reciente de DECnet III.
En 1983, con un estimado de 15 000 máquinas DEC que ejecutaban RSTS/E, V8.0-06 incluía soporte para el PDP-11 de 18 bits más pequeño vendido por DEC (el MicroPDP-11). En esta distribución se incluyeron un kernel pregenerado y CUSPS para facilitar la instalación en el MicroPDP-11. DEC vendió la versión pregenerada en MicroPDP-11 como MicroRSTS a un precio reducido; sin embargo, los usuarios debían comprar la versión completa si necesitaban generar su propio kernel. El sistema de archivos se actualizó y recibió la designación RSTS Directory Structure 1 (RDS1). Todas las versiones anteriores del sistema de archivos RSTS reciben la designación RDS0. El sistema de archivos más nuevo fue diseñado para admitir más de 1700 cuentas de usuario. "¡Ahora se cree que hay más de 10 000 usuarios con licencia y al menos un número igual de usuarios sin licencia!".
De 1985 a 1989, RSTS se convirtió en un producto maduro en las revisiones de la Versión 9. DCL se instaló como el RTS principal y el sistema de archivos se actualizó nuevamente (ahora RDS1.2) para admitir nuevas funciones de cuenta de usuario. Las contraseñas se cifraron utilizando un algoritmo DES modificado en lugar de limitarse a seis (6) caracteres almacenados en formato DEC Radix-50. Antes de la Versión 9, había una cuenta de sistema que no era de usuario en el proyecto (grupo) cero (la designación es [0,1]), y todas las cuentas en el proyecto número 1 tenían privilegios (no muy diferente de la cuenta raíz en los sistemas Unix). Con el lanzamiento de la versión 9, se pueden crear cuentas adicionales para el proyecto cero y se pueden establecer múltiples privilegios individualmente para cualquier cuenta. Se incluyó compatibilidad con el protocolo LAT, así como la capacidad de ejecutar la versión más reciente de DECnet IV. Estas mejoras de red brindan a cualquier usuario conectado a una terminal a través de un DECserver la capacidad de comunicarse con una máquina RSTS, tan fácilmente como con un VAX que ejecuta VMS. La estructura de comando DCL entre los sistemas operativos DEC también contribuyó a la apariencia familiar:
Esto no es sólo otro procesador de archivos pseudo comando; se basa en características VMS. El procesador de archivos de comandos DCL es totalmente compatible e integrado en RSTS a través de grandes cambios en DCL y el monitor. DCL ejecuta los archivos de comando como parte de su trabajo; por lo tanto, no seudo teclado o forzar los comandos a su teclado es necesario (como con ATPK).
Década de 1990
En 1994, DEC vendió la mayor parte de su negocio de software PDP-11 a Mentec. Digital continuó apoyando a sus propios clientes de PDP-11 durante un breve período con la ayuda del personal de Mentec.
En 1997, Digital y Mentec otorgaron una licencia sin costo a cualquier persona que deseara usar RSTS 9.6 o anterior con fines no comerciales o de pasatiempo. La licencia solo es válida en el emulador SIMH PDP-11. La licencia también cubre algunos otros sistemas operativos digitales. Se incluyen copias de la licencia en un kit de software autorizado disponible para descargar en el sitio web oficial del emulador SIMH.
Documentación
El complemento estándar de los manuales de documentación que acompaña a una distribución RSTS consta de al menos 11 carpetas grandes de tres anillos (conocidas colectivamente como "La pared naranja"), una carpeta pequeña de tres anillos que contiene el RSTS/ E Guía de referencia rápida y una copia en rústica de Introducción a BASIC AA-0155B-TK. Cada una de las 11 carpetas de tres anillas contiene:

Volumen 1: Información general e instalación
- Documentación Directorio
- Notas de lanzamiento
- Cuaderno de mantenimiento
- Guía de instalación y actualización del sistema
Volumen 2: Gestión del sistema
- Guía del Administrador del Sistema
Volumen 3: Uso del sistema
- Guía del usuario del sistema
- Guía para la escritura de los procedimientos del comando
Volumen 4: Utilidades
- Manual de referencia de utilidades
- Introducción al Editor de EDT
- SORT/MERGE Guía del usuario
- Guía del usuario
Volumen 4A: Utilidades
- EDT Editor Manual
Volumen 4B: Utilidades
- Task Builder Manual de referencia
- Manual de utilidades del programador
- Manual de utilidades RT11
- TECO Guía del usuario
Volumen 5: BÁSICO-PLUS
- BASIC-PLUS Manual de idiomas
Volumen 6: Programación del sistema
- Manual de programación
Volumen 7: Programación de MACRO
- Manual de directivas del sistema
- ODT Manual de referencia
Volumen 7A: Programación de MACRO
- MACRO-11 Manual de idiomas
- RMS-11 MACRO Guía del programador
Volumen 8: RMS [Servicios de administración de registros]
- RMS-11: Una introducción
- RMS11 Guía del usuario
- RMS-11 Utilities
Operación
Comunicación
RSTS utiliza una conexión de comunicación en serie para interactuar con el operador. La conexión puede ser una terminal de computadora local con una interfaz de bucle de corriente de 20 mA, una interfaz RS-232 (ya sea un puerto serial local o una conexión remota a través de un módem) o mediante una conexión Ethernet usando DECnet o LAT. Se pueden conectar hasta 128 terminales (utilizando el servicio de múltiples terminales) a un sistema RSTS, ejecutando un máximo de 63 trabajos (según el procesador que se utilice, la cantidad de memoria y espacio en disco, y la carga del sistema). La mayoría de los sistemas RSTS tenían muchos menos terminales. Los usuarios también pueden enviar trabajos para que se ejecuten en modo por lotes. También hay un programa por lotes llamado "ATPK" que permite a los usuarios ejecutar una serie de comandos en un terminal imaginario (pseudo-terminal) en modo semi-interactivo similar a los comandos por lotes en MS-DOS.
Iniciar sesión [Proyecto, Programadora]
(feminine)Los usuarios se conectan al sistema escribiendo el comando INICIAR SESIÓN (o HELLO) en una terminal sin sesión y presionando regresar. Al escribir cualquier comando en un terminal que ha cerrado la sesión, se inicia el programa LOGIN, que luego interpreta el comando. Si es uno de los comandos que un usuario que aún no ha iniciado sesión puede usar ("Cerrar sesión"), entonces el programa asociado para ese comando se encadena; de lo contrario, aparece el mensaje "Por favor di HOLA" está impreso en el terminal. Antes de la Versión 9, un usuario también puede iniciar un inicio de sesión de 1 línea, sin embargo, esto deja la contraseña del usuario en la pantalla para que cualquier otra persona en la sala la vea (a continuación se muestran algunos ejemplos):

Adiós. HELLO 1,1;SECRET Listo
o
I 1,1;SECRET Listo
o
L acción 1,1;SECRET Listo
El estado de un terminal se puede determinar a partir de las respuestas de los comandos, impresas por el intérprete de comandos. Un usuario conectado que se comunica con el BASIC-PLUS KBM (monitor de teclado) recibe el mensaje "Listo" y un usuario que ha cerrado la sesión recibe el mensaje "Adiós".
Un usuario inicia sesión proporcionando su número de PPN y contraseña. Los números de usuario constan de un número de proyecto (equivalente a un número de grupo en Unix), una coma y un número de programador. Ambos números están en el rango de 0 a 254, con excepciones especiales. Al especificar una cuenta, el proyecto y el número de programador se incluyen entre paréntesis. Un número de usuario típico puede ser [10,5] (proyecto 10, programador 5), [2,146], [254,31] o [200,220], etc. Cuando un usuario está ejecutando un programa del sistema mientras está desconectado (porque el el administrador del sistema lo ha habilitado) su número PPN es [0,0], y aparece en SYSTAT CUSP como **,**. Por lo tanto, ese no es un número de cuenta válido. Si el usuario especifica una barra inclinada (/) en lugar de una coma entre el número de proyecto y el número de programador, no se mostrará un mensaje de todo el sistema almacenado en [1,2]NOTICE.TXT (equivalente al motd de Unix) al iniciar sesión.
Cuentas de sistema y de usuario
En todos los proyectos, el número de programador 0 suele reservarse como una cuenta de grupo, ya que se puede hacer referencia a él con el símbolo especial #. Si el número de usuario de uno es [20,103], una referencia a un nombre de archivo que comienza con "#" se refiere a un archivo almacenado en la cuenta del número de usuario [20,0]. Esta función es útil en entornos educativos, ya que el número de programador 0 se puede asignar al instructor de una clase, y los estudiantes individuales pueden recibir cuentas con el mismo número de proyecto, y el instructor puede almacenar en su cuenta archivos marcados como compartidos solo para ese proyecto. número (que serían los estudiantes de esa clase solamente, y ningún otro).
Existen dos clases especiales de números de proyecto. El número de proyecto 0 generalmente se reserva para el software del sistema y, antes de la versión 9, solo hay 1 cuenta de proyecto 0 (llamada [0,1]). Los programadores del proyecto número 1 son cuentas privilegiadas, equivalentes a la cuenta única "raíz" en sistemas Unix, excepto que los números de cuenta [1,0] a [1,254] son todas cuentas privilegiadas. A partir de la versión 9, el administrador de sistemas puede otorgar privilegios específicos a cualquier cuenta.
La cuenta [0,1] se usa para almacenar el archivo del sistema operativo en sí, todos los sistemas de biblioteca en tiempo de ejecución y ciertos archivos del sistema relacionados con el arranque del sistema (los comentarios del autor aparecen a la derecha en negrita):
DIR [0,1] Nombre. Ext Size Prot Date SY:[0,1] BADB.SYS 0P Lista de bloques malosSATT.SYS 3CP Bitmap de almacenamiento de disco asignadoINIT.SYS 419P Programa de carga del sistema operativoERR.ERR 16CP Mensajes de error del sistemaRSTS.SIL 307CP Sistema operativo en síBASIC.RTS 73CP Sistema de tiempo de funcionamiento BASIC-PLUSRT11.RTS 20C = 60 hilos 06-Jun-98 Sistema de tiempo de ejecución RT-11SWAP.SYS 1024CP Sistema de intercambio de archivosCRASH.SYS 35CP Sistema de bloqueo de seguridadRSX.RTS 16C = 60 hilo 23-Sep-79 RSX-11 sistema de tiempo de ejecuciónTECO.RTS 39C = 60 hilos 24-Sep-79 Editor de texto de TECOTotal de 1952 bloques en 11 archivos en SY:[0,1] ()Nota del editor: Este listado de directorios es anterior a la versión 9.)
El comando DIR es un CCL instalado equivalente a un comando EJECUTAR para el programa DIRECTO. [0,1] es el número de cuenta (y el nombre del directorio) de la cuenta de almacenamiento del sistema operativo. Se denominaría "proyecto número 0, programador número 1".
Los números que se muestran después de cada archivo representan su tamaño en bloques de disco, siendo un bloque de 512 bytes o 1/2 kilobyte (K). "C" indica que el archivo es contiguo (se almacena como un archivo sin separarse en partes, similar a los archivos en un sistema Microsoft Windows después de que se haya desfragmentado una unidad), mientras que "P" indica que está especialmente protegido (no se puede eliminar, ni siquiera por un usuario privilegiado, a menos que el bit P se borre mediante un comando separado). Los números entre paréntesis (como "< 40>") representan las protecciones para el archivo, que siempre se muestra en decimal. Las protecciones indican si el archivo puede ser visto por cualquier otro usuario, por otros usuarios con el mismo número de programador, si el archivo es de solo lectura o si puede ser alterado por otro usuario, y si el archivo puede ser ejecutado por un usuario ordinario dando les otorga privilegios adicionales. Estos códigos de protección son muy similares a las protecciones r, w y x en Unix y sistemas operativos similares como BSD y Linux. El código 60 es equivalente a un archivo privado, el código 63 es un archivo privado no eliminable y el 40 es un archivo público.
Los archivos de biblioteca se guardan en la cuenta [1,1] y normalmente se hace referencia a ellos con el nombre lógico LB:. La cuenta [1,2] es la cuenta de inicio del sistema (al igual que un sistema Unix que se inicia bajo la raíz) y contiene el sistema CUSP al que se puede hacer referencia anteponiendo el prefijo CUSP nombre con signo de dólar ($). "!" se utiliza para la cuenta [1,3], "%" para [1,4] y "&" para [1,5]. La cuenta [1,1] también tenía el privilegio especial de ser la única cuenta en la que un usuario que inició sesión con esa cuenta puede ejecutar la llamada al sistema POKE para poner valores en cualquier memoria del sistema. Por lo tanto, el número de cuenta [1,1] es el equivalente más cercano a "raíz" en sistemas basados en Unix.
Entornos de tiempo de ejecución
Una de las características de RSTS es el medio para la ejecución de programas y el entorno utilizado para ejecutarlos. Los diversos entornos permitieron la programación en BASIC-PLUS, el BASIC-Plus-2 mejorado y compilado duro, y en lenguajes de programación más tradicionales como COBOL (actualizado finalmente a COBOL-85) y FORTRAN IV (actualizado finalmente a FORTRAN-77). Se admitieron otros idiomas, como DIBOL y MUMPS. Estos entornos estaban separados entre sí, de modo que uno podía iniciar un programa desde un entorno y el sistema cambiaba a un entorno diferente mientras ejecutaba un programa diferente, y luego devolvía al usuario al entorno original con el que comenzó. Estos entornos se denominaron Runtime System (RTS). El término para la interfaz de línea de comandos que tenían la mayoría de estos RTS era KBM. Antes de la Versión 9, el administrador de sistemas necesitaba definir bajo qué RTS se iniciaría el sistema, y tenía que ser uno que ejecutara programas compilados.
Un administrador de sistemas también puede instalar comandos especiales CCL (lenguaje de comando conciso), que tienen prioridad sobre todos los comandos KBM (con la excepción de DCL). Una CCL es similar a un acceso directo a un programa en un sistema Windows o un enlace simbólico en sistemas basados en Unix. Las CCL se instalan como un comando residente en la memoria, ya sea durante el inicio o dinámicamente mientras el sistema está en ejecución por parte del administrador del sistema (es decir, no es permanente como un archivo de disco).
Cuando inicia sesión, un usuario puede "CAMBIAR" a cualquiera de estos entornos, escriba declaraciones de lenguaje en el lenguaje de programación BASIC-PLUS, emita comandos EJECUTAR a programas específicos o emita un comando especial llamado CCL para ejecutar un programa con opciones de comando.
La mayoría de los administradores de sistemas RSTS generaron el kernel para incluir el "Control-T" una opción de estado de línea que podría decirle al usuario qué programa estaba ejecutando, bajo qué RTS estaba usando el programa, cuánta memoria estaba usando el programa, cuánto podía expandirse y cuánta memoria RTS estaba usando.
BÁSICO-PLUS
Los programas escritos en BASIC-PLUS se ejecutaban bajo BASIC RTS, lo que les permitía hasta 32K bytes de memoria (de un total de 64K). Se interpretó el idioma, cada palabra clave diferente se convirtió internamente en un código de byte único y las variables y los datos se indexaron y almacenaron por separado dentro del espacio de memoria. El formato de código de bytes interno se conocía como PCODE. Cuando se emitió el comando SAVE interactivo, el BASIC Plus RTS simplemente guardó el área de la memoria de trabajo en un archivo de disco con un ".BAC" extensión. Aunque este formato no estaba documentado, dos estudiantes de ingeniería electrónica de la Universidad de Southampton en el Reino Unido (Nick de Smith y David Garrod) desarrollaron un descompilador que podía aplicar ingeniería inversa a los archivos BAC en su fuente BASIC-Plus original, completo con números de línea originales y nombres de variables (ambos trabajaron posteriormente para DEC). El resto de la memoria fue utilizada por el propio BASIC RTS. Si uno escribiera programas en un lenguaje que permitiera ejecutables binarios verdaderos como BASIC-Plus-2, FORTRAN-IV o Macro Assembler, entonces la cantidad de memoria disponible sería de 56 K (8 K asignados al RTS). El aviso estándar de BASIC-PLUS es "Ready" respuesta, al presionar Control-T se muestra el estado (ejemplo):
nuevo Nuevo nombre de archivo--HWORLD Listo10 Print "Hello World"
20 Input "Press Control-T for 1 line status: ";a$
30 End
run
HWORLD 10:17 PM 01-Jan-08 Hola Mundo Control de prensa-T para 1 línea de estado: ? 1 KB0 HWORLD+BASIC KB(0R) 2(16)K+14K 0.2(+0.0) +0 Listo Guardar Listo compilación ListoDIR HWORLD.*/na/ex/si/pr
SY:[1,2] HWORLD.BAS 1 HWORLD.BAC 7C Total de 8 bloques en 2 archivos en SY:[1,2] Listo
DCL (lenguaje de comandos digitales)
A partir de la versión 9, DCL se convirtió en el principal RTS de inicio aunque no tiene la capacidad de ejecutar programas binarios. Esto se hizo posible con la llegada de RSX RTS (ver más abajo). DCL se incorporó a todas las versiones recientes de los sistemas operativos de DEC (RSX-11, RT-11, VMS y OpenVMS posterior) para lograr compatibilidad. El aviso estándar de DCL es el dólar "$" firmar (ejemplo):
$ escribir 0 "Hola Mundo, es "+ F$TIME()Hola Mundo, es 01-Jan-08 10:20 PM$ inquieto p1 "Press Control-T para 1 línea de estado:"Control de prensa-T para 1 línea de estado:1 KB0 DCL+DCL KB(0R) 4(8)K+24K 0.1(+0.1) -8$ set verificar/debug/watch
$ show memoria
(Mostrar memoria)(SYSTAT/C)Tabla de asignación de memoria: Inicio Largo final permanente temporal 0K - 85K (86K) MONITOR 86K – 1737K (1652K) (User)1738K – 1747K (10K) (User) DAPRES LIB1748K - 1751K (4K) (User) RMSRES LIB1752K - 2043K (292K) ** XBUF **2044K - *** END ***$
RSX (Real Time System eXecutive)
Los programas que se escribieron para RSX RTS, como COBOL, Macro Assembler o versiones posteriores de BASIC-Plus-2, podrían usar la cantidad máxima de memoria disponible para un programa binario (56K debido a los requisitos de un RTS que necesita los 8K superiores para usarlo por sí mismo). La versión 7 de RSTS y posteriores permitieron que RSX RTS se incluyera en el kernel, lo que hizo que "desapareciera" desde el espacio de direcciones del usuario, lo que permite 64K bytes de memoria para programas de usuario.
Los programas superaron las limitaciones de la cantidad de memoria disponible mediante el uso de bibliotecas (cuando está permitido), mediante estrategias de superposición complicadas o llamando a otros programas ("Encadenamiento") y pasándoles comandos y datos en un área de memoria compartida llamada "Core Common," entre otras prácticas.
Did you mean:When RSX is the default KBM, the standard RSX prompt (both logged in and logged out) is the ">" (or MCR "Monitor Console Routine#34;) sign (example):
■Corre
Por favor escriba HELLO■HELLO 1,1;SECRET
■Corre
? ¿Qué?■ayuda
Los comandos de teclado válidos son:ASSIGN DISMOUNT HELP RUN UNSAVEAdiós.DEASSIGN HELLO REASSIGN SWITCH■CSPCOM
CSP tituladaHWORLD=HWORLD
CSP titulada^Z■RUN TKB
TKB tituladoHWORLD=HWORLD,LB:CSPCOM.OLB/LB
TKB titulado//
■HWORLD.TSK
Hola MundoControl de prensa-T para 1 línea de estado: ?1 KB0 HWORLD+...RSX KB(0R) 7(32)K+0K 0.8(+0.2) +0■DIR HWORLD.*/na/ex/si/pr
SY:[1,2]HWORLD.BAS 1HWORLD.BAC 7CHWORLD.OBJ 2HWORLD.TSK 25CTotal de 35 bloques en 4 archivos en SY:[1,2]■
RT-11
El RT-11 RTS emuló la versión Single Job de la distribución RT-11. Al igual que la emulación RSX, RT-11 ocupó los primeros 8K de memoria, dejando los 56K inferiores para CUSPS, programas escritos en FORTRAN-IV o Macro Assembler. Cuando RT-11 es el KBM predeterminado, el aviso estándar de RT-11 (tanto para iniciar como para cerrar sesión) es "." firmar (ejemplo):
.VERSIÓNPor favor escriba HELLO
.HELLO 1,1; SECRET.VERSIÓNRT-11SJ V3-03; RSTS/E V8.0
.R PIP*HWORLD.MAC=KB:
. MCALL. TTYIN,.PRINT,.EXIT
HWORLD:.ASCII /Hello World/Seguido
. ASCIZ /Press Control-T para 1 línea de estado:/
. EVENTO
Inicio:.PRINT #HWORLD
. TTYIN
. EXIT
. FIN START
^Z
* Z
.R MACROHWORLD=HWORLD
* Z
.R LINK*HWORLD=HWORLD
* Z
.R HWORLD.SAVHola Mundo
Control de prensa-T para 1 línea de estado:
1 KB0 HWORLD+RT11 KB(0R) 2(28)K+4K 0.6(+0.2) +0
.. DIR HWORLD.*/na/ex/si/prSY:[1,2]
HWORLD.BAS 1
HWORLD.BAC 7C
HWORLD.TSK 25C
HWORLD.MAC 1
HWORLD.OBJ 1
HWORLD.SAV 2C
Total de 37 bloques en 6 archivos en SY:[1,2]
.
TECO (Editor y Corrector de Texto)
El editor TECO se implementó como un RTS para maximizar la cantidad de memoria disponible para el búfer de edición y también porque se implementó por primera vez en RSTS V5B, antes del lanzamiento de los sistemas de tiempo de ejecución de uso general (RSX y RT11). TECO fue el único RTS distribuido con RSTS que no contenía un KBM incorporado. El usuario iniciaría TECO (como cualquier otro programa) ejecutando un programa TECO (TECO.TEC). TECO y el afín QEDIT fueron los antepasados directos del primer editor de texto basado en UNIX, ED. La mayoría de los sistemas RSTS usaban CCL para crear un archivo (MAKE filespec), editar un archivo (TECO filespec) o ejecutar un programa TECO (MUNG filespec, data). El siguiente programa es un ejemplo de cómo se podría usar TECO para calcular pi (actualmente establecido en 20 dígitos):
Listo
run TECO
*GZ0JUNQN*E 20UN
BUH BUV HK
QN identificado J BUQ QN*10/3UI
QI hizo +2*10+(Q*QI)UA
B L K QI*2-1UJ QA/QJUQ
QA-(Q*QJ)-2 10@I/// -1%I
QQ/10UT QH+QT+48UW QW-58"E 48UW %V ' QV"N QV^T '
QWUV QQ-(QT*10)UH
QV^T @^A/
/HKEX$$
31415926535897932384
Listo
Huevos de Pascua RSTS
Did you mean:System startup (INIT.SYSTEM)
Si un usuario escribió un comando no reconocido al iniciar el sistema en la "Opción:" indicador de INIT.SYS, la utilidad de inicio, el mensaje "Escriba 'AYUDA' por ayuda" fue exhibido. Si el usuario escribió posteriormente 'AYUDA' (incluidas las comillas) al aviso, la respuesta fue "Qué divertido, de todos modos..." seguido del mensaje de ayuda real.
Luces de la consola PDP-11
Un administrador del sistema podría compilar en el núcleo un patrón de visualización giratorio que diera la ilusión de dos serpientes persiguiéndose alrededor de las luces de la consola. El núcleo normal daría la ilusión de una serpiente moviéndose de derecha a izquierda en las luces de datos en la parte inferior. Si el administrador del sistema también compiló las "luces" módulo de objeto, el usuario vería una serpiente adicional moviéndose de izquierda a derecha en las luces de dirección en la parte superior. Esto se logró mediante el uso del modo de supervisión en las versiones anteriores a la 9.0. RSX también tenía un patrón de visualización similar que parecía como si dos serpientes estuvieran jugando a las gallinas y chocaran entre sí en el centro de la consola.
Did you mean:Tesco easter egg
El comando 'hacer' permitió a un usuario crear un archivo de texto e ingresar automáticamente al editor de texto TECO. Si un usuario tecleaba 'hacer el amor', el sistema creaba un archivo llamado 'amor' y contestó, '¿No es la guerra?'
Lista de archivos abiertos
Kevin Herbert, que luego trabajó para DEC, agregó una función no documentada en los años 90 para permitir que un usuario ingrese ^F para ver una lista de archivos abiertos que tenía el proceso de usuario, completa con bloques en uso y tamaños de archivo.
Fecha estelar
A partir de la versión 9.0, una función no documentada permitiría al administrador del sistema cambiar la visualización de la fecha del sistema. RSTS se convirtió en el primer sistema operativo que mostraría la fecha del sistema como un conjunto de números que representan una fecha estelar como se conoce comúnmente en la serie de televisión Star Trek.
Complementos de otras empresas
System Industries compró la única licencia fuente para RSTS para implementar una mejora llamada SIMACS (SImultaneous Machine ACceSs), que permitió que su controlador de disco especial estableciera un indicador de semáforo para el acceso al disco, lo que permitía múltiples ESCRITURAS en los mismos archivos en un sistema RSTS donde se comparte el disco por múltiples sistemas PDP-11 RSTS. Esta función se implementó en los controladores de System Industries que se conectaron a muchas computadoras DEC y fueron diseñados por el Dr. Albert Chu mientras trabajaba en System Industries.
La principal innovación fue el uso de un semáforo, una bandera para indicar qué procesador, mediante el intercambio cooperativo, tiene acceso de escritura exclusivo.
Esto requirió muchos cambios en la forma en que el sistema operativo RSTS logró el acceso a los discos. El sistema FIPS (Sistema de procesamiento de información de archivos), que manejaba el acceso de E/S, era de subproceso único en RSTS. Para permitir que el acceso a un disco se detuviera mientras otra máquina tenía acceso activo a un bloque, se requería que FIPS pudiera agotar el tiempo de espera de una solicitud, ir a la siguiente solicitud y 'volver' al estancado en forma de todos contra todos. El código para permitir esto fue escrito por Philip Hunt mientras trabajaba en System Industries, en Milipitas, California. Eventualmente trabajó para Digital Equipment en el área de Nueva Inglaterra a fines de la década de 1980 y principios de la de 1990.
SIMACS no se limitó a la línea de productos PDP-11; VAXen también podría usarlo.
Emulaciones RSTS
ROSS/V
En 1981, Evans Griffiths & Hart comercializó el producto ROSS/V. ROSS/V permitió que todos los procesos de modo de usuario de RSTS (CUSPS, RTSs y programas de usuario) tuvieran la capacidad de ejecutarse sin modificaciones bajo VMS en el VAX -11 máquinas. El código para esta emulación manejó todos los procesos del kernel que normalmente manejaría un kernel RSTS que se ejecuta en un PDP-11. El lenguaje BASIC-PLUS original que se ha utilizado en todas las versiones de RSTS fue subcontratado por Evans Griffiths & Hart, Inc. por un precio fijo de $10,500.
Otros emuladores de PDP-11
RSTS y sus aplicaciones pueden ejecutarse en varios emuladores de PDP-11, como SIMH y Ersatz-11. Para obtener más información, consulte PDP-11.
Did you mean:RATS mascot
Spike y Albert
Versiones
RSTS originalmente se llamaba BTS (Sistema básico de tiempo compartido). Antes de que comenzara el envío, se cambió el nombre de BTSS a RTSS porque Honeywell ya comercializaba un producto llamado BTSS. Un simple error de escritura cambió el nombre de RTSS a RSTS.
Versión | Fecha de lanzamiento | Notas |
---|---|---|
1 | Nunca salí | |
2A-19 | 1971 | Instalado en Carleton College y Seattle Pacific College. |
2B | Junio de 1971 | Instalado en la Asociación Auxiliar de la Escuela Delaware. |
2C | Octubre de 1971 | Mejora del soporte de software (record I/O) |
3A-19 | Enero de 1972 | |
3B | Mayo de 1972 | |
3C | Junio de 1972 | Soporte de software mejorado (modo UPDATE) |
4A-12 | Octubre de 1972 | Nuevo hardware compatible. |
4B | Julio de 1975 | Una versión parcheada de V4A sin nuevas características |
La adición de un nuevo soporte de administración de memoria y la capacidad de instalar más memoria en el PDP-11/40 y el PDP-11/45 llevaron a otro cambio de nombre: RSTS-11 ahora se convirtió en RSTS/E.
Versión | Fecha de lanzamiento | Notas |
---|---|---|
5A-21 | Julio de 1973 | Extensiones de gestión de memoria de 64KB a 256KB. |
5B-24 | Noviembre de 1974 | Múltiples archivos SWAP, RTS y CCL introducidos. |
5C-01 | Marzo de 1975 | Una versión parcheada de V5B sin nuevas características. |
6A-02 | Agosto de 1975 | Nuevo hardware, 22 bit addressing (2 MB), 63 puestos de trabajo. |
6B-02 | Febrero de 1977 | Nuevo hardware, SYSGEN bajo RT-11, CCL en tiempo de ejecución. |
6C-03 | Febrero de 1978 | DECnet Fase II, DTR, DIBOL apoyado. Modo SUPERVISOR. |
7.0 | Agosto de 1978 | Nuevo hardware, (4 MB), soporte RDC. |
7.1 | Febrero de 1981 | Modo de kernel Instrucción " Soporte espacial de datos, DECnet Fase III. |
7.2 | Agosto de 1982 | Nuevo hardware (UA50 unidades). |
8.0-06 | Abril de 1983 | Nuevo hardware (MicroPDP-11). |
9.0-14 | Mayo de 1985 | Nuevo hardware, DCL predeterminado, PBS, múltiples privs, contraseñas cortadas, nueva utilidad de respaldo y Stardate. |
9.1-05 | Octubre de 1985 | Soporte de hardware mejorado, FIP multi-treaded, LOAD INDEX. |
9.2-10 | Junio de 1986 | Nuevo hardware compatible. |
9.3-20 | Enero de 1987 | Soporte de hardware mejorado, DECnet Phase IV. |
9.4 | Julio de 1987 | Nuevas mejoras de hardware, programador y servicio terminal. |
9.5-08 | Diciembre de 1987 | El cústersize aumentó a 64, añadió BACKUP/DIR. |
9.6 | Septiembre de 1988 | Ayuden a SPIKE. |
9.7 | Julio de 1989 | Nuevo hardware, DV0: en tiempo de ejecución, ANSI PDP-11C disponible. |
10.0 | Mayo de 1990 | Historia de la línea de comandos en TTDRV. |
10.1 | Septiembre de 1992 | Y2K arregla. |
Clones en la URSS
- DOS-KP ("DDОС-П")
Aplicaciones
Las oficinas informáticas a veces implementaban User-11 para la gestión de datos basada en RSTS/E.
Contenido relacionado
Ward Christensen
Generador de C++
Patrón de iterador