Articulo de referencia

TSS (sistema operativo)

IBM System/360 Modelo 67-2. Este es el modelo de computadora en el que se habría ejecutado TSS/360 El IBM Time Sharing System TSS/360 es un sistema operativo de tiempo compartid...

IBM System/360 Modelo 67-2. Este es el modelo de computadora en el que se habría ejecutado TSS/360

El IBM Time Sharing System TSS/360 es un sistema operativo de tiempo compartido descontinuado diseñado exclusivamente para un modelo especial de la línea de mainframes System/360 , el Modelo 67. Se puso a disposición en forma de prueba para un grupo limitado de clientes en 1967, pero nunca fue lanzado oficialmente como un producto soportado por IBM. TSS fue pionero en una serie de características novedosas, algunas de las cuales aparecieron más tarde en sistemas más populares como MVS . TSS fue migrado a los sistemas System/370 y 303x , pero a pesar de sus muchos avances y capacidades novedosas, TSS no cumplió con las expectativas y finalmente fue cancelado. El Supervisor Residente de TSS/370 se utilizó como base para un puerto de UNIX al mainframe de IBM. [1] TSS/360 también inspiró el desarrollo del sistema operativo TSS/8 . [2]

Características novedosas

TSS/360 fue una de las primeras implementaciones de multiprocesamiento simétrico estrechamente acoplado . Un par de mainframes del Modelo 67 compartían un espacio de memoria física común y ejecutaban una única copia del código del núcleo (y de la aplicación). Una operación de E/S iniciada por un procesador podía finalizar y provocar una interrupción en el otro. El Modelo 67 utilizaba una instrucción estándar del 360 llamada Test and Set para implementar bloqueos en secciones críticas del código .

También implementó memoria virtual y máquinas virtuales utilizando código independiente de la posición . [3]

TSS/360 incluía una implementación temprana de un "Programador controlado por tablas": una tabla configurada por el usuario cuyas columnas eran parámetros como la prioridad actual, el tamaño del conjunto de trabajo y la cantidad de intervalos de tiempo utilizados hasta la fecha. El núcleo hacía referencia a esta tabla al calcular la nueva prioridad de un hilo . Esto apareció más tarde en sistemas tan diversos como Honeywell CP-V e IBM z/OS .

Como era habitual en el software de sistemas operativos de la época, los clientes de TSS/360 (como General Motors Research Laboratories ) tenían acceso total a todo el código fuente del sistema operativo y a las herramientas de desarrollo. Las mejoras y los parches desarrollados por los usuarios se incorporaban con frecuencia al código fuente oficial.

Interfaz de usuario

TSS proporciona a los usuarios una interfaz de línea de comandos . [4] Los usuarios interactúan con el sistema de comandos . El formato de comando consta de Command_Name[ operands]. El nombre del comando es de uno a ocho caracteres sin espacios en blanco incrustados. Los operandos son opcionales según el comando y deben estar separados del nombre del comando por al menos un espacio en blanco. Múltiples operandos deben estar separados por caracteres TAB o comas. Las líneas de comando pueden continuarse escribiendo un guion ("-") al final de la línea que se va a continuar y escribiendo la continuación al comienzo de la siguiente línea. Se pueden escribir múltiples comandos en una línea separándolos con punto y coma (";"). Se permiten comentarios en las líneas de comando, separados del comando con un punto y coma e incluidos entre comillas simples ("'"). Los operandos pueden ser posicionales o de palabra clave, con el formato "palabra clave=valor".

Los comandos del sistema se dividen en siete categorías:

  • Gestión de tareas: INICIO DE SESIÓN, CERRAR SESIÓN, FINALIZACIÓN ABUNDANTE, etc.
  • Gestión de datos – CATÁLOGO, DDEF, ELIMINAR, etc.
  • Gestión de programas: CARGAR, VOLCAR, MOSTRAR, TRAMPA, etc.
  • Creación de comandos – PROCDEF, BUILTIN
  • Manejo de mensajes
  • Perfil de usuario – SINÓNIMO, PREDETERMINADO, PERFIL, etc.
  • Interfaz de lenguaje de producto de programa: ASM ( ensamblador (F) ), COBOL , HASM ( ensamblador (H) ), PLI ( PL/I (F) ), PLIOPT ( compilador optimizador PL/I ), FTNH ( FORTRAN (H)) , etc.

Código independiente de la posición

TSS proporcionó una implementación temprana de código independiente de la posición , la capacidad de tener diferentes procesos ejecutando una única copia de un ejecutable posiblemente asignado a diferentes direcciones virtuales en cada proceso.

Cada procedimiento puede tener un CSECT público de sólo lectura, una Sección Prototipo privada escribible (PSECT) y un área de guardado escribible, normalmente ubicada en el PSECT. Las constantes de dirección de los procedimientos externos y los puntos de entrada deben estar ubicados en el PSECT, ya que el cargador dinámico [5] no colocará una rutina en la misma dirección virtual en cada proceso. Un programa que sigue las convenciones de enlace de Tipo I es generalmente responsable en la entrada de guardar sus registros en el área de guardado apuntada por el registro 13, recuperando la dirección de su PSECT de la palabra 19 del área de guardado, encadenando el área de guardado a una nueva área de guardado y colocando la dirección de la nueva área de guardado en el registro 13. Un llamador que sigue las convenciones de enlace de Tipo I carga una constante V para la rutina en el Registro General 15 (GR15) y copia una constante R para el PSECT de la rutina en la palabra 19 del área de guardado apuntada a GR13 antes de llamar a esas rutinas. [6] [7]

Cuando el cargador dinámico carga un programa, hace una copia del PSECT y reubica los adcons para reflejar las direcciones virtuales asignadas dentro del proceso actual, por lo tanto, cada usuario del programa tiene una copia única del PSECT.

El cargador dinámico no carga páginas de programa ni resuelve constantes de dirección hasta que se produce el primer error de página.

Crítica

TSS/360 sufrió problemas de rendimiento y fiabilidad y falta de compatibilidad con OS/360 , aunque esos problemas se solucionaron con el tiempo. IBM intentó desarrollar TSS con un calendario muy agresivo y con un gran equipo de programadores para competir con Multics . En 1967, se hizo evidente que TSS/360 sufría los mismos tipos de retrasos que OS/360. En febrero de 1968, en el momento de SHARE 30, había dieciocho sitios S/360-67 que intentaban ejecutar TSS. Durante la conferencia, IBM anunció mediante una "carta azul" que TSS/360 se estaba desvinculando, un gran golpe para la comunidad de tiempo compartido. Esta decisión se revirtió temporalmente y TSS/360 no se canceló oficialmente hasta 1971. Sin embargo, TSS/360 continuó estando disponible discretamente durante un tiempo para los clientes existentes de TSS/360, como medida provisional.

Después de que se cancelara TSS/360, IBM centró sus principales esfuerzos en la Time Sharing Option (TSO), un monitor de tiempo compartido para OS/360. Varios otros grupos desarrollaron sistemas de tiempo compartido menos ambiciosos y más exitosos para el S/360-67, en particular CP-67 en el Centro Científico de Cambridge de IBM , un monitor de máquina virtual temprano que evolucionó hasta convertirse en VM/370 , MTS en la Universidad de Michigan y ORVYL en la Universidad de Stanford . IBM también proporcionó el TSS/370 PRPQ como una ruta de migración para los clientes existentes de TSS/360, que pasó por múltiples versiones.

Véase también

Referencias

  1. ^ Felton, WA; Miller, GL; Milner, JM (octubre de 1984). "El sistema UNIX: una implementación del sistema UNIX para System/370". AT&T Bell Laboratories Technical Journal . 63 (8): 1751–1767. doi :10.1002/j.1538-7305.1984.tb00063.x. S2CID  7425099.
  2. ^ C. Gordon Bell; J. Craig Mudge; John E. McNamara (12 de mayo de 2014). Ingeniería informática: una visión DEC del diseño de sistemas de hardware. Elsevier Science. pág. 180. ISBN 978-1-4832-2110-6El TSS/8 fue diseñado en la Universidad Carnegie-Mellon con el estudiante de posgrado Adrian van de Goor, como reacción al costo, rendimiento, confiabilidad y complejidad del TSS/360 de IBM (para su Modelo 67). Aunque el TSS/360 no se comercializó, finalmente funcionó y aportó algunas ideas y capacitó a miles de personas para IBM. En la Universidad Carnegie-Mellon (CMU), un TSS/8 funcionó hasta 1974, cuando expiró el disco especial de intercambio. El costo por usuario o por trabajo tendía a ser aproximadamente 1/20 del sistema TSS/360 que operaba en la CMU.
  3. ^ Levine, John R. (2000) [octubre de 1999]. "Capítulo 8: Carga y superposiciones". Linkers and Loaders . La serie Morgan Kaufmann en ingeniería de software y programación (1.ª ed.). San Francisco, EE. UU.: Morgan Kaufmann . ISBN 1-55860-496-0. OCLC  42413382. ISBN 978-1-55860-496-4 . Código: [1] Erratas: [2]
  4. ^ IBM Corporation (agosto de 1976). Guía del usuario del sistema de comandos de sistema de tiempo compartido (GC28-2001-9) (PDF) . Consultado el 2 de mayo de 2015 .
  5. ^ Cargador dinámico del sistema de tiempo compartido IBM System/360 (PDF) (cuarta edición). Septiembre de 1971. GY28-2031-3.
  6. ^ IBM Corporation (abril de 1976). Guía del programador del ensamblador del sistema de tiempo compartido de IBM (GC28-2032-6) (PDF) . págs. 132–147 . Consultado el 25 de diciembre de 2021 .
  7. ^ IBM Corporation (1966). Resumen técnico preliminar del sistema de tiempo compartido IBM System/360 Model 67 (C20-1647-0) (PDF) . págs. 47–50 . Consultado el 25 de diciembre de 2021 .

Lectura adicional

  • Pugh, Emerson; Lyle R. Johnson; John H. Palmer (1991). Sistemas IBM 360 y primeros 370. Cambridge, MA: MIT Press. pp. 362–265, 596. ISBN 0-262-16123-0.Describe el origen y los problemas de programación del TSS.
  • Brooks, Frederick P. (1995). El mes mítico del hombre . Reading MA: Addison-Wesley. ISBN 0-201-83595-9.Describe el “síndrome del segundo sistema” que afecta al TSS.
  • Archivo de software de dominio público, incluye archivos binarios y de código fuente de TSS/370
  • Archivo de manuales TSS/360 en BitSavers.org, que contiene archivos PDF de una gran cantidad de manuales TSS de IBM
Retrieved from "https://en.wikipedia.org/w/index.php?title=TSS_(operating_system)&oldid=1209179152"