ICT 1900 fue una familia de computadoras mainframe lanzadas por International Computers and Tabulators (ICT) y luego por International Computers Limited (ICL) durante las décadas de 1960 y 1970. La serie 1900 se destacó por ser uno de los pocos competidores no estadounidenses del IBM System/360 , y disfrutó de un éxito significativo en los mercados europeos y de la Commonwealth británica .
Orígenes
A principios de 1963, ICT estaba enfrascada en negociaciones para comprar el negocio de computadoras de Ferranti . Para endulzar el trato, Ferranti le mostró a ICT la máquina Ferranti-Packard 6000 (FP6000), que había sido desarrollada por su subsidiaria canadiense Ferranti-Packard , con un diseño conocido como Harriac que había sido iniciado en Ferranti por Harry Johnson y desarrollado por Stanley Gill y John Iliffe. [1]
El FP6000 era un diseño avanzado, que incluía notablemente soporte de hardware para multiprogramación . ICT consideró utilizar el FP6000 como su procesador de tamaño mediano en el período 1965-1968, reemplazando al ICT 1302. Otro plan que se estaba considerando era licenciar una nueva gama de máquinas que estaba desarrollando RCA , probablemente compatibles con el esperado IBM 8000. [ 2]
La gama inicial de 1900 no sufrió los muchos años de planificación cuidadosa detrás del IBM 360.
-- Virgilio Pasquali [3]
El 7 de abril de 1964, IBM anunció la serie System/360 , una familia de máquinas compatibles que abarcaban prácticamente todas las necesidades de los clientes. Inmediatamente se hizo evidente que las TIC necesitarían una respuesta coherente. Había dos caminos disponibles: desarrollar una gama de máquinas basadas en el FP6000, utilizando la flexibilidad de su diseño para producir máquinas más pequeñas o más grandes, o cooperar con RCA, que estaba reorientando su desarrollo hacia una gama compatible con System/360 que se conocería como RCA Spectra 70 .
Un factor importante a tener en cuenta fue que el FP6000 ya estaba en funcionamiento, mientras que la gama RCA Spectra tardaría algunos años en estar disponible. Al final, se tomó la decisión de optar por una gama de máquinas basadas en el FP6000. La pieza central de la nueva gama era el ICT 1904, una versión del FP6000 con la interfaz periférica estándar de ICT. Para las máquinas de gama alta, la unidad ICT West Gorton (anteriormente parte de Ferranti) desarrollaría un nuevo procesador más grande, el ICT 1906. Para satisfacer las necesidades de los clientes más pequeños, la unidad ICT Stevenage desarrolló máquinas más pequeñas, el ICT 1901 y el ICT 1902/3, basadas en los procesadores PF182 y PF183 que ya estaban en desarrollo.
El 29 de septiembre de 1964 se anunció la gama ICT 1900 en una presentación filmada, con guión de Antony Jay . La semana siguiente se mostraron dos sistemas en funcionamiento en la Business Equipment Exhibition, Olympia .
La primera venta comercial se realizó en 1964 a la Morgan Crucible Company , que comprendía un 1902 de 16K palabras con un lector de 80 columnas de 980 tarjetas/minuto, una perforadora de tarjetas, una impresora de 600 líneas/minuto y 4 unidades de cinta de 20kchar/s [nb 1] . Pronto se actualizó a una memoria de 32K palabras y una unidad de punto flotante para permitir algún trabajo científico. La misma empresa también había sido la primera en encargar el primer ordenador de ICT, el HEC4 (posteriormente ICT 1201), en 1955.
El primer sistema entregado fue el modelo 1904, para el Northampton College of Advanced Technology , en Londres, en enero de 1965.
Arquitectura
La ICT 1900 era una máquina de direccionamiento de palabras que utilizaba una arquitectura de registro a memoria con ocho registros acumuladores , tres de los cuales podían utilizarse como registros modificadores ( índice ). La longitud de las palabras era de 24 bits , que podían utilizarse como cuatro caracteres de seis bits; se proporcionaban instrucciones para copiar caracteres individuales hacia y desde la memoria.
Los acumuladores eran direccionables como si fueran las primeras ocho palabras de la memoria, lo que daba el efecto de instrucciones de registro a registro sin necesidad de códigos de operación adicionales. Los registros de hardware eran una característica opcional y, si no estaban instalados, los acumuladores eran las primeras ocho palabras de la memoria. La gran cantidad de características opcionales en el diseño del FP6000 le dio a ICT una gran flexibilidad en cuanto a precios.
Una característica notable de la serie era el soporte de hardware (en todos los procesadores, excepto en los más pequeños) para ejecutar múltiples procesos: cada proceso se ejecutaba en un espacio de direcciones independiente, controlado por registros de datos y límites . Ningún proceso de usuario podía acceder a la memoria de ningún otro proceso. Los modelos posteriores añadieron hardware de paginación , lo que permitió una verdadera memoria virtual con el sistema operativo GEORGE 4 .
En los modelos originales, el tamaño de la dirección era de 15 bits, lo que permitía hasta 32 000 palabras de memoria. Los modelos posteriores añadieron direccionamiento de 22 bits, lo que permitía una memoria máxima teórica de 4 000 palabras. Las instrucciones contenían un operando de 12 bits, fijo o desplazado respecto de un registro de índice. Las instrucciones de bifurcación tenían un desplazamiento de 15 bits, lo que permitía el acceso a toda la memoria del rango inicial. Cuando el tamaño de la dirección se incrementó a 22 bits, se añadieron bifurcaciones reemplazadas ( indirectas ) y relativas al conjunto de instrucciones para permitir el acceso a un espacio de direcciones más grande.
El mayor cambio entre el FP6000 original y la serie 1900 fue la inclusión de la interfaz estándar ICT para la conexión de periféricos. Esto permitió la conexión de cualquier periférico ICT a cualquier procesador de la serie, y los propietarios podían actualizar sus procesadores manteniendo los mismos periféricos o viceversa.
Todas las operaciones de E/S eran iniciadas por un proceso supervisor privilegiado, conocido como el ejecutivo . Los procesos de usuario se comunicaban con el ejecutivo mediante códigos adicionales , instrucciones que provocaban una trampa en el ejecutivo. El ejecutivo se comunicaba entonces con el periférico apropiado a través de la interfaz estándar, utilizando funciones que no estaban disponibles para los procesos de usuario. Las transferencias de datos posteriores se producían entonces a través de esta interfaz, de forma autónoma y sin más intervención del programa. La conclusión de las transferencias (o el error, si lo hubiera) se indicaba de forma similar al ejecutivo.
En los modelos más pequeños de la serie, también se implementaron algunas instrucciones costosas ( por ejemplo, de punto flotante ) como códigos adicionales. La combinación del ejecutivo y el hardware proporcionó la misma interfaz a los programas que se ejecutaban en cualquier modelo de la gama.
La unidad de punto flotante de hardware, si estaba instalada, funcionaba de manera autónoma. Después de iniciar una operación de punto flotante, se podían ejecutar instrucciones enteras en paralelo hasta que se necesitara el resultado de la operación de punto flotante.
Formatos de datos
El conjunto de instrucciones admitía los siguientes formatos de datos:
- Personajes
- Una palabra de 24 bits podría contener cuatro caracteres de seis bits.
- Modificador de contador, también conocido como palabra índice
- Un contador de 9 bits y un campo modificador (de dirección) de 15 bits. Una instrucción de bucle decrementó el contador e incrementó la dirección en 1 o 2.
- Este formato solo estaba disponible en el modo de direccionamiento de 15 bits. En el modo de 22 bits, el contador y la dirección se guardaban en palabras separadas.
- Modificador de contador de caracteres, también conocido como palabra de índice de caracteres
- Desplazamiento de caracteres de dos bits, contador de siete bits y modificador de 15 bits (dirección de palabra). La instrucción BCHX (ramificación en indexación de caracteres) decrementaba el contador e incrementaba el desplazamiento de caracteres, incrementando la dirección de palabra si el desplazamiento de caracteres se desbordaba y ramificándose si el conteo no había llegado a cero.
- En el modo de direccionamiento de 22 bits, el contador no estaba disponible y el formato era un desplazamiento de carácter de dos bits y una dirección de palabra de 22 bits. La instrucción BCHX incrementaba el desplazamiento de carácter, incrementaba la dirección de palabra si el desplazamiento de carácter se desbordaba y se bifurcaba incondicionalmente.
- Entero de longitud única
- Un número con signo de complemento a dos de 24 bits .
- Número entero de longitud múltiple
- La primera palabra contenía un número con signo de complemento a dos de 24 bits, las palabras subsiguientes contenían extensiones de 23 bits con el bit alto utilizado para el acarreo interno .
- Número
de punto flotante de longitud única
- Dos palabras que contienen un argumento con signo de 24 bits ( mantisa ) y un exponente de nueve bits.
- Número de punto flotante de longitud doble
- Dos palabras que contienen un argumento con signo de 38 bits y un exponente de nueve bits.
- Número de punto flotante de longitud cuádruple
- Cuatro palabras que contienen un argumento con signo de 75 bits y un exponente de nueve bits.
- Se maneja por software en todos los procesadores excepto 1906/7 con la función de punto flotante extendida.
Conjuntos de caracteres
Dado que las TIC de 1900 utilizaban caracteres de seis bits, su uso estaba limitado en gran medida a un repertorio de 64 caracteres, con solo letras mayúsculas y sin caracteres de control .
Para poder manejar datos en cintas de papel o de equipos de comunicaciones, se podía utilizar un sistema de desplazamientos para representar los 128 caracteres completos del ASCII . El carácter n.° 74 (es decir, octal 74) se consideraba un desplazamiento alfa e indicaba que los caracteres subsiguientes debían considerarse mayúsculas, el n.° 75 era un desplazamiento beta e indicaba que los caracteres subsiguientes estaban en minúsculas, y el n.° 76 era el desplazamiento delta , que indicaba que el siguiente carácter era un carácter de control. De este modo, la cadena ASCII "Hola mundo" se codificaría como " αHβELLO αWβORLD". El carácter n.° 77 era un carácter de relleno (ignorar), similar al carácter de borrado en el mundo de 7 bits.
En 1900 se utilizó una variante del ASCII-63 , conocida por las TIC como el conjunto de caracteres ECMA , con diferencias en cinco códigos de caracteres:
Comparación con System/360
Tanto la serie 1900 como IBM System/360 proporcionaban soporte de hardware para multiprogramación. En el 1900, todas las direcciones de memoria de usuario se modificaban mediante un registro de datos (dirección base) y se comprobaban con un registro de límites ( base and bounds ), lo que impedía que un programa interfiriera con otro. El System/360 daba a cada proceso y a cada bloque de memoria de 2048 bytes una clave de cuatro bits, y si una clave de proceso no coincidía con la clave del bloque de memoria se producía una excepción. El sistema 1900 exigía que los programas ocuparan un área contigua de memoria, pero permitía que los procesos se reubicaran durante la ejecución, lo que simplificaba el trabajo del sistema operativo. El 1900 también permitía a cualquier proceso acceder directamente a las primeras 4096 palabras de su espacio de direcciones. (Tanto el 1900 como el 360 tenían un campo de operandos de 12 bits, pero en el 360 las direcciones eran direcciones físicas , de modo que un programa podía acceder directamente a los primeros 4096 bytes de memoria física ).
El System/360 tenía la ventaja de un mayor tamaño de palabra y de carácter; sus palabras de 32 bits eran lo suficientemente grandes para números de punto flotante (de baja precisión), mientras que el 1900 necesitaba al menos dos palabras. El byte de ocho bits del System/360 permitía la manipulación de caracteres en minúscula sin las complejas secuencias de desplazamiento del 1900. Sin embargo, en los primeros tiempos, el menor tamaño de palabra del 1900 se consideraba una ventaja de coste, ya que la memoria podía ser un 25% más barata para la misma cantidad de palabras.
Rango de 1900
Alcance inicial
La gama inicial de máquinas fue:
- TIC 1901
- Una máquina muy pequeña con un molino de 6 bits de ancho ( unidad aritmética ). Para compatibilidad con las otras máquinas, una operación de 24 bits era realizada por el procesador como cuatro operaciones de 6 bits. Basado en el PF183 desarrollado por ICT Stevenage. El 1901 fue anunciado y lanzado después de los otros miembros de la gama inicial, en respuesta al IBM System/360 Model 20 , y fue un gran éxito.
- TIC 1902
- Una máquina pequeña basada en el procesador ICT Stevenage PF182. [4]
- Al igual que el 1901, el 1902 realizaba operaciones de multiplicación y división como códigos adicionales . Se encontraba disponible una facilidad de cálculo comercial opcional o CCF para agregar funciones de multiplicación y división por hardware. También se encontraba disponible una unidad de punto flotante opcional, la facilidad de cálculo científico , SCF, como un superconjunto de la CCF.
- TIC 1903
- El mismo procesador que el 1902, pero con un núcleo de 2μs en lugar del núcleo de 6μs suministrado con el 1902.
- TIC 1904
- El procesador ICT West Gorton se deriva del FP6000 con la adición de la interfaz estándar ICT. [5]
- TIC 1905
- Un 1904 con una unidad de punto flotante de hardware autónoma.
- TIC 1906
- Un nuevo procesador diseñado por ICT West Gorton con una ruta de memoria de 48 bits de ancho y un modo de direccionamiento de 22 bits. Se entrega con hasta 256 000 palabras de memoria. [6]
- TIC 1907
- Un 1906 con unidad de punto flotante.
- TIC 1909
- Una máquina similar a la 1905 pero con un almacenamiento lento de 6μs comparable al de la 1902. Diseñada para universidades que necesitaban punto flotante pero consideraban que la 1905 era demasiado cara. [7]
El tiempo de ejecución de una instrucción de adición ("agregar el contenido de la ubicación de almacenamiento x al registro y") varió desde 2,5 μs para un 1906 o 1907 con un almacenamiento central de 1,1 μs, hasta 34 μs para un 1901 con un almacenamiento central de 6 μs.
Todas las máquinas, excepto la 1901, se operaban desde un teletipo modelo 33 ASR modificado que se utilizaba para dar órdenes al ejecutivo . La 1901 se operaba desde conmutadores de consola, con una consola disponible como extra opcional.
Se disponía de una amplia gama de periféricos, entre ellos perforadoras y lectores de tarjetas de 80 columnas , perforadoras y lectores de cintas de papel de 8 pistas e impresoras de líneas de barril sólido. Los datos se podían almacenar en cintas magnéticas de media pulgada de bobina abierta o en casetes de cinta magnética de 8 pistas de una pulgada. El almacenamiento en disco magnético estuvo disponible en 1966. [8]
La serie 1900 E/F
En 1968 ICT introdujo las máquinas de la serie E:
- TIC 1904E
- Se realizaron algunas mejoras al modelo 1904 original y se puso a disposición el nuevo modo de direccionamiento de 22 bits desarrollado para el modelo 1906.
- TIC 1905E
- El 1904E con unidad de punto flotante.
- TIC 1906E
- La 1906 original no había sido tan rápida como se esperaba, por lo que las nuevas máquinas de gama alta eran en realidad versiones de doble procesador de la 1904E.
- TIC 1907E
- Un 1906E con una unidad de punto flotante especial de mayor rendimiento.
Las mejoras en los subsistemas de memoria de estas máquinas, reemplazando el núcleo de 1,8 μs por un núcleo de 0,75 μs, se introdujeron como la serie F. [9]
(ICT se fusionó con English Electric Computers para formar ICL el 9 de julio de 1968. Por lo tanto, aunque la serie E había sido diseñada por ICT, muchas, si no todas, se entregaron con insignias ICL).
Serie A de 1900
En 1969 se entregó la serie 1900 A, [10] reemplazando las máquinas restantes de la serie inicial y las máquinas E/F. Las implementaciones originales de semiconductores discretos de germanio fueron reemplazadas por circuitos integrados TTL de la serie 7400 de Texas Instruments en la mayor parte de la gama y circuitos integrados ECL MECL 10K de Motorola en el nuevo 1906A (que se basaba en el 1906 original en lugar del procesador dual 1904 del 1906E/F). Hubo una propuesta para construir una versión multiprocesador del 1906A, el 1908A (conocido internamente como Proyecto 51), que permitiría a ICL competir con las grandes máquinas CDC e IBM en universidades y centros de investigación, pero finalmente se abandonó a favor de acelerar el trabajo en el New Range , que se estaba diseñando para reemplazar tanto a la serie 1900 como al ICL System 4. [ 11]
Con la serie A, una unidad de punto flotante de hardware se convirtió en una característica opcional de todas las máquinas, en lugar de tener un número de modelo diferente para las máquinas equipadas con punto flotante.
El modo de direccionamiento de 22 bits y el modo de rama extendida introducidos por el 1906 se extendieron al 1902A y al 1903A, pero no al 1901A, mucho más pequeño.
ICL introdujo una unidad de paginación en las máquinas de gama alta (1904A, 1906A) y una nueva versión del sistema operativo GEORGE , GEORGE 4, que era compatible con GEORGE 3 pero utilizaba memoria virtual paginada en lugar del simple sistema de datos/límites de las máquinas anteriores.
- Código ICL 1901A
- Las entregas comenzaron en 1969.
- Código ICL 1902A
- Las entregas comenzaron en 1969.
- Código ICL 1903A
- Las entregas comenzaron en 1969.
- Código ICL 1904A
- Primeras entregas en 1970.
- El 1904A tenía una unidad de búsqueda opcional y, por lo tanto, podía ejecutar GEORGE 4.
- Código ICL 1906A
- Primeras entregas en 1970.
- El 1906A tenía una unidad de buscapersonas y por lo tanto podía ejecutar GEORGE 4.
La serie 1900 S
En abril de 1971, ICL anunció la serie S de máquinas, reemplazando el almacenamiento central de las máquinas anteriores con memoria de semiconductores en la mayor parte de la gama y una memoria de cable niquelado Plessey muy rápida para la gama más alta, la 1906S.
- Código ICL 1901S
- Almacén de semiconductores de 4μs
- Código ICL 1902S
- Almacén de semiconductores de 3 μs
- Código ICL 1903S
- Almacén de semiconductores de 1,5 μs
- Código ICL 1904S
- Primera entrega en 1972. Se utilizó la nueva lógica STTL de Schottky , que proporciona un aumento del rendimiento del 30%. Memoria de semiconductores de 500 ns. Utilizada por Brian Wyvill de System Simulation para la animación por ordenador de Alien . [12]
- Código ICL 1906S
- Primera entrega en 1973. Memoria de cable niquelado con una velocidad de ciclo de 250 ns.
Serie T de 1900
A medida que se iban introduciendo los modelos más grandes de la nueva gama, se decidió que los modelos inferiores de la gama 1900 ya no eran competitivos. Para renovar la gama, se lanzaron nuevos modelos. En cada caso, el modelo se basaba simplemente en el modelo inmediatamente superior de la gama anterior; por ejemplo, el 1903T se basaba en el 1904S.
- Código ICL 1901T
- Las entregas comenzaron en 1974. El 1901T se basó en el 1902S con un controlador de disco integrado y un controlador VDU agregado al gabinete del procesador para reducir el espacio.
- Código ICL 1902T
- Las entregas comenzaron en 1974. El 1902T se basó en el 1903S con un controlador de disco integrado y un controlador VDU integrado.
- Código ICL 1903T
- Las entregas comenzaron en 1973. Como el 1903T se basaba en el 1904S, estaba disponible con una unidad de búsqueda y podía ejecutar George 4. El reloj del procesador y el tiempo de ciclo de la memoria eran más lentos que los del 1904S, lo que permitía el uso de piezas más baratas. El 1903T se construyó en la planta de ICL en West Gorton.
Máquinas compatibles con 1900
Durante y después de la producción de la serie 1900, una serie de máquinas compatibles (o clónicas ) fueron producidas por licenciatarios de ICL , así como por competidores.
2903/2904
En 1969 IBM había presentado la máquina de nivel de entrada System/3 , que comenzó a reducir las ventas de los modelos ICL 1901 y 1902. Para recuperar el mercado, se inició un proyecto ICL conocido internamente como PF73, basado en una máquina microprogramada desarrollada por ICL Stevenage conocida como MICOS-1, que llegó al mercado en 1973 como ICL 2903 y 2904. A pesar de su numeración New Range , estas máquinas usaban el conjunto de instrucciones ICL 1900 y ejecutaban software 1900, aunque había un microprograma disponible que proporcionaba un conjunto de instrucciones IBM-360 para permitirles ejecutar software IBM. Los 2903/2904 se lanzaron con un compilador RPG para competir mejor con System/3 . [13] Fue un éxito comercial y se vendieron casi 3000 máquinas.
ME29
Basado en una CPU totalmente microprogramada, la Stanford EMMY comercializada por Palyn Associates, el ME29 se vendió como reemplazo del 2903 y 2904, aún ejecutando el código de pedido 1900.
Se estimó que un procesador EMMY que emulaba el código de pedido del IBM 360 tenía aproximadamente la velocidad de un IBM System/360 Modelo 50 , lo que implica que el ME29 era más rápido que el ICT 1904 original, acercándose a la velocidad del ICT 1906. [14]
IBM 370/145
En un esfuerzo por aumentar las ventas a los clientes de ICL y aprovechar las dificultades que estaba teniendo ICL para trasladar a los clientes del modelo 1900 al New Range, IBM introdujo un paquete de microcódigo para el 370/145 que permitía la ejecución de programas de la serie 1900. [15] [16]
Serie Odra 1300
La serie Odra 1300 (Odra 1304, Odra 1305 y Odra 1325) fue una gama de 1900 máquinas compatibles construidas por Elwro en Wrocław , Polonia entre 1971 y 1978. Por acuerdo con ICL, las máquinas Odra ejecutaban software estándar de ICL (E6RM ejecutivo, George 3).
Sistemas ICL 2900 (Nueva Gama)
Las versiones "S3E" (microcodificadas) de segunda generación de los sistemas New Range más grandes (como el 2960/2966 de West Gorton y el posterior 2940/50 de Stevenage) podían ejecutar código de la serie 1900 bajo DME ( Direct Machine Environment ) como emulación, así como el conjunto de instrucciones New Range bajo el nuevo VME (Virtual Machine Environment). Más tarde se desarrolló el microcódigo CME (Concurrent Machine Environment) , que permitió que DME y VME coexistieran (y se ejecutaran) simultáneamente en la misma plataforma, de forma similar a la funcionalidad que ofrece el software de virtualización como VMware en la actualidad.
Sistemas operativos
Ejecutivo
El FP6000 funcionaba bajo el control del operador Executive , un sistema operativo sencillo que permitía al operador utilizar la consola del sistema para cargar programas desde cintas magnéticas, tarjetas o cintas de papel, asignar periféricos a los programas y atribuir prioridades a los programas en ejecución. Executive realizaba todas las operaciones de E/S en nombre de los programas de usuario, lo que permitía la asignación de diferentes periféricos según fuera necesario.
A pesar de su simplicidad, el sistema ejecutivo era, para la época, bastante potente, ya que asignaba memoria a los programas según fuera necesario (en lugar de las particiones fijas que proporcionaba OS/360 ). Esto era posible porque el diseño del FP6000 contenía hardware para facilitar la multiprogramación , registros de datos y límites , que hacían que los programas fueran independientes de las direcciones (reubicables) e impedían que un programa accediera a la memoria asignada a otro.
Para permitir un uso más eficiente de los periféricos, así como ejecutar múltiples programas simultáneamente, el ejecutivo permitió un multi-hilo limitado dentro de los programas (cada programa podía dividirse en hasta cuatro subprogramas, compartiendo el mismo espacio de direcciones, que también eran compartidos en el tiempo; mientras un subprograma esperaba la actividad periférica, otro podía continuar el procesamiento).
Una versión extendida del sistema operativo FP6000 se proporcionó con el ICT 1904/1905, y se escribieron nuevas versiones para el ICT 1906/7 y el ICT 1901/2/3. Una tarea importante de estas diferentes versiones era ocultar las diferencias de hardware entre las diferentes máquinas, proporcionando emulación de instrucciones faltantes como códigos adicionales . El concepto era que las aplicaciones, y más tarde los sistemas operativos, se escribían para ejecutarse en la combinación del hardware y el sistema operativo, y por lo tanto se ejecutarían en cualquier miembro de la serie, sin importar cuán diferente fuera el hardware subyacente.
Con la introducción de los sistemas de discos magnéticos, los sistemas ejecutivos se volvieron más complejos y se utilizaba la superposición para reducir el uso de memoria . Los sistemas ejecutivos basados en discos incluían funciones para simplificar las operaciones de disco y gestionar los archivos (creación, cambio de nombre, eliminación, cambio de tamaño) en nombre de los programas de usuario. Los archivos se identificaban mediante nombres de 12 caracteres y un programa de usuario no necesitaba saber qué disco físico se estaba utilizando para un archivo.
JORGE
En diciembre de 1964, ICT creó una rama de sistemas operativos para desarrollar un nuevo sistema operativo para 1906/7. La rama inicialmente contaba con personal que fue liberado al finalizar el trabajo en el sistema operativo OMP para Ferranti Orion . El diseño inicial del nuevo sistema, llamado George en parte por George E. Felton , [nb 2] jefe de la División de Programación Básica, se basó en ideas de Orion y el sistema de spooling del ordenador Atlas . [17] La versión inicial, George 1 (para las máquinas ICT 1901, 1902 y 1903), era un sistema de procesamiento por lotes simple . Las descripciones de trabajo se leían desde tarjetas o cintas de papel , los periféricos y los archivos de cinta magnética se asignaban dinámicamente al trabajo, que luego se ejecutaba, produciendo una salida en la impresora de línea.
George II añadió el concepto de spooling . Los trabajos y los datos de entrada se leían desde tarjetas o cintas de papel a un espacio de entrada en el disco o la cinta. A continuación, se ejecutaban los trabajos, escribiendo la salida en archivos de spool del disco o la cinta, que luego se escribían en los periféricos de salida. Las etapas de entrada/procesamiento/salida se ejecutaban en paralelo, lo que aumentaba la utilización de la máquina. En máquinas más grandes, era posible ejecutar varios trabajos simultáneamente.
George 1 y 2 se ejecutaban como programas simples bajo el ejecutivo (con estatus de confianza que les permitía controlar los programas de usuario). George 3 era un sistema operativo completo en sí mismo, utilizaba un ejecutivo mucho más reducido, responsable únicamente de manejar el acceso al hardware de bajo nivel. George 3 implementó tanto el procesamiento por lotes como la programación en línea múltiple (MOP), es decir, el uso interactivo desde terminales.
George 4 se introdujo con la disponibilidad de hardware de paginación en las máquinas posteriores e implementó memoria virtual paginada en lugar del intercambio simple utilizado por George 3.
Minimop y Maximop
Lenguajes de programación
Las TIC proporcionaron inicialmente el lenguaje ensamblador PLAN y más tarde los "tres grandes" lenguajes de alto nivel: ALGOL 60 , COBOL y FORTRAN 66 .
Los compiladores se lanzaron en varias versiones, de creciente sofisticación. Inicialmente, se utilizaron cintas de papel y tarjetas para la entrada y salida; más tarde, cintas magnéticas y, finalmente, archivos de disco. Las primeras versiones de los compiladores se ejecutaban en un espacio muy limitado, comenzando alrededor de 4K palabras para PLAN y NICOL y tan solo 16K palabras para FORTRAN y ALGOL. Las versiones posteriores para los sistemas operativos George 3 y 4 se ampliaron a tamaños de hasta 48K palabras.
Otros idiomas disponibles incluyen:
- PLASYD – un lenguaje ensamblador alternativo modelado en PL/360 , muy utilizado por el Laboratorio de Computación Atlas .
- NICOL – el lenguaje comercial de los Nineteen Hundred . Un lenguaje de generación de informes sencillo, al estilo de los juegos de rol , muy utilizado en los pequeños sistemas de tabulación de tarjetas que reemplazaron al 1901.
- JEAN – un dialecto de JOSS , un lenguaje conversacional similar en capacidades a BASIC .
- SOBS – el sistema BASIC de Southampton .
- POP-2 – de la Universidad de Edimburgo , un lenguaje de procesamiento de listas basado en pila.
- ALGOL 68R : el Royal Radar Establishment escribió uno de los primeros compiladores de Algol 68 para el año 1900.
- Pascal – La Queen's University de Belfast inicialmente adaptó el compilador CDC Pascal a 1900 y luego escribió un reemplazo completamente nuevo y bien diseñado.
- FORTRAN 77 : la Universidad de Salford produjo un compilador de FORTRAN 77 para George 3. Era inusual porque utilizaba caracteres de 8 bits y el conjunto de caracteres ASCII internamente. Silverfrost FTN95 , un compilador de Fortran 95 para Windows , es un descendiente lejano.
- BCPL – Bernard Sufrin adaptó el compilador IBM 360 de Martin Richards a la arquitectura 1900 a mediados de 1969 en la Universidad de Essex . BCPL es un antecedente de C.
Software de aplicaciones
Al igual que muchas máquinas contemporáneas, gran parte del software de aplicación se incluía con el sistema básico, incluidos los compiladores y los programas de utilidad. Otro software estaba disponible como opciones pagas de ICT u otras fuentes, incluidos paquetes tan exóticos como Storm Sewer Design and Analysis .
SCAN– Sistema de control de stock (Acrónimo: Control y Análisis de Stock de Mil Novecientos )PERT– Sistema de gestión de proyectos ( Acrónimo : Project Assessment and Review Technique )PROSPER– Sistema de planificación financiera. El paquete 'Simulación de Utilidades, Planificación y Evaluación de Riesgos' amplió el trabajo previo contenido en PROP (Profit Rating of Projects).NIMMS– Sistema de control de producción (Acrónimo : Nineteen- Hundred Integrated Modular Management System )PROMPT– Sistema de control de producción (Acrónimo : Production Reviewing Organization and Monitoring of Performance Techniques )COMPAY– Programa de nóminas de la empresaDATADRIVEyDATAVIEW– Sistema de entrada y consulta de datos en línea, capaz de gestionar un gran número de terminalesFIND– Archivo Interrogatorio de mil novecientos datos (paquete de análisis de datos)Filetab– Herramienta para generar informes basados en tablas de decisiones . Filetab fue comercializado por el Centro Nacional de Computación (NCC), creado por el Gobierno británico en Manchester. Inicialmente, era un generador de informes muy flexible y basado en parámetros, con versiones posteriores que permitían amplias capacidades de manejo de archivos. El producto se conoció primero como NITA (Tabulador Nineteen Hundred) y más tarde se conoció como TABN (Tabulador Nineteen Hundred). Se ejecutaba en las máquinas de la serie ICL 1900 y, más tarde, en las computadoras de las series 2900 y 3900. Las instrucciones TABN se interpretaban a partir de tarjetas perforadas en tiempo de ejecución o se podían compilar para producir un programa que se pudiera ejecutar de manera sencilla. Uno de los atractivos de escribir programas en Filetab era su corto tiempo de desarrollo.
Referencias
Notas
- ^ 20800 caracteres de seis bits por segundo.
- ^ En "Another ICL Anthology" George Felton explica el origen del nombre de la siguiente manera:
"En enero de 1965, mientras estaba en el extranjero, hubo una reunión en mi oficina, en la que se discutieron diferentes formas de asignar funciones entre el sistema operativo propuesto y el Ejecutivo. Se discutió el esquema A y se rechazó. Lo mismo con el esquema B. Y los esquemas C, D, E y F también se descartaron en rápida sucesión. Cuando surgió el esquema G, todos estaban contentos y se decidió adoptarlo. El " Entorno de organización general general " también se formuló rápidamente como la expansión oficial del acrónimo. Pero el nombre "GEORGE" fue en cualquier caso una elección natural: tenía ecos de los pilotos automáticos de los aviones ; era un poco divertido; y ciertamente no iba a oponerme".
Citas
- ^ McGregor-Ross, Hugh (2012). Pegasus: la primera computadora fundamental . Bright Pen. ISBN 978-0-7552-1482-2.
- ^ Campbell-Kelly, Martin (1989). ICL: Una historia empresarial y técnica . Oxford University Press. ISBN 0-19-853918-5.
- ^ Carmichael, Hamish (noviembre de 1998). Otra antología de ICL (PDF) . Laidlaw Hicks. ISBN 978-0-9527389-2-3. Recuperado el 18 de octubre de 2013 .
- ^ "ICT 1900 Series Central Processors 1902, 1903" (PDF) . Nota de prensa de ICT . ICT. 1 de septiembre de 1964. pág. 3 . Consultado el 11 de febrero de 2011 .
- ^ "ICT 1900 Series Central Processors 1904, 1905" (PDF) . Nota de prensa de ICT . ICT. 1 de septiembre de 1964. pág. 4 . Consultado el 11 de febrero de 2011 .
- ^ "ICT 1900 Series Central Processors 1906, 1907" (PDF) . Nota de prensa de ICT . ICT. 1 de septiembre de 1964. pág. 4 . Consultado el 11 de febrero de 2011 .
- ^ "ICT 1900 Series Central Processor 1909" (PDF) . Nota de prensa de ICT . ICT. 1 de septiembre de 1964. pág. 4 . Consultado el 11 de febrero de 2011 .
- ^ Cambell-Kelly, pág. 238
- ^ Proctor, Brian; Keith Crook; Virgilio Pasquali. "Tecnología de hardware en la gama ICT/ICL 1900". Virgilio Pasquali . Consultado el 11 de febrero de 2011 .
- ^ Pasquali, Virgilio. "Cómo evolucionó la serie ICT 1900" . Consultado el 11 de febrero de 2011 .
- ^ "Reemplazo de ATLAS". Atlas Computer Laboratory . Consultado el 11 de febrero de 2011 .
- ^ "La órbita ecuatorial, al descubierto: la historia detrás de las animaciones por computadora de 'Alien'". Archivado desde el original el 23 de agosto de 2022.
- ^ Campbell-Kelly, página 304
- ^ Hoevel, Lee W.; Wallach, Walter A. Jr. (noviembre de 1975). "UN CUENTO DE TRES EMULADORES". Informe técnico del Laboratorio de Electrónica de Stanford (informe técnico n.º 98). Archivado desde el original (PDF) el 28 de junio de 2011. Consultado el 11 de febrero de 2011 .
- ^ Cambell-Kelly, pág. 326
- ^ "Los ordenadores falsificados son mejores que los originales". New Scientist . 22 de junio de 1972. pág. 690 . Consultado el 13 de febrero de 2011 .
- ^ Goodman, HP (1 de enero de 2004). «George Operating Systems for the ICL 1900 Series Computer Range». Archivado desde el original el 28 de junio de 2011. Consultado el 15 de febrero de 2011 .
Enlaces externos
- Guía para ejecutar George 3 en una Raspberry Pi en rs-online.com