De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

RSTS ( / r ɪ s t ɪ s / ) es un multi-usuario de tiempo compartido sistema operativo , inicialmente desarrollado por Evans Griffiths & Hart de Boston, [2] [3] y adquirida por Digital Equipment Corporation (DEC, ahora parte de Hewlett Packard ) para la serie PDP-11 de miniordenadores de 16 bits . La primera versión de RSTS (RSTS-11, Versión 1 ) fue implementada en 1970 por los ingenieros de software de DEC que desarrollaron el TSS-8sistema operativo de tiempo compartido para el PDP-8 . La última versión de RSTS (RSTS / E, Versión 10.1 ) se publicó en septiembre de 1992. Por lo general, RSTS-11 y RSTS / E se denominan "RSTS" y este artículo generalmente utilizará la forma más corta.

Siglas y abreviaturas [ editar ]

  • BTSS (Basic Time Sharing System, nunca comercializado): el primer nombre de RSTS. [4]
  • CCL ( lenguaje de comandos conciso ): equivalente a un comando para ejecutar un programa guardado en el intérprete de línea de comandos .
  • CIL (Core Image Library): similar a una biblioteca compartida (.so) en Linux o .DLL en Microsoft Windows .
  • CILUS (Core Image Library Update and Save) - Programa para manipular un archivo CIL. [5]
  • CLI (Intérprete de línea de comandos): consulte Interfaz de línea de comandos .
  • CUSP (programas del sistema de uso común): aplicaciones de administración del sistema como el Administrador de tareas o el Editor del registro en Microsoft Windows . [6] En RSTS-11, los CUSP se escribieron en BASIC-Plus al igual que los programas de usuario.
  • DCL (Lenguaje de comandos digitales): consulte Lenguaje de comandos DIGITAL .
  • DTR (DATATRIEVE) - lenguaje de programación
  • FIP (procesamiento de información de archivos): área residente para emitir solicitudes de archivos
  • FIRQB (Bloque de cola de solicitudes de información de archivos): una estructura de datos que contiene información sobre las solicitudes de archivos. [7]
  • KBM (Monitor de teclado): análogo al intérprete de línea de comandos.
  • LAT (Local Area Transport): predecesor digital de TCP / IP
  • MFD (directorio de archivos maestro): directorio raíz del sistema de archivos. [8]
  • PBS (Servicios de impresión por lotes)
  • PIP ( Programa de intercambio de periféricos )
  • PPN (Project Programmer Number): análogo a GID y UID en Unix.
  • RDC (Consola de diagnóstico remoto): un panel frontal de reemplazo para un PDP-11 que usaba una conexión en serie al terminal de la consola o un módem en lugar de luces e interruptores de palanca para controlar la CPU.
  • RSTS-11 (Sistema de tiempo compartido de recursos compartidos): el primer nombre de producto comercial para RSTS
  • RSTS / E (Sistema de tiempo compartido de recursos compartidos ampliado): la implementación actual de RSTS.
  • RTS (Run Time System): segmento de código de solo lectura proporcionado por el proveedor que se asignaría al extremo superior de un espacio de direcciones de palabras de 32 K y 16 bits que un programa de usuario usaría para interactuar con el sistema operativo. Solo se cargaría una copia de un RTS en la RAM, pero se asignaría al espacio de direcciones de cualquier programa de usuario que lo requiriera. En esencia, código reentrante compartido, para reducir los requisitos de RAM, al compartir el código entre cualquier programa que lo requiera.
  • RTSS (Resource Time Sharing System, nunca comercializado): el segundo nombre de RSTS
  • SATT (Storage Allocation Truth Table) una serie de bloques de 512 KB en cada disco que indica si el bloque o clúster de todo el disco se asignó en el disco. Bit a bit, un 1 indicaba que un clúster estaba en uso; un 0 indica que no estaba en uso.
  • SIL (Guardar biblioteca de imágenes): el nuevo nombre para un archivo CIL después de que DEC comenzó a vender sistemas PDP-11 con toda la memoria de semiconductores y sin memoria de núcleo magnético , como el PDP-11T55. [9] [10]
  • SILUS (Guardar, actualizar y guardar la biblioteca de imágenes): el nuevo nombre de CILUS después de que los archivos CIL se renombraron como archivos SIL.
  • UFD (directorio de archivos de usuario): directorio de inicio de un usuario. Directorio raíz de un sistema de archivos. [8]
  • XRB (Bloque de solicitud de transferencia): una estructura de datos que contiene información sobre otros tipos de solicitudes del sistema que no utilizan FIRQB para transmitir la información.

Desarrollo [ editar ]

1970 [ editar ]

El núcleo de RSTS fue programado en el lenguaje ensamblador MACRO-11 , compilado e instalado en un disco usando 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 de contabilidad de recursos, inicio de sesión , cerrar sesión y administrar el sistema, se escribieron en BASIC-PLUS. De 1970 a 1973, RSTS se ejecutó en solo 56K bytes de memoria de núcleo magnético (64 kilobytes incluido el espacio de E / S mapeado en memoria ). Esto permitiría que un sistema tuviera hasta 16 terminales con un máximo de 17 trabajos. El tamaño máximo del programa fue de 16 KB. [11] A finales de 1973, DEC estimó que había 150 sistemas con licencia que ejecutaban RSTS. [12]

En 1973 se incluyó el soporte de administración de memoria en RSTS (ahora RSTS / E) para los miniordenadores DEC PDP-11/40 y PDP-11/45 más nuevos (el PDP-11/20 solo fue compatible con 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 kernel.

En 1975, el soporte de administración de memoria se actualizó nuevamente para el PDP-11/70 direccionable de 22 bits más nuevo . Los sistemas RSTS ahora podrían expandirse para usar hasta dos megabytes de memoria ejecutando hasta 63 trabajos. Se introdujeron los conceptos de RTS y CCL , aunque tuvieron que compilarse durante " SYSGEN ". Se introdujo el servicio de terminales múltiples que permitiría que un solo trabajo pudiera 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. En agosto hay 1200 sistemas con licencia. [12]

En 1977, el proceso de instalación de RSTS ya no dependía de DOS-11. El kernel de RSTS ahora podría compilarse bajo RT-11 RTS , formatearse como un archivo de kernel con RT-11 SILUS y copiarse en el sistema u otros discos, mientras la computadora compartía el tiempo. El BASIC-PLUS RTS (así como RT-11, RSX-11 , TECO y los RTS de terceros ) se ejecutaron como procesos de modo de usuario, independientemente del kernel de RSTS. Un administrador de sistemas ahora podría decidir durante la fase de arranque qué RTS ejecutar como el KBM predeterminado del sistema.. A estas alturas, había unos 3.100 sistemas con licencia. [12]

En 1978, se incluyó la actualización final de administración de memoria para todas las máquinas que podían admitir 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 SUPERVISOR que convirtió a RSTS en el primer sistema operativo DEC con esta capacidad. También se apoyó 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). Al final de la década , hay más de 5,000 sistemas con licencia. [12]

Década de 1980 [ editar ]

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 y espacio de datos separados pronto proporcionaría un programa de hasta 64 kB para instrucciones y hasta 64 kB para almacenar datos en búfer. Se incluye 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 ejecutando RSTS / E, [2] 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 y CUSPS pregenerados para facilitar la instalación en el MicroPDP-11. DEC vendió la versión pregenerada en el MicroPDP-11 como MicroRSTS a un precio reducido, sin embargo, los usuarios necesitaban comprar la versión completa si tenían la necesidad de generar su propio kernel. El sistema de archivos se actualizó y recibió la designación RSTS Directory Structure 1 (RDS1). [13] Todas las versiones anteriores del sistema de archivos RSTS reciben la designación RDS0. [14] El sistema de archivos más nuevo está diseñado para admitir más de 1700 cuentas de usuario.[15] "¡Ahora se cree que hay más de 10.000 usuarios con licencia y al menos un número igual de usuarios sin licencia!". [12]

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 ahora 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 a diferencia de la cuenta raíz en sistemas Unix ). Después del 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. Soporte para elSe incluyó el protocolo LAT , así como la capacidad de ejecutar la versión más reciente de DECnet IV. Estas mejoras de red le dieron a cualquier usuario conectado a un terminal a través de un servidor DEC la capacidad de comunicarse con una máquina RSTS, tan fácilmente como lo podrían hacer con un VAX que ejecuta VMS . Laestructura de comando DCL entre los sistemas operativos DEC también contribuyó a la apariencia familiar:

"Este no es solo otro pseudo procesador de archivos de comando; se basa en las funciones de VMS. El procesador de archivos de comando DCL es totalmente compatible e integrado en RSTS a través de cambios extensos en DCL y el monitor. DCL ejecuta archivos de comando como parte de su trabajo; por lo tanto , no es necesario ningún pseudo teclado o forzar comandos a su teclado (como con ATPK) ". [dieciséis]

Década de 1990 [ editar ]

En 1994, DEC vendió la mayor parte de su negocio de software PDP-11 a Mentec. [17] 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 cualquiera que deseara utilizar 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 el kit de software autorizado disponible para descargar en el sitio web oficial del emulador SIMH . [18]

Documentación [ editar ]

El complemento estándar de manuales de documentación que acompaña a una distribución de 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 la Guía de referencia rápida de RSTS / E y una copia en rústica. de Introducción a BASIC AA-0155B-TK . Cada una de las 11 carpetas de tres anillos contiene:

Ejemplo de un estante para documentos RSTS / E

Volumen 1: Información general e instalación

  • Directorio de documentación
  • 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 escribir procedimientos de comandos

Volumen 4: Utilidades

  • Manual de referencia de utilidades
  • Introducción al editor EDT
  • ORDENAR / FUSIONAR Guía del usuario
  • Guía del usuario de RUNOFF

Volumen 4A: Utilidades

  • Manual del editor EDT


Volumen 4B: Utilidades

  • Manual de referencia del generador de tareas
  • Manual de utilidades del programador
  • Manual de utilidades RT11
  • Guía del usuario de TECO

Volumen 5: BASIC-PLUS

  • Manual de idiomas BASIC-PLUS

Volumen 6: Programación del sistema

  • Manual de programación

Volumen 7: Programación MACRO

  • Manual de directivas del sistema
  • Manual de referencia de ODT

Volumen 7A: Programación MACRO

  • Manual de idiomas MACRO-11
  • Guía del programador de RMS-11 MACRO

Volumen 8: RMS

  • RMS-11: Introducción
  • Guía del usuario de RMS11
  • Utilidades RMS-11

Operación [ editar ]

Comunicación [ editar ]

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 puerto serie local o conexión remota a través de módem ) o mediante una conexión Ethernet que utilice DECnet o LAT. Se podrían conectar hasta 128 terminales (usando el servicio de terminales múltiples) a un sistema RSTS, ejecutándose con un máximo de 63 trabajos (dependiendo del procesador que se esté usando, la cantidad de memoria y espacio en disco, y la carga del sistema). La mayoría de los sistemas RSTS no tenían tantos terminales. Los usuarios también pueden enviar trabajos para que se ejecuten enmodo por lotes . También había un programa por lotes llamado "ATPK" que permitía 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, Programador] [ editar ]

Usuarios conectados al sistema escribiendo el comando LOGIN (o HELLO) en un terminal cerrado y presionando regresar. En realidad, al escribir cualquier comando en una terminal desconectada, simplemente se inició el programa LOGIN que luego interpretó el comando. Si se trataba de uno de los comandos que un usuario que aún no había iniciado sesión podía usar ("Cierre de sesión"), entonces el programa asociado para ese comando estaba ENCADENADO; de lo contrario, se imprimió el mensaje "Por favor, diga HOLA". en la terminal. Antes de la Versión 9, un usuario también podía iniciar un inicio de sesión de 1 línea, sin embargo, esto dejaba la contraseña del usuario en la pantalla para que cualquier otra persona en la sala pudiera verla (ejemplos a continuación):

Inicio de sesión y cierre de sesión RSTS / E con BASIC como RTS predeterminado
AdiósHOLA 1,2; SECRETOListo

o

I 1,2; SECRETOListo

o

INICIAR SESIÓN 1,2; SECRETOListo

Se podría determinar el estado de un terminal a partir de las respuestas de los comandos, impresas por el intérprete de comandos. Un usuario que ha iniciado sesión y que se comunica con el BASIC-PLUS KBM recibe el mensaje "Listo" y un usuario que está desconectado recibe el mensaje "Adiós".

Un usuario iniciaría sesión proporcionando su número PPN y contraseña. Los números de usuario consistían en un número de proyecto (esto sería el equivalente a un número de grupo en Unix), una coma y un número de programador. Ambos números estaban en el rango de 0 a 254, con excepciones especiales. Al especificar una cuenta, el proyecto y el número de programador se incluyeron entre paréntesis. Un número de usuario típico podría ser [10,5] (proyecto 10, programador 5), [2,146], [254,31] o [200,220], etc. Cuando un usuario estaba ejecutando un programa del sistema mientras estaba desconectado (porque el el administrador del sistema lo había habilitado) su número PPN era [0,0], y aparecería en SYSTAT CUSP como **, **. Por lo tanto, ese no es un número de cuenta válido.

Cuentas de usuario y del sistema [ editar ]

En todos los proyectos, el programador número 0 generalmente se reservaba como una cuenta de grupo, ya que podía ser referenciado por el símbolo especial #. Si el número de usuario de uno fuera [20,103], una referencia a un nombre de archivo que comience con "#" se referirá a un archivo almacenado en la cuenta del número de usuario [20,0]. Esta característica sería útil en entornos educativos, ya que el programador número 0 podría emitirse al instructor de una clase y los estudiantes individuales podrían tener cuentas con el mismo número de proyecto, y el instructor podría almacenar en su cuenta archivos marcados como compartidos solo para ese número de proyecto (que serían estudiantes en esa clase solamente, y no en otra).

Existían dos clases especiales de números de proyectos. El número de proyecto 0 está generalmente reservado para el software del sistema, y ​​antes de la Versión 9 solo había 1 cuenta de proyecto 0 (denominada [0,1]). Los programadores del proyecto número 1 eran cuentas privilegiadas, equivalentes a la cuenta única "raíz" en los sistemas Unix, excepto que los números de cuenta [1,0] a [1,254] ​​eran todas cuentas privilegiadas. Después del lanzamiento de la Versión 9, el administrador de sistemas podría 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 bibliotecas 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 .xt Tamaño Prot Fecha SY: [0,1]BADB .SYS 0P <63> 06-Jun-98 Lista de bloques defectuosos
SATT .SYS 3CP <63> 06-Jun-98 Mapa de bits del almacenamiento en disco asignado
INIT .SYS 419P <40> 06-Jun-98 Programa de carga del sistema operativo
ERR .ERR 16CP <40> 06-Jun-98 Mensajes de error del sistema
RSTS .SIL 307CP <60> 06-Jun-98 Sistema operativo en sí
BASIC .RTS 73CP <60> 06-Jun-98 Sistema de tiempo de ejecución BASIC-PLUS
RT11 .RTS 20C <60> 06-Jun-98 Sistema de tiempo de ejecución RT-11
SWAP .SYS 1024CP <63> 06-Jun-98 Archivo de intercambio del sistema
CRASH .SYS 35CP <63> 06-Jun-98 Volcado por caída del sistemaRSX .RTS 16C <60> 23-Sep-79 Sistema de tiempo de ejecución RSX-11
TECO .RTS 39C <60> 24-Sep-79 Editor de texto TECOTotal de 1952 bloques en 11 archivos en SY: [0,1]( Nota del editor: esta lista de directorios es anterior a la Versión 9. )

El comando DIR es un CCL instalado equivalente a un comando RUN para el programa DIRECT. [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, 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 ha desfragmentado una unidad), mientras que "P" indica que está especialmente protegido (no puede ser eliminado, 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 normal dando ellos 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 que no se puede eliminar y el 40 es un archivo público.

Los archivos de la biblioteca se guardan en la cuenta [1,1] y generalmente se hace referencia a ellos con el nombre lógico LB :. La cuenta [1,2] es la cuenta de inicio del sistema (muy parecido a un sistema Unix que se inicia bajo la raíz), y contiene el sistema CUSPS al que se podría hacer referencia anteponiendo el nombre CUSP con un 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 conectado con esa cuenta puede ejecutar la llamada al sistema POKE para poner valores en cualquier memoria del sistema. Por tanto, el número de cuenta [1,1] es el equivalente más cercano a "root" en los sistemas basados ​​en Unix.

Entornos de tiempo de ejecución [ editar ]

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 programar en BASIC-PLUS, el BASIC-Plus-2 mejorado y en lenguajes de programación más tradicionales como COBOL y FORTRAN . Estos entornos estaban separados entre sí, de modo que se podía iniciar un programa desde un entorno y el sistema cambiaba a un entorno diferente mientras se ejecutaba un programa diferente, y luego devolvía al usuario al entorno original con el que comenzó. Estos entornos se denominaron 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 con qué RTS comenzaría el sistema, y ​​tenía que ser uno que ejecutara programas compilados.

Un administrador de sistemas también puede instalar comandos CCL especiales , que tienen prioridad sobre todos los comandos KBM (con la excepción de DCL ). Una CCL es análoga 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 durante el inicio o dinámicamente mientras el sistema está funcionando por el administrador del sistema (es decir, no es permanente como un archivo de disco).

Cuando está conectado, un usuario puede "CAMBIAR" a cualquiera de estos entornos, escribir declaraciones de lenguaje en el lenguaje de programación BASIC-PLUS, emitir comandos RUN a programas específicos o emitir 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 la opción de estado de una línea "Control-T" que podía decirle al usuario qué programa estaban ejecutando, bajo qué RTS estaba usando el programa, cuánta memoria ocupaba el programa, cuánto podía expandir y cuánta memoria estaba usando el RTS .

BASIC-PLUS [ editar ]

Los programas escritos en BASIC-PLUS se ejecutaron bajo el BASIC RTS , lo que les permitió hasta 32K bytes de memoria (de un total de 64K). Se interpretó el lenguaje, cada palabra clave diferente se convirtió internamente en un código de bytes ú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 interactivo SAVE, el BASIC Plus RTS simplemente guardó el área de la memoria de trabajo en un archivo de disco con una extensión ".BAC". 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) desarrolló un descompilador que podrí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 funcionaron posteriormente para DEC). El resto de la memoria fue utilizado por el mismo BASIC RTS . Si uno escribiera programas en un lenguaje que permitiera verdaderos ejecutables binarios como BASIC-Plus-2, FORTRAN-IV o Macro Assembler, entonces la cantidad de memoria disponible sería 56K (8K asignados al RTS ). El mensaje estándar de BASIC-PLUS es la respuesta "Listo" (ejemplo):

nuevo Nuevo nombre de archivo - HWORLD  Listo10 Imprima "Hola mundo" 20 Ingrese "Presione Control-T para el estado de 1 línea:" ; un $ 30 de Fin plazo HWORLD 10 : 17 PM 01 - Ene -08 Hola Mundial de Prensa de control - T de 1 línea de estado: ? 1 KB0 HWORLD + BÁSICO KB ( 0 R ) 2 ( 16 ) K + 14 K 0,2 ( +                    0.0 ) + 0 ListoahorrarListocompilarListoDIR HWORLD . * / Na / ex / si / pr SY: [ 1 , 2 ] HWORLD . BAS 1 < 60 > HWORLD . BAC 7 C < 124 >      Total de 8 bloques en 2 archivos en SY: [ 1 , 2 ]        Listo

DCL (lenguaje de comandos digitales) [ editar ]

A partir de la Versión 9, DCL se convirtió en el RTS de inicio principal aunque no tiene la capacidad de ejecutar programas binarios. Esto se hizo posible con el advenimiento del RSX RTS que desapareció (ver más abajo). DCL se incorporó a todas las versiones recientes de los sistemas operativos de DEC (RSX-11, RT-11, VMS y posterior OpenVMS ) para compatibilidad. El indicador DCL estándar es el signo de dólar "$" (ejemplo):

$ escribe 0  "Hola mundo, es" + F $ HORA () Hola mundo, es 01-Ene-08 10:20 PM $ inquire p1 "Presiona Control-T para el estado de 1 línea:" Presiona Control-T para 1 estado de línea: 1 KB0 DCL + DCL KB (0R) 4 (8) K + 24K 0.1 (+0.1) -8 $ establecer verificar / depurar / mirar $ mostrar memoria (mostrar memoria) (SYSTAT / C)Tabla de asignación de memoria: Inicio Fin Longitud Permanente Temporal  0K - 85K (86K) MONITOR  86K - 1737K (1652K) (Usuario) 1738K - 1747K (10K) (Usuario) DAPRES LIB 1748K - 1751K (4K) (Usuario) RMSRES LIB 1752K - 2043K (292K) ** XBUF ** 2044K - *** FIN *** $

RSX (eXecutivo del sistema en tiempo real) [ editar ]

Los programas que se escribieron para RSX RTS como COBOL, Macro Assembler o versiones posteriores de BASIC-Plus-2, podrían utilizar 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 usar por sí mismo). RSTS Versión 7 y posteriores permitieron que RSX RTS se incluyera en el kernel, haciéndolo "desaparecer" completamente del espacio de direcciones de usuario, permitiendo así 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 complicadas estrategias de superposición o llamando a otros programas ("Encadenamiento") y pasándoles comandos en un área de memoria compartida llamada "Core Common", entre otras prácticas. Cuando RSX es el KBM predeterminado , el indicador RSX estándar (tanto conectado como desconectado) es el signo ">" (o MCR "Monitor Console Routine") (ejemplo):

> ejecutar Por favor escriba HOLA > HOLA 1,2; SECRETO > ejecutar ? > ayuda Los comandos de teclado válidos son:ASIGNAR DESMONTAJE AYUDAR EJECUTAR DESGUARDAR ADIÓS SALIR MONTAR APAGAR DESIGNAR HOLA REASIGNAR INTERRUPTOR> ejecutar CSPCOM CSP> HWORLD = HWORLD CSP> ^ Z > RUN TKB TKB> HWORLD = HWORLD, LB: CSPCOM.OLB / LB TKB> // > ejecutar HWORLD.TSK Hello World Presione Control-T para el estado de 1 línea:? 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 1 <60> HWORLD.BAC 7C <124> HWORLD.OBJ 2 <60> HWORLD.TSK 25C <124>Total de 35 bloques en 4 archivos en SY: [1,2]>

RT-11 [ editar ]

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 8K superiores de memoria, dejando los 56K inferiores para CUSPS , programas escritos en FORTRAN-IV o Macro Assembler. Cuando RT-11 es el KBM predeterminado , el indicador RT-11 estándar (tanto conectado como desconectado) es "." signo (ejemplo):

.VERSIÓNPor favor escriba HOLA.HOLA 1,2; SECRETO.VERSIÓNRT-11SJ V3-03; RSTS / E V8.0.R PIP* HWORLD.MAC = KB: .MCALL .TTYIN, .PRINT, .EXITHWORLD: .ASCII / Hola Mundo / <15> <12> .ASCIZ / Presione Control-T para el estado de 1 línea: / .INCLUSOInicio: .PRINT #HWORLD .TTYIN .SALIDA .END INICIO^ Z* ^ Z.R MACROHWORLD = HWORLD* ^ Z.R ENLACE* HWORLD = HWORLD* ^ Z.R HWORLD.SAVHola MundoPresione Control-T para el estado de 1 línea: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 <60>HWORLD.BAC 7C <124>HWORLD.TSK 25C <124>HWORLD.MAC 1 <60>HWORLD.OBJ 1 <60>HWORLD.SAV 2C <124>Total de 37 bloques en 6 archivos en SY: [1,2].

TECO (Editor de texto y corrector) [ editar ]

El propio 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 propósito general (RSX y RT11). TECO fue el único RTS distribuido con RSTS que no contenía un KBM integrado. 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 utilizaban CCL para crear un archivo (especificación de archivo MAKE), editar un archivo (especificación de archivo TECO) o ejecutar un programa TECO (especificación de archivo MUNG, datos). El siguiente programa es un ejemplo de cómo se podría utilizar TECO para calcular pi (actualmente establecido en 20 dígitos): [19]

Listoejecutar TECO* GZ0J \ UNQN "E 20UN 'BUH BUV HKQN <J BUQ QN * 10 / 3UIQI <\ + 2 * 10 + (QQ * QI) UABLK QI * 2-1UJ QA / QJUQQA- (QQ * 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 $$31415926535897932384Listo

Huevos de Pascua de RSTS [ editar ]

Inicio del sistema (INIT.SYS) [ editar ]

Si un usuario escribía un comando no reconocido en el inicio del sistema en el indicador "Option:" de INIT.SYS, la utilidad de inicio, se mostraba el mensaje "Escriba 'HELP' para obtener ayuda". Si el usuario posteriormente escribió 'AYUDA' (incluidas las comillas) en el mensaje, la respuesta fue "Qué divertido, de todos modos ..." seguido del mensaje de ayuda real.

Luces de la consola PDP-11 [ editar ]

Una de las características agradables que un administrador de sistema podía compilar en el kernel era un patrón de pantalla giratorio que daba la ilusión de que dos serpientes se perseguían entre sí alrededor de las luces de la consola. El kernel normal daría la ilusión de 1 serpiente moviéndose de derecha a izquierda en las luces de datos en la parte inferior. Si el administrador del sistema también compiló el módulo de objeto "luces", 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 parecería como si 2 serpientes estuvieran jugando al pollo y se encontraran entre sí en el centro de la consola.

Huevo de pascua de Teco [ editar ]

El comando 'hacer' permitía al usuario crear un archivo de texto e ingresar automáticamente al editor de texto TECO. Si un usuario escribía "hacer el amor", el sistema creaba un archivo llamado "amor" y volvía a escribir "¿No es guerra?"

Abrir lista de archivos [ editar ]

Kevin Herbert, que más tarde trabajó para DEC, agregó una función indocumentada en los años 90 para permitir que un usuario ingresara ^ F para ver una lista de archivos abiertos que tenía el proceso del usuario, completa con bloques en uso y tamaños de archivo.

Fecha estelar [ editar ]

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 ahora 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 [ editar ]

System Industries compró la única licencia de origen para RSTS para implementar una mejora llamada SIMACS (ACceS de máquina simultánea), que permitió que su controlador de disco especial estableciera una bandera de semáforo para el acceso al disco, permitiendo múltiples ESCRITURAS a los mismos archivos en un sistema RSTS donde el disco es compartido por múltiples sistemas RSTS PDP-11. Esta característica se implementó en los controladores de System Industries que estaban conectados a muchas computadoras DEC y diseñados por el Dr. Albert Chu mientras trabajaba en System Industries.

Esto requirió muchos cambios en la forma en que el sistema operativo RSTS logró el acceso a los discos. El sistema FIPS (File Information Processing System), que manejaba el acceso de E / S, era de un solo subproceso en RSTS. Para permitir que el acceso a un disco se detenga mientras otra máquina tenía acceso activo a un bloque, se requería que el FIPS pudiera agotar el tiempo de espera de una solicitud, ir a la siguiente solicitud y "regresar" a la que se detuvo en forma rotatoria. El código para permitir esto fue escrito por Philip Hunt mientras trabajaba en System Industries, en Milipitas, CA. Finalmente trabajó para Digital Equipment en el área de Nueva Inglaterra a finales de los 80 y principios de los 90.

Emulaciones RSTS [ editar ]

ROSS / V [ editar ]

En 1981, Evans Griffiths & Hart comercializan la ROSS / V producto. ROSS / V permitió a todos los procesos de modo de usuario de RSTS ( CUSPS , RTS sy programas de usuario) la capacidad de ejecutarse sin modificaciones bajo VMS en las máquinas VAX-11. El código para esta emulación maneja todos los procesos del kernel que normalmente serían manejados por un kernel RSTS ejecutándose en un PDP-11. Evans Griffiths & Hart, Inc. subcontrató el lenguaje BASIC-PLUS original que se ha extendido a todas las versiones de RSTS por un precio fijo de $ 10,500. [20]

Otros emuladores de PDP-11 [ editar ]

RSTS y sus aplicaciones pueden ejecutarse bajo cualquier emulador PDP-11. Para obtener más información, consulte PDP-11

Mascota RSTS [ editar ]

Spike y Albert [ editar ]

Versiones [ editar ]

RSTS originalmente se llamó BTSS (Basic Time Sharing System). Antes del envío comenzó en realidad, el nombre fue cambiado de BTS a RTSS porque un producto llamado BTS ya estaba siendo comercializado por Honeywell . Un simple error de escritura cambió el nombre de RTSS a RSTS. [20]

La adición de un nuevo soporte de administración de memoria y la capacidad de instalar más memoria en los modelos PDP-11/40 y PDP-11/45 llevaron a otro cambio de nombre: RSTS-11 ahora se convirtió en RSTS / E.

Clones en la URSS [ editar ]

  • DOS-KP ("ДОС-КП")

Aplicaciones [ editar ]

Informáticos oficinas veces desplegados por el usuario 11 para RSTS / E basado en la gestión de datos . [22]

Ver también [ editar ]

  • Trampa del sistema asincrónico
  • BÁSICO-Plus-2
  • Lenguaje de comandos conciso
  • DATATRIEVE
  • DECnet
  • Panel frontal
  • Kevin Mitnick
  • Transporte de área local
  • Técnica de depuración octal
  • QIO
  • Servicios de gestión de registros
  • Sistema de tiempo de ejecución
  • SYSTAT (comando)
  • Tiempo compartido
  • Evolución del sistema de tiempo compartido

Referencias [ editar ]

  1. ^ "Mentec - RSTS / E Versión 10.1 Manual de estructuras de datos e internos" . Consultado el 7 de noviembre de 2017 .
  2. ↑ a b Clare P. Fleig (marzo de 1983). "Evans, Griffiths y Hart". Copia impresa . págs. 51–54.
  3. ^ "Historia de la empresa EGH" .
  4. ^ http://elvira.stacken.kth.se/rsts/rsts_80th_birthday.html
  5. ^ https://archive.org/stream/bitsavers_decpdp11rsTSmgr73_10840398/DEC-11-ORSMA-B-D_RSTSmgr_73_djvu.txt
  6. ^ ftp://bitsavers.informatik.uni-stuttgart.de/pdf/dec/pdp11/rsts/V07.2/AA-5246E-TC_RSTS_E_V7.2_Release_Notes_Jun82.pdf
  7. ^ ftp://bitsavers.informatik.uni-stuttgart.de/pdf/dec/pdp11/rsts/V09/7_MACRO_Programming/AA-EZ10A-TC_RSTS_E_V9.0_System_Directives_Manual_Jun85.pdf
  8. ^ a b http://bitsavers.informatik.uni-stuttgart.de/pdf/dec/pdp11/rsts/V09/2_System_Mangement/AA-2762G-TC_RSTS_E_V9.7_System_Managers_Guide_Jul89.pdf
  9. ^ http://www.decodesystems.com/dec-product-timeline.html
  10. ^ ftp://bitsavers.informatik.uni-stuttgart.de/pdf/dec/pdp11/rsts/V10/AA-EX13C-TC_RSTS_E_V10_Quick_Reference_Aug90.pdf
  11. ^ Dick, P: "La historia de RSTS: un apéndice", página 25. "La revista profesional VAX / RSTS" 1 de febrero de 1984, Vol 6, No 1, ISSN 0746-1909
  12. ^ a b c d e Dick, P: "La historia de RSTS", páginas 24-26. "The RSTS Professional Magazine" 1 de junio de 1983, Vol 5, No 3, ISSN 0745-2888
  13. ^ Mayfield, M: "Componentes internos del monitor RSTS / E", página 1-9.
  14. ^ Mayfield, M: "Componentes internos del monitor RSTS / E", página 1-4.
  15. ^ Marbach, C: "RSTS y el Micro-11", página 50. "La revista profesional VAX / RSTS" 1 de agosto de 1983, Vol 5, No 4, ISSN 0745-2888
  16. ^ Romanello, G: "A Preview of RSTS / E Version 9.0", página 28. "The VAX / RSTS Professional Magazine" 1 de diciembre de 1984, Vol 6, No 6, ISSN 0746-1909
  17. ^ "PDP-11 RSX RT RSTS Emulador Osprey Charon" . archive.org . 13 de agosto de 2006. Archivado desde el original el 13 de agosto de 2006 . Consultado el 26 de diciembre de 2016 .CS1 maint: bot: estado de URL original desconocido ( enlace )
  18. ^ Vea, por ejemplo, esta imagen de las cintas de instalación RSTS / E 7.0: http://simh.trailing-edge.com/kits/rstsv7gen.tar.Z
  19. ^ Greenspon, M: "The RSTS Crystal Ball - Part 3", página 12. The RSTS Professional Magazine , 1 de octubre de 1982, Vol 4, No 5
  20. ^ a b "80 cumpleaños de RSTS" . silverware.co.uk . Consultado el 26 de diciembre de 2016 .
  21. ^ http://www.project-delta.net/teresa.html
  22. ^ "La ayuda a la productividad reemplaza el código Cobol de la Oficina" . Computerworld : 40. 18 de julio de 1983 . Consultado el 26 de diciembre de 2011 . User-11 [...] un sistema de gestión de datos para (DEC) PDP-11 que se ejecutan bajo el sistema operativo RSTS / E [...]

Enlaces externos [ editar ]

  • Elvira en el Royal Institute of Technology de Estocolmo, Suecia
  • Sitio de RSTS para aficionados
  • Página web de SimH
  • Bruja de Wofford