stringtranslate.com

GEORGE (sistema operativo)

GEORGE fue el nombre dado a una serie de sistemas operativos lanzados por International Computers and Tabulators (ICT) en la década de 1960, para la serie de computadoras ICT 1900 . Estos incluían GEORGE 1 , GEORGE 2 , GEORGE 3 y GEORGE 4 .

Inicialmente, las máquinas de la serie 1900, como la Ferranti-Packard 6000 en la que se basaron, ejecutaban un sistema operativo simple conocido como Executive , que permitía al operador del sistema cargar y ejecutar programas desde una consola del sistema basada en Teletype Model 33 ASR .

En diciembre de 1964, ICT creó una División de Sistemas Operativos para desarrollar un nuevo sistema operativo para el 1906/7. La sucursal contó inicialmente con personas que quedaron liberadas al finalizar los trabajos en el sistema operativo OMP para el Ferranti Orion . El diseño inicial del nuevo sistema, llamado George en honor al jefe de la División de Programación Básica, George E. Felton , [1] se basó en ideas de Orion y el sistema de cola de impresión de la computadora Atlas . [2] En público se afirmó que George representaba Entorno organizacional general, pero fuentes contemporáneas dicen que era un backronym . [3]

En julio de 1965, un equipo de ICT estuvo presente en un seminario en NPL que describía el sistema operativo CTSS desarrollado para el Proyecto MAC del MIT . Decidieron que las TIC necesitarían proporcionar instalaciones de acceso múltiple , conocidas en las TIC como MOP, "Procesamiento en Línea Múltiple". En noviembre de 1965, HP Goodman, jefe de la División de Sistemas Operativos, asistió a la Conferencia Conjunta de Computación de Otoño en Las Vegas, donde se describieron inicialmente los planes para Multics . [4] Algunas de las características de Multics discutidas influyeron en el desarrollo futuro de George, en particular el almacén de archivos estructurado en árbol.

A finales de 1965, el marketing de las TIC solicitó que se pusiera rápidamente a disposición de los miembros más pequeños de la gama un sistema operativo más sencillo. Se decidió lanzar rápidamente dos sistemas más pequeños, conocidos como George 1 y George 2, y el sistema operativo más grande pasó a llamarse George 3.

JORGE 1 Y 2

George 1 era un sistema de procesamiento por lotes simple. Las descripciones de los trabajos se leían en tarjetas o cintas de papel que controlaban la carga y ejecución de los programas, ya sea cargados desde tarjetas, cintas de papel o cintas magnéticas. El lenguaje de control de trabajos permitió la definición de los periféricos y archivos a utilizar y el manejo de condiciones de excepción. La descripción del trabajo se verificaría en busca de errores antes de ejecutar el trabajo. George utilizó las instalaciones de programas confiables proporcionadas por el ejecutivo para ejecutar los programas de usuario.

George 2 agregó el concepto de manejo de periféricos fuera de línea ( spooling ). Varios módulos diferentes, ejecutados en paralelo, permitieron la superposición de operaciones de entrada, procesamiento y salida:

Si la instalación fuera lo suficientemente grande, se podrían ejecutar varias copias del módulo central, lo que permitiría procesar varios trabajos en paralelo.

El lenguaje de control de trabajos de George 2 permitía el uso de macros almacenadas con funciones condicionales.

George 2 no proporcionó ningún sistema de archivos, el sistema y los programas de usuario dependían de las funciones proporcionadas por Executive . Se accedía a los archivos en el disco mediante nombres únicos de 12 caracteres y no se proporcionaba ninguna seguridad más que un bit de "no borrar".

MINIMOP podría ejecutarse simultáneamente con GEORGE 2 en la misma máquina, para proporcionar servicios de tiempo compartido en línea.

JORGE 3 Y 4

GEORGE 3 [5] fue la versión principal de la serie de sistemas operativos para las máquinas más grandes de la serie 1900. Inicialmente fue lanzado para el año 1906/7; finalmente estuvo disponible para modelos hasta el 1902T. A diferencia de George 1 y 2, que se ejecutaban como programas en modo usuario en modo ejecutivo, George 3 era un sistema operativo completo, que dejaba sólo el manejo de interrupciones y periféricos de bajo nivel a una versión reducida del ejecutivo.

George 3 se implementó como una pequeña parte residente en la memoria y una colección de capítulos ( superposiciones ) que se cargaban y eliminaban de la memoria según era necesario. Los capítulos eran estrictamente independientes de la ubicación, lo que permitía el mejor uso de la memoria. Internamente, George utilizó la multitarea cooperativa ; Los cambios de contexto podrían tener lugar en cualquier cambio de capítulo (llamada de un capítulo a otro) o en otros lugares específicos del código. El código a nivel de usuario se ejecutó mediante multitarea preventiva ; Se forzaron cambios de contexto en operaciones de E/S o tics de reloj. [6]

George fue escrito en un ensamblador especial, GIN (George INput), que tenía funciones de macro y compilación condicional más ricas que el ensamblador PLAN estándar. El código utilizó mucho las macros para reducir el esfuerzo de programar un sistema tan grande en lenguaje ensamblador. En versiones posteriores, las funciones macro de GIN se utilizaron para agregar funciones de programación estructurada al código. Se estimó que escribir el sistema requirió 75 años de esfuerzo de programador . [7]

control de trabajo

George 3 era un sistema mixto por lotes y en línea. Los trabajos se pueden ejecutar desde tarjetas o cintas de la misma manera que George 2, o de forma interactiva desde terminales MOP (procesamiento en línea múltiple), ya sean terminales ASR simples Teletipo Modelo 33 o terminales VDU en modo bloque .

El lenguaje de control de trabajos era el mismo en terminales o en trabajos por lotes e incluía operaciones condicionales y operaciones macro . A diferencia de los sistemas Unix , el lenguaje de control de trabajos era parte del sistema operativo en lugar de ser un proceso de shell a nivel de usuario .

Un trabajo sólo podría tener un programa cargado en la memoria a la vez, pero un trabajo podría iniciar la ejecución de otros trabajos simultáneamente, si los recursos del sistema y la política del sitio lo permitieran. El sistema intercambiaría programas de usuario fuera de la memoria mientras esperaban entrada o salida si otras actividades requerían memoria para ejecutarse.

almacén de archivos

George 3 proporcionó un almacén de archivos con estructura de árbol, inspirado en parte en Multics .

Cada usuario del sistema tenía un directorio de inicio con tantos subdirectorios como fuera necesario. Se podría acceder directamente al directorio de inicio de un usuario, por ejemplo, el directorio del usuario JOHN podría denominarse :JOHN , o mediante una ruta completa, por ejemplo, si JOHN estuviera en el departamento de informática, su directorio de inicio podría ser :MANAGER.USERS. COMPSCI.JOHN .

Las listas de control de acceso se utilizaban por seguridad, un usuario podía permitir o denegar a cualquier usuario o grupo de usuarios el acceso a sus archivos o directorios.

El almacenamiento de datos de archivos tenía dos niveles: los archivos podían estar actualmente en el disco o, si el sistema tenía poco espacio en el disco, podían relegarse automáticamente a una cinta magnética. Si se intentaba acceder a un archivo actualmente fuera de línea, el trabajo se suspendía y los operadores solicitaban cargar la cinta adecuada. Cuando la cinta estuviera disponible, el archivo volvería al disco y se reanudaría el trabajo.

El mecanismo de almacenamiento en disco subyacente que George 3, en 1968, fue probablemente la primera versión comercial de un sistema de archivos de copia sobre escritura . La forma en que esto funcionó fue que todos los bloques modificados se escribirían en bloques en una lista "libre". Los bloques que contenían metadatos también se trataron de la misma manera pero, junto con los bloques de datos, se escribieron físicamente en un orden tal que, cuando se escribió el bloque "maestro" final, el archivo se confirmó. Si la máquina fallaba en algún momento, el hardware garantizaba que el archivo estaría en su forma original, sin modificaciones o completamente actualizado.

Otra característica útil fue que Filestore podía emular todos los periféricos estándar, como lectores y perforadoras de tarjetas, cintas magnéticas y discos. Esto permitió que los programas George 1 y 2 más antiguos que requerían estos dispositivos físicos se ejecutaran en George 3 sin modificaciones. Esto podría acelerar trabajos que requerían muchos cambios de cinta o disco en George 1 y 2 para automatizarse hasta el punto de que algo que antes requería dos operadores, varias decenas de cambios de cinta y cinco horas, ahora no requería ningún operador, excepto para montar dos cintas de trabajo para los resultados, y terminé en 45 minutos.

Jorge 4

A partir del 1904A, había una unidad de buscapersonas disponible para procesadores 1900 más grandes y George 4 fue escrito para aprovecharla. George 4 seguía siendo compatible con George 3. Era común alternar George 3 y 4 en la misma máquina y almacén de archivos, ejecutando George 3 durante el día para cargas de trabajo pequeñas e interactivas y George 4 por la noche para trabajos grandes que requerían mucha memoria. [8]

George 4 introdujo el concepto de programa disperso , un programa que tenía un espacio de direccionamiento mayor que su memoria asignada y regiones de código y datos de solo lectura ( puras ). Se proporcionaron nuevas versiones del consolidador (enlazador) y compiladores para utilizar estas instalaciones.

El código fuente de George 3 y 4 era el mismo; Se utilizaron las funciones de compilación condicional del ensamblador GIN para seleccionar qué versión del sistema se estaba compilando.

Como la función de localización de 1900 no fue emulada por las máquinas de la serie 2900 utilizadas en instalaciones posteriores de George, George 4 dejó de utilizarse antes que George 3.

Código fuente

George se distribuyó de una forma que permitía a un sitio modificar grandes partes del sistema. Se inició una compilación del sistema, luego se interrumpió justo antes del final y se volcó en una cinta magnética. El compilador GIN permitió que la compilación continuara desde este punto en el sitio del usuario, posiblemente modificando el código ya compilado.

Las versiones de George 3 anteriores a la versión 8 se proporcionaron en formato binario. Todas las modificaciones necesarias en el sistema se realizaron como parches binarios. Para simplificar el proceso, la mayoría de los capítulos de George incluían un área de REPARACIÓN vacía al final.

A partir de la versión 8, la fuente de George se distribuyó con el binario, tanto en cinta magnética como en microficha. Se utilizó un sistema de parches a nivel de fuente, conocido como MENDITS, para modificar el sistema y un capítulo existente podía ser reemplazado completamente por el nuevo capítulo modificado.

El grupo de usuarios de George creó un "esquema de intercambio MEND" para compartir modificaciones interesantes con George. Algunas modificaciones se distribuyeron gratuitamente, otras estaban disponibles mediante el pago de una tarifa. Cuando ICL producía una nueva versión de George, a veces incluía modificaciones realizadas por los usuarios.

Para la última versión lanzada, 8.67, la mayoría de los parches del esquema de intercambio MEND se incluyeron en la fuente estándar de George, desactivada por compilación condicional . Se pueden activar como parte del proceso estándar de adaptación de George a un sitio.

Documentación

George estaba bien documentado internamente en una serie de carpetas de hojas sueltas, distribuidas como una versión inicial más enmiendas. Finalmente se reemplazaron todas las páginas originales, por lo que cualquier copia nueva de los manuales consistía en una caja de carpetas de hojas sueltas vacías y un montón de enmiendas. La primera enmienda fue una lista de contribuyentes, y la razón técnica de la enmienda se describió como "mantener a todos contentos".

Versiones modificadas

Se suministró una versión modificada de George 3 al Centro Regional de Computación de la Universidad de Manchester (UMRCC). Esto vinculó a George 3 con una máquina CDC Cyber , a la que George proporcionó las funciones de E/S fuera de línea y cola de trabajos. ICL y Cyber ​​proporcionaron soporte en línea tanto para hardware como para software. El equipo de soporte de Cyber ​​trabajaba en una oficina con el nombre " Cybermen " en la puerta. [ cita necesaria ]

Fin de la vida

Obsolescencia

Con el lanzamiento de la "nueva gama" de ICL, la serie 2900 con su sistema operativo VME , George quedó obsoleto. Sin embargo, debido al legado de inversión en software para George, ICL lanzó opciones para ejecutar software de la serie 1900, incluido George, en máquinas de la serie 2900, inicialmente Direct Machine Environment (DME), más tarde Concurrent Machine Environment (CME), que permitía operaciones simultáneas. ejecución de códigos 1900 y 2900 en el mismo sistema.

Se siguieron lanzando nuevas versiones de George 3 para el 2900. La última versión fue la 8.67, lanzada en 1983.

En 2005, al menos un sitio en Rusia todavía ejecutaba George 3 bajo DME. [9]

En noviembre de 2014, George 3 se ejecutó en un ICL 2966 reacondicionado en el Museo Nacional de Computación . [10]

Emulación

David Holdsworth y Delwyn Holroyd obtuvieron copias de las cintas de George 3 cuando el último sitio activo en el Reino Unido , en British Steel Corporation , estaba siendo desmantelado y escribieron un emulador para el hardware 1900 y un ejecutivo que permite ejecutar George en Microsoft Windows y Linux como parte de un proyecto para la Computer Conservation Society . [11] [12]

Referencias

  1. ^ En "Another ICL Anthology", George Felton explica el origen del nombre de la siguiente manera:
    "Hacia enero de 1965, hubo una reunión en mi oficina, mientras yo estaba en el extranjero, para discutir diferentes formas de asignar funciones entre el sistema operativo propuesto y Executive El esquema A fue discutido y rechazado. Lo mismo ocurrió con el esquema B. Y los esquemas C, D, E y F también fueron descartados en rápida sucesión. Cuando surgió el esquema G, todos quedaron contentos y se decidió adoptarlo. También se formuló rápidamente « Organisational Environment » como ampliación oficial del acrónimo. Pero el nombre "GEORGE" fue en cualquier caso una elección natural: tenía ecos de pilotos automáticos de aviones ; fue un poco divertido; y ciertamente no iba a poner objeciones".
  2. ^ Goodman, HP (1 de enero de 2004). "3.4.2- Sistemas operativos George para la gama de computadoras de la serie ICL 1900". Archivado desde el original el 28 de junio de 2011 . Consultado el 15 de febrero de 2011 .
  3. ^ Carmichael, Hamish (noviembre de 1998). Otra antología de ICL (PDF) . Laidlaw Hicks. ISBN 978-0-9527389-2-3. Consultado el 5 de diciembre de 2013 .
  4. ^ "Documentos técnicos de Multics en línea" . Consultado el 15 de febrero de 2011 .
  5. ^ Referencia en línea de GEORGE 3
  6. ^ Oestreicher, MD (abril-junio de 1971). "El diseño de la estructura interna del sistema operativo ICL George 3". Software: práctica y experiencia . 1 (2): 189–200. doi :10.1002/spe.4380010209. S2CID  43403696.
  7. ^ Cambell-Kelly, Martín (1989). ICL: una historia empresarial y técnica . Prensa de la Universidad de Oxford. pag. 239.ISBN 0-19-853918-5.
  8. ^ "Informe anual UEA CPC 1975-76" (PDF) . Consultado el 6 de mayo de 2014 .
  9. ^ Holdsworth, David (otoño de 2005). "Actividad de la sociedad". RESURRECCIÓN el Boletín de la Sociedad de Conservación de Computadoras (36) . Consultado el 14 de abril de 2014 . De la nada, recibí un mensaje de correo de un ruso que todavía tiene un sistema George 3 ejecutándose en DME.
  10. ^ Holroyd, Delwyn (invierno de 2014). "Actividad de la sociedad". RESURRECCIÓN el Boletín de la Sociedad de Conservación de Computadoras (68). ISSN  0958-7403 . Consultado el 12 de abril de 2015 . Me complace informarles que el proyecto 2966 ha alcanzado un hito importante este mes. El 15 de noviembre cargamos exitosamente George 3 bajo CME por primera vez y al final del día la terminal 7501 estaba disponible para que los visitantes jugaran la aventura Colossal Cave, que normalmente se aloja en una Raspberry Pi con el emulador ejecutivo George 3.
  11. ^ Emulador GEORGE 3 de la Universidad de Leeds
  12. ^ George3 ejecutándose en Raspberry Pi

Otras lecturas