PRIMOS es un sistema operativo descontinuado desarrollado durante la década de 1970 por Prime Computer para sus sistemas de minicomputadoras . Rápidamente ganó popularidad y, a mediados de la década de 1980, era un serio competidor como sistema operativo principal para minicomputadoras.
Con la llegada de las PC y el declive de la industria de las minicomputadoras, Prime fue expulsado del mercado a principios de la década de 1990 y, a fines de 2010, las marcas comerciales de PRIME [1] y PRIMOS [2] ya no existían. [3]
Prime también había ofrecido un sistema operativo personalizable en tiempo real llamado RTOS. [4]
Una característica de PRIMOS era que, al igual que UNIX , estaba escrito en gran medida en un lenguaje de alto nivel [5] (con funciones de biblioteca en lenguaje ensamblador invocables disponibles). Al principio, este lenguaje era FORTRAN IV, [6] lo cual era una elección extraña desde un punto de vista puramente informático : sin punteros , sin tipo de cadena nativa , etc. [7] [8] FORTRAN era, sin embargo, el lenguaje más conocido por Los ingenieros y los ingenieros eran un gran mercado para Prime en sus primeros años.
La inusual elección de FORTRAN como lenguaje de programación del sistema operativo tuvo que ver con las personas que fundaron Prime. Habían trabajado para Honeywell en un proyecto de la NASA . [9] FORTRAN era el lenguaje que habían utilizado tanto en la NASA como, para muchos de ellos, en el MIT . Esta conexión con Honeywell se extendió hasta el punto de que las computadoras Prime originales eran compatibles con las minicomputadoras Honeywell Serie 16.
Honeywell, en ese momento, no estaba interesado en las minicomputadoras, por lo que dejaron y fundaron Prime, "llevando" el código con ellos. [10] Desarrollaron hardware optimizado para ejecutar FORTRAN, incluidas instrucciones de máquina que implementaron directamente la distintiva operación de rama de 3 vías de FORTRAN .
Dado que el hardware de Prime no realizaba direccionamiento de bytes, no hubo ningún impulso para crear un compilador de C. Los últimos modelos de hardware finalmente se modificaron para admitir el modo I y los programas se compilaron en C.
Más tarde, en la versión 16, una versión de PL/1 , llamada PL/P , se convirtió en el lenguaje de alto nivel elegido dentro de PRIMOS, y los lenguajes PL/P y, más tarde, Modula-2 , se usaron en el Kernel. Además, algunas utilidades PRIMOS nuevas se escribieron en SP/L, que era similar a PL/P.
El código fuente de PRIMOS estaba disponible para los clientes [4] [11] y, gracias a FORTRAN y PL/P, los clientes podían modificar PRIMOS razonablemente según fuera necesario. Por ejemplo, alrededor de 1990, la Universidad de Salford en el Reino Unido modificó PRIMOS que se ejecutaba en sus cinco sistemas 9955 para que los estudiantes universitarios ya no pudieran usar el comando MESSAGE, que envolvía la llamada PRIMOS SMSG$(), para enviar mensajes a otros estudiantes universitarios. , porque el "chatear" en línea usando ese comando se estaba volviendo común, ocupando terminales del limitado grupo disponible. Enviar mensajes usando ese comando era similar a los mensajes de texto SMS actuales, excepto que se podía enviar un máximo de 80 caracteres por mensaje.
Las primeras versiones de PRIMOS (revisión 6) se llamaban originalmente DOS (PRIMOS 2) y más tarde DOSVM (PRIMOS 3), pero a partir de PRIMOS 4, en el sistema P400, PRIMOS fue el nombre que se mantuvo. [5] Hubo muchos lanzamientos importantes de PRIMOS. La última revisión oficial (24.0.0.R52) se publicó el 3 de julio de 1997. En ese momento, una empresa llamada Peritus (que empleaba a varios ex ingenieros de Prime) mantenía PRIMOS.
A partir de la Revisión 19, la mayor parte de PRIMOS se escribieron en los lenguajes SPL y Modula-2 ; el uso de Prime Macro Assembler _(PMA), FORTRAN IV y PL/P disminuyó considerablemente en esta época. Se garantizaba que los programas se ejecutarían en todos los procesadores Prime actuales (sujeto a que hubiera suficientes recursos disponibles), así como en todos los procesadores Prime posteriores.
En las versiones de PRIMOS ca. A partir de 1977, el sistema de archivos incluía una construcción distintiva conocida como Directorio de segmentos. A diferencia de los directorios más tradicionales, los archivos anclados en un directorio de segmento se ubicaban utilizando un índice entero, reduciendo efectivamente las búsquedas en el directorio a una simple función hash. Los directorios de segmentos se utilizaron en su sistema de acceso a archivos Keyed-Index/Direct Access (KI/DA) y en versiones posteriores del cargador del sistema.
Los datos indexados se pueden almacenar en un archivo MIDAS: Sistema de acceso a datos indexados múltiples y se puede acceder a ellos a través de COBOL o FORTRAN. Entre las herramientas de terceros había un paquete llamado Queo , [12] que era más poderoso que COBOL a pesar de ser menos detallado.
El conjunto de caracteres PRIMOS era básicamente ASCII pero con el octavo bit invertido. El estándar original de 7 bits para ASCII dejaba el octavo bit sin especificar, pero en el Teletipo Modelo 33 ASR comúnmente disponible, el bit se establecía habitualmente en 1, y este se convirtió en el estándar de Prime. Es vital darse cuenta de esto al transferir datos desde PRIMOS a casi cualquier otro sistema.
En el momento de la desaparición de Prime Computer , una lista de idiomas admitidos por Primos incluía: [13]
También estaban disponibles, pero relativamente poco comunes:
Las últimas versiones [14] de PRIMOS incluían un lenguaje de secuencias de comandos , CPL (Lenguaje de procedimiento de comando). [15] Este lenguaje interpretado, que guarda similitudes con Pascal, era accesible para usuarios novatos y capaz de una potente automatización de línea de comandos. ESRI utilizó PRIMOS CPL como base para los lenguajes de scripting independientes de la plataforma AML (para ArcInfo ) y SML ( PC-ARC/INFO ).
Este fue un paso más allá de lo que ya estaba disponible a través de:
Los "fantasmas" eran una forma de procesos en segundo plano desatendidos que inmediatamente comenzaban a ejecutarse en segundo plano cuando los iniciaba el comando PHANTOM. Los trabajos por lotes "convencionales" se iniciaban mediante el comando JOB, incluida la capacidad de programarlos para un tiempo determinado.
El sistema operativo PRIMOS incorporó funciones avanzadas de tolerancia a fallas para garantizar la confiabilidad del sistema y la integridad de los datos. Una característica notable fue el comando MIRROR_ON, que facilitó la creación de un par de particiones idénticas y lógicamente equivalentes que se mantenían en tiempo real. Este comando fue fundamental para mejorar la resistencia del sistema a fallas de hardware. Cuando se activó, el comando MIRROR_ON inició la duplicación del disco, duplicando todas las operaciones de escritura en un disco primario en un disco secundario. Esta redundancia permitió que el sistema continuara las operaciones sin problemas utilizando la partición espejo en caso de una falla de la partición primaria. A diferencia de RAID 1, que normalmente requiere soporte de hardware específico para la duplicación de discos, el comando MIRROR_ON implementó esta funcionalidad a nivel de software, ofreciendo una solución flexible y rentable para la redundancia de datos. [dieciséis]
Las principales ofertas de Primes, cada una de las cuales cubría una necesidad específica, fueron:
El software PRIMENET de Prime fue diseñado para permitir "un acceso transparente a cualquier sistema en la red sin sobrecargar al usuario con comandos adicionales". [17] Con PRIMENET, un usuario en el Sistema A podría acceder a archivos en el Sistema B como si estuvieran en el Sistema A, [18] o incluso iniciar sesión en otro sistema usando el comando RLOGIN (Inicio de sesión remoto). [19]
Lanzado en un momento similar al de PRIMENET, [20] [21] permitió la creación de redes de área local de alta velocidad . [22]
Se incluyó emulación 2780/3790. [23]
En 1985, la versión Prime de UNIX System V de AT&T , llamada Primix, estuvo disponible con Primos Release 19.4.2, que se modificó para incluir funciones de Unix. Coexistió con PRIMOS, lo que permitió a los usuarios alternar entre sí. [24]
Lenguaje de shell de comandos de Prime, introducido con PRIMOS 18.2 en 1981