RT-11 ( Tiempo real 11 ) es un sistema operativo en tiempo real para un solo usuario , pequeño , de gama baja y descontinuado para la línea completa de computadoras PDP-11 de 16 bits de Digital Equipment Corporation . RT-11 se implementó por primera vez en 1970. Se utilizó ampliamente para sistemas informáticos en tiempo real , control de procesos y adquisición de datos en todos los PDP-11. También se utilizó para informática de uso general de bajo costo. [2]
RT-11 fue escrito en lenguaje ensamblador . El uso intensivo de las funciones de ensamblaje condicional y programación de macros del ensamblador MACRO-11 permitió un grado significativo de configurabilidad y permitió a los programadores especificar instrucciones de alto nivel que de otro modo no se proporcionarían en el código de máquina. Las distribuciones RT-11 incluían el código fuente del sistema operativo y sus controladores de dispositivo con todos los comentarios eliminados y un programa llamado "SYSGEN" que construiría el sistema operativo y los controladores de acuerdo con una configuración especificada por el usuario. La documentación del desarrollador incluía una lista del kernel que incluía comentarios.
En RT-11, los controladores de dispositivo [3] [4] se podían cargar, excepto que antes de V4.0, el controlador de dispositivo para el dispositivo del sistema (dispositivo de arranque) estaba integrado en el kernel en el momento de la configuración. Debido a que RT-11 se usaba comúnmente para el control de dispositivos y la adquisición de datos, era común que los desarrolladores escribieran o mejoraran los controladores de dispositivos. DEC fomentó dicho desarrollo de controladores haciendo que sus subsistemas de hardware (desde la estructura del bus hasta el código) fueran abiertos, documentando los componentes internos del sistema operativo, alentando a terceros proveedores de hardware y software y fomentando el desarrollo de la Sociedad de Usuarios de Computadoras de Equipos Digitales .
Los sistemas RT-11 no admitían la multitarea preventiva , pero la mayoría de las versiones podían ejecutar múltiples aplicaciones simultáneas. Todas las variantes de los monitores proporcionaron un trabajo en segundo plano . Los monitores FB, XM y ZM también proporcionaron un trabajo en primer plano y seis trabajos del sistema si se seleccionaban mediante el programa de generación del sistema SYSGEN . Estas tareas tenían prioridades fijas , con el trabajo en segundo plano más bajo y el trabajo en primer plano más alto. Era posible cambiar entre trabajos desde la interfaz de usuario de la consola del sistema y SYSGEN podía generar un monitor que proporcionaba un único trabajo en segundo plano (las variantes SB, XB y ZB). [2] Los términos primer plano y fondo son contrarios a la intuición; el trabajo en segundo plano era normalmente el intérprete de línea de comandos del usuario ; un trabajo en primer plano podría consistir en algo así como una recopilación de datos no interactiva.
Los usuarios generalmente operaban el RT-11 a través de un terminal de impresión o un terminal de video , originalmente a través de un bucle de corriente seleccionable con correa (para teletipos convencionales) o mediante una interfaz RS-232 (más tarde también RS-422 ) en una de las tarjetas de CPU. ; DEC también admitía los dispositivos de visualización de gráficos VT11 y VS60 ( terminales de gráficos vectoriales con un generador de caracteres gráficos para mostrar texto y un lápiz óptico para entrada gráfica). Un favorito de terceros fue la familia Tektronix 4010 .
El Monitor de teclado (KMON) interpretaba los comandos emitidos por el usuario e invocaba varias utilidades con formas de intérprete de cadenas de comandos (CSI) de los comandos. El lenguaje de comandos RT-11 tenía muchas características (como comandos y nombres de dispositivos) que se pueden encontrar más adelante en la línea de sistemas operativos DOS que tomó prestado en gran medida del RT-11. El CSI forma los nombres y opciones de archivos de entrada y salida esperados ('conmutadores' en RT-11) en un orden y sintaxis precisos. Los modificadores de la línea de comandos estaban separados por una barra diagonal ( ) en lugar del guión ( ) utilizado en los sistemas operativos tipo Unix . Todos los comandos tenían una forma completa y otra corta a la que podían contratarse. Por ejemplo, el comando RENAME podría contraerse a REN ./
-
Los archivos por lotes y el procesador por lotes podrían usarse para emitir una serie de comandos con un flujo de control rudimentario . Los archivos por lotes tenían la extensión .BAT.
En versiones posteriores de RT-11, era posible invocar una serie de comandos utilizando un archivo de comandos .COM, pero se ejecutaban en secuencia sin control de flujo. Incluso más tarde, fue posible ejecutar una serie de comandos con gran control mediante el uso del Procesador de archivos de comandos indirectos (IND), que tomaba archivos de control .CMD como entrada.
Los archivos con la extensión .SAV eran una especie de ejecutables. Se les conocía como "archivos guardados" porque el comando RT-11 SAVE podía usarse para guardar el contenido de la memoria en un archivo de disco que podía cargarse y ejecutarse más adelante, permitiendo guardar cualquier sesión.
El comando GUARDAR, junto con GET, START , REENTER, EXAMINE y DEPOSIT fueron comandos básicos implementados en el KMON. Algunos comandos y utilidades se tomaron prestados posteriormente en la línea de sistemas operativos DOS . Estos comandos incluyen DIR , COPIAR , RENOMBRE , ASIGNAR , CLS , ELIMINAR , TIPO , AYUDA y otros. El comando FORMAT se utilizó para formatear el disco físico, aunque no era capaz de crear un sistema de archivos, para lo cual se utilizó el comando INIT (análogo al comando FORMAT /Q de DOS). La mayoría de los comandos admitían el uso de comodines en los nombres de archivos.
Los nombres de los dispositivos físicos se especificaron en el formato 'dd{n}:' donde 'dd' era un nombre de dispositivo alfabético de dos caracteres y la 'n' opcional era el número de unidad (0–7). Cuando se omitió el número de unidad, se asumió la unidad 0. Por ejemplo, TT: referido al terminal de consola, LP: (o LP0:) referido a la impresora de líneas paralelas, y DX0:, DY1:, DL4: referido a volúmenes de disco (RX01 unidad 0, RX02 unidad 1, RL01 o RL02 unidad 4, respectivamente). Los nombres de dispositivos lógicos constaban de entre 1 y 3 caracteres alfanuméricos y se utilizaban en lugar de un nombre de dispositivo físico. Esto se logró usando el ASSIGN
comando. Por ejemplo, se podría producir un ASSIGN DL0 ABC
problema que provocaría que todas las referencias futuras a 'ABC:' se asignaran a 'DL0:'. Nombre lógico reservado DK: referido al dispositivo predeterminado actual. Si un dispositivo no estaba incluido en una especificación de archivo, se suponía DK:. Nombre lógico reservado SY: referido al dispositivo del sistema (el dispositivo desde el que se inició el sistema).
Las versiones posteriores de RT-11 permitieron la especificación de hasta 64 unidades (0 a 77 octales) para ciertos dispositivos, pero el nombre del dispositivo aún estaba limitado a tres caracteres alfanuméricos. Esta característica se habilitó mediante una selección de SYSGEN y solo se aplicó a los controladores de dispositivos DU y LD. En estos dos casos, el formato del nombre del dispositivo pasó a ser 'dnn:' donde 'd' era 'D' para el dispositivo DU y 'L' para el dispositivo LD, y 'nn' era 00–77 (octal).
RT-11 se distribuyó con utilidades para realizar muchas acciones. Las utilidades DIR , DUP , PIP y FORMAT eran para administrar volúmenes de disco. TECO , EDIT y los editores visuales KED (para DEC VT100 ) y K52 (para DEC VT52 ) se utilizaron para crear y editar archivos fuente y de datos. MACRO , LINK y LIBR fueron para crear ejecutables. Se utilizaron ODT , VDT y el dispositivo SD para depurar programas. La versión de DEC de Runoff [5] era para producir documentos. Finalmente, VTCOM se utilizó para conectarse y usar (o transferir archivos hacia y desde) otro sistema informático por teléfono a través de un módem.
El sistema era lo suficientemente completo como para manejar muchas tareas informáticas personales modernas. El software de productividad como LEX-11, un paquete de procesamiento de textos y una hoja de cálculo de Saturn Software, utilizados en otros sistemas operativos PDP-11, también se ejecutaron en RT-11. [6] La Sociedad de Usuarios de Computadoras de Equipos Digitales (DECUS) disponía de grandes cantidades de software gratuito aportado por los usuarios para RT-11, incluida una implementación de C. Aunque se proporcionaron las herramientas para desarrollar y depurar programas en lenguaje ensamblador, DEC ofrecía otros lenguajes como C, Fortran , Pascal , [7] y varias versiones de BASIC como "productos en capas" a un costo adicional. Las versiones de estos y otros lenguajes de programación también estaban disponibles en otras fuentes de terceros. Incluso es posible conectar en red máquinas RT-11 utilizando DECNET , Internet y protocolos desarrollados por otras fuentes de terceros.
El sistema operativo RT-11 podría iniciarse y realizar un trabajo útil en una máquina que consta de dos disquetes de 250 KB de 8 pulgadas y 56 KB de memoria, y podría admitir 8 terminales. Otras opciones de arranque incluyen el disco duro extraíble RK05 de 2,5 MB o la cinta magnética . Las distribuciones estaban disponibles preinstaladas o en cinta perforada , cinta magnética, cinta de cartucho o disquete. Un sistema mínimo pero completo que admita un único usuario en tiempo real podría ejecutarse en un solo disquete y en 8K palabras de 16 bits (16 KB) de RAM, incluidos los programas de usuario. Esto fue facilitado por el soporte para intercambio y superposición. Para realizar la operación en un sistema de memoria tan pequeño, la interfaz de usuario de comando del teclado se cambiaría durante la ejecución de un programa de usuario y luego se cambiaría a la memoria al finalizar el programa. El sistema soportaba reloj en tiempo real , terminal de impresión, unidad gráfica vectorial VT11, conversor A/D de 16 canales a 100 kHz con D/A de 2 canales, puerto serie de 9600 baudios, placas bidireccionales de 16 bits, etc.
RT-11 implementó un sistema de archivos simple y rápido que emplea nombres de archivos de seis caracteres con extensiones de tres caracteres (6.3) codificados en RADIX-50 , que empaqueta esos nueve caracteres en solo tres palabras de 16 bits (seis bytes). Esto dio como resultado que los caracteres de nombre de archivo permitidos fueran 'A'-'Z', 'a'-'z' forzados a mayúsculas, '0'-'9', '$', '%', '*'. Los nombres de archivos pueden tener el prefijo de un nombre de dispositivo para especificar un dispositivo diferente al DK predeterminado: dispositivo, también codificado en RADIX-50.
Todos los archivos eran contiguos, lo que significa que cada archivo ocupaba bloques consecutivos (la unidad de almacenamiento en disco mínimamente direccionable, 512 bytes) en el disco. Esto significaba que se podía leer (o escribir) un archivo completo muy rápidamente. Un efecto secundario de esta estructura de sistema de archivos fue que, a medida que los archivos se creaban y eliminaban en un volumen con el tiempo, los bloques de disco no utilizados probablemente no permanecerían contiguos , lo que podría convertirse en el factor limitante en la creación de archivos grandes; el remedio era “apretar” (o “aplastar”) periódicamente un disco para consolidar las porciones no utilizadas. [8] [9]
Cada volumen tiene solo un directorio que fue preasignado al comienzo del volumen. El directorio consta de una serie de entradas, una por archivo o espacio no asignado. Cada entrada de directorio tiene 8 (o más) palabras de 16 bits, aunque una opción sysgen permitía almacenamiento adicional específico de la aplicación. [10]
Muchos programas RT-11 (aquellos que no necesitaban periféricos especializados o acceso directo al hardware) podían ejecutarse directamente utilizando el RT=11 RTS ( sistema de tiempo de ejecución ) del sistema de tiempo compartido RSTS/E o bajo RTEM (emulador RT). en varias versiones de RSX-11 y VMS .
La implementación de DCL para RT-11 aumentó su compatibilidad con los otros sistemas operativos DEC. Aunque cada sistema operativo tenía comandos y opciones que eran exclusivos de ese sistema operativo, había una serie de comandos y opciones de comandos que eran comunes.
DEC también vendió RSX-11 , un sistema operativo multiusuario y multitarea con funciones de tiempo real, y RSTS/E (originalmente llamado RSTS-11), un sistema de tiempo compartido multiusuario, pero RT-11 siguió siendo el sistema operativo elegido para los sistemas de adquisición de datos donde Se requería respuesta en tiempo real. El sistema operativo Unix también se hizo popular, pero carecía de las funciones de tiempo real y del tamaño extremadamente pequeño del RT-11.
RT-11 se ejecutó en todos los miembros de la familia DEC PDP-11, tanto Q-Bus como Unibus , desde el PDP-11/05 (su primer objetivo, en 1970 (tenga en cuenta que el PDP-11/05 fue lanzado 1972, por lo que probablemente fue un PDP-11/20)), hasta las implementaciones finales del PDP-11 (PDP-11/93 y /94). Además, corrió en los sistemas Professional Series y PDT-11 "Programmed Data Terminal", también de DEC. Dado que la arquitectura PDP-11 fue implementada en productos de reemplazo por otras compañías (por ejemplo, el M100 y su familia de Mentec ), o como clones de ingeniería inversa en otros países (por ejemplo, el DVK de la Unión Soviética), RT-11 se ejecuta en estas máquinas también.
Agregar compatibilidad con controladores para periféricos como un trazador CalComp , [11] normalmente implicaba copiar archivos y no requería un SYSGEN. [2]
Fuzzball , software de enrutamiento para Protocolos de Internet , era capaz de ejecutar programas RT-11. [12]
HAMMONDsoftware distribuyó varios sistemas operativos compatibles con RT-11, incluido STAReleven, uno de los primeros sistemas multicomputadores y SHAREplus, una implementación multiproceso/multiusuario de RT-11 que tomó prestados algunos conceptos arquitectónicos del sistema operativo VAX /VMS . Se requerían controladores de dispositivo RT-11 para su funcionamiento. El acceso transparente del dispositivo a otros PDP-11 y VAX/VMS se admitió con una opción de red. También estaba disponible la compatibilidad limitada con la aplicación RSX-11 . SHAREplus tenía su base de usuarios más sólida en Europa.
TSX-11 , [13] desarrollado por S&H Computing, era una implementación multiusuario y multiprocesamiento de RT-11. Lo único que no hizo fue manejar el proceso de inicio, por lo que cualquier máquina TSX-Plus debía iniciar RT-11 primero antes de ejecutar TSX-Plus como programa de usuario. Una vez que TSX-Plus estuviera en funcionamiento, tomaría el control total de la máquina del RT-11. Proporcionó una verdadera protección de la memoria para los usuarios de otros usuarios, proporcionó cuentas de usuario y mantuvo la separación de cuentas en volúmenes de disco e implementó un superconjunto de solicitudes programadas RT-11 EMT.
S&H escribió el TSX original porque "Gastar 25.000 dólares en una computadora que sólo podía soportar a un usuario molestaba [al fundador Harry Sanders]"; el resultado fue el TSX inicial para cuatro usuarios en 1976. [14] TSX-Plus (lanzado en 1980) fue el sucesor del TSX, lanzado en 1976. [14] El sistema fue popular en la década de 1980. Los programas RT-11 generalmente se ejecutaban, sin modificaciones, bajo TSX-Plus y, de hecho, la mayoría de las utilidades RT-11 se usaban tal cual bajo TSX-Plus. Los controladores de dispositivos generalmente requerían sólo ligeras modificaciones.
Dependiendo del modelo de PDP-11 y de la cantidad de memoria, el sistema podría admitir un mínimo de 12 usuarios [14] (14-18 usuarios en un 11/73 de 2 Mb, dependiendo de la carga de trabajo). [15] La última versión de TSX-Plus tenía soporte TCP/IP .
Los usuarios pueden elegir entre variantes con diferentes niveles de soporte para multitarea , tamaño de memoria y espacio de direcciones de I y D (instrucciones y datos) separados:
Se vendieron varios sistemas PDP-11 especializados basados en RT-11:
En la URSS se fabricaron varios clones del RT-11:
Comprima el volumen usando el comando SQUEEZE del monitor
El comando SQUEEZE consolida en una sola área todos los no utilizados...
tiempo compartido eficiente y de uso general para hasta 20 usuarios el 23/11 y el 34/11 según...