Usuario:Piero71/System Support Program
System Support Program (SSP) | ||
---|---|---|
Menú principal del SSO 7.5, mostrado dentro de un cliente TN5250 | ||
Información general | ||
Desarrollador | IBM | |
Lanzamiento inicial | 1977 | |
Licencia | Privativo | |
Estado actual | Descontinuado | |
Información técnica | ||
Plataformas admitidas | minicomputadoras System/34 y System/36 | |
Interfaz gráfica predeterminada | Interfaz de línea de comandos | |
Lanzamientos | ||
System Control Program (SCP) | System Support Program (SSP) | OS/400 |
El System Support Program (SSP, programa de soporte del sistema) era el sistema operativo de las minicomputadoras IBM System/34 y System/36. El SSP fue un sistema operativo basado en comandos lanzado en 1977.
Historia
[editar]El SSP originalmente contenía alrededor de 60 comandos que se implementaron en el System/34 de 1977 a 1983 en diferentes versiones llamadas releases. La versión 1 se lanzó con el S/34 original en 1977. La versión 9 se lanzó en 1981. En 1983, IBM volvió a empaquetar el SSP en una nueva computadora llamada IBM System/36, que no era compatible con el código objeto con el S/34. En 1994, IBM volvió a empaquetar SSP en un modelo actualizado del S/36 llamado Advanced/36. El A/36 era un IBM AS/400 que tenía el SSP implementado como una «máquina virtual».
Los principales lanzamientos de SSP incluyen:
- S/34
- S/34 Release 1.0: aparentemente [cita requerida] se envió con el primer S/34 en 1977.
- S/34 Release 8.0: parece[cita requerida] que se emitió alrededor de 1980.
- S/34 Release 9.0: esta fue la última versión del S/34, c.1980.
- S/36
- S/36 Release 1.0: aparentemente [cita requerida] se envió con el primer S/36 en 1983.
- S/36 Release 2.0: esta versión admitía la unidad de cinta 8809.
- S/36 Release 4.0: esta fue la versión en la que S/36 recibió 5 colas de trabajo.[cita requerida]
- S/36 Release 5.1: esta versión de 1988 fue el último cambio importante en las plataformas 536X.
- S/36 Release 6.0: también conocido como VASP o producto de soporte de valor agregado[cita requerida], esta versión agregó funcionalidad que permitía llamadas de programa en RPG, y también proporcionó software para calcular el tamaño del AS/400 que el usuario necesitaría al actualizar. El VASP fue controvertido[cita requerida]. Circulaban rumores en los documentos de la industria[cita requerida] de que el cliente no podía volver a 5.1 si 6.0 no funcionaba adecuadamente. Las llamadas de programa con RPG CALL/PARM fueron inferiores a los diseños de RPGIII e inferiores a los productos complementarios del cliente.[cita requerida]
- S/36 Release 7.1: esta versión de 1994 se entregaba con los Advanced/36 (modelos 9402-236). Las primeras máquinas A/36 no funcionaban en una versión anterior y también eran incompatibles con 7.5 (mientras que, técnicamente, el código objeto del programa de una máquina 7.1 se ejecutaría en una 7.5 y viceversa, además muchos 9402-236 se actualizaron a 9402-436, que cambiaron la placa base e instalaron un nuevo código LIC y lo restauraron en una copia de sus archivos y listo, todo funcionó). Circulaban rumores de que los compiladores de versiones anteriores no funcionarían en Advanced/36, pero resultaron ser infundados. Había razones por las que un programador preferiría usar el compilador 5.1 RPGII en lugar del presumiblemente más avanzado compilador 7.x.
- S/36 Release 7.5: esta versión de 1995 se entregó con la segunda y última tanda de Advanced/36 (9402-436). Funciones como WRKSYSVL permitían al operador cambiar la hora del sistema sobre la marcha, lo cual era interesante porque los complementos del cliente para hacer esto a través de subrutinas del ensamblador no funcionaban en Advanced/36. Sin embargo, las rutinas del ensamblador para hacer cosas como abrir/cerrar archivos, recuperar el VTOC, etc. funcionaron bien en 7.1 y 7.5
- Guest/36 (Guest, invitado): esta es la versión 7.5, pero puede configurar un M36 (un invitado) en un AS/400 (ejecutando OS/400 V3R6 a V4R4), y sería funcionar como el 9402-436, excepto que además de tener esta "partición" invitada, también tenía OS/400 si lo deseaba. Entonces, si el 9402-436 que venía en 3 velocidades 2102, 2104 y 2106 (el último era aproximadamente 2,7 veces más rápido que el base) no era lo suficientemente rápido, podría obtener una máquina 9406-xxx e instalar un "Guest/36" en dichas máquinas. Y de hecho podrías instalar más de un Guest/36. Había algunas limitaciones en cuanto a la cantidad de estaciones de trabajo conectadas, pero tener dos Guest/36 ejecutándose en un AS/400 y configurar DDM (administración de datos distribuidos) entre ellos e incluso con OS/400 para alojar archivos grandes, se podía hacer fácilmente. Mientras que el S/36 y el A/36 funcionaron en su mayor parte solo con terminales conectados por twinax, en un Guest/36 (o M/36) podía tener todos sus terminales en una LAN ejecutando tcp/ip y ser dispositivos virtuales en el entorno Guest/36.
- S36EE (entorno de ejecución S/36): esto fue compatible de forma nativa en el AS/400 y sus continuaciones (iSeries, IBM i), lo que permite que un usuario continúe ejecutando sus programas S/36 y procedimientos sin tener que convertirlos. Muchos de los procesos del sistema también funcionan con tales equipos. Si bien normalmente era "más lento" ya que tiene que pasar por pasos adicionales, sin embargo, hoy en día con máquinas tan rápidas, la velocidad de un S36EE es muchas veces más rápida que la velocidad de ejecución del A/36. Ejemplo, un trabajo que tardaba 12 minutos en ejecutarse en un Advanced/36, tardaba 20 segundos en ejecutarse en modo S36EE. Sin embargo, el código objeto NO es compatible con los S/36 y A/36 anteriores, lo que significa que había que volver a compilar todos los programas y menús. Sin embargo, una ventaja es que no solo puede ejecutar aplicaciones S36EE, sino también OS/400. Puede acceder a las tablas de la base de datos en sus programas S/36, puede llamar a los programas RPG/400 y RPGIV desde un programa S/36. Entonces, aunque técnicamente no es SSP, parece SSP, actúa como SSP y ejecutará sus programas/procesos S/36.
Limitaciones en el sistema operativo S/36, A/36 y M/36: la cantidad máxima de espacio en disco que un sistema podía utilizar era de 4 Gb (por ocurrencia del sistema operativo, por lo que una máquina que ejecuta dos "particiones" M36 podría tener 4 gb en cada uno. Otra limitación era el tamaño del programa, no podía exceder los 64 KB. Si tenía un programa que era más grande que eso, tenía que volverse creativo en los años posteriores cuando entró en funcionamiento call/parm, ya que
Limitaciones en el sistema operativo S/36, A/36 y M/36: la cantidad máxima de espacio en disco que un sistema podía utilizar era de 4 Gb (por ocurrencia del sistema operativo, por lo que una máquina que ejecuta dos "particiones" M36 podría tener 4 GB en cada uno. Otra limitación era el tamaño del programa, no podía exceder los 64 KB. Si tenía un programa que era más grande que eso, tenía que volverse creativo en los últimos años cuando entró en vigor call/parm, ya que movería el código a un programa llamado, porque si el programa base fuera de 63 kb, por ejemplo, podría llamar fácilmente a un programa de 20 kb. Tampoco podía tener más de alrededor de 8000 archivos en la máquina. También había restricciones en la cantidad de archivos que podía traer en un programa (una vez más, puede moverse colocando archivos en programas llamados y volviendo a pasar el resultado). Estas limitaciones existen en S36EE (hay una cantidad máxima de archivos en un programa, pero mucho mayor que en SSP nativo).
Funciones y componentes
[editar]Con SSP, el operador puede crear, eliminar y administrar objetos S/34-36 como bibliotecas, archivos de datos, menús, procedimientos, miembros fuente y archivos de seguridad.
SSP contiene módulos como DFU, SEU, SDA y WSU que permiten a los operadores crear bibliotecas y archivos, ingresar información en esos archivos, producir informes simples y mantener una estructura de menús que simplifique el acceso a la información. El Advanced/36 no es compatible con WSU. La seguridad de contraseñas y recursos también se implementa a través de SSP, al igual que las comunicaciones remotas, que hoy en día es similar a redes de acceso telefónico.
SSP es un sistema operativo basado en disco. Los programas de computadora se pueden ejecutar desde el disco fijo, pero no desde un disquete o cinta. El complemento de un System/34 5340 o System/36 5360/5362 es una matriz de discos fijos de uno a cuatro discos fijos, al menos un terminal de computadora y una unidad de disquete de 8", equipada opcionalmente con dos unidades de cargador que pueden contener 10 disquetes cada uno y tres ranuras para disquetes. Un S/36 5363/5364 tiene una disquetera de 5 1/4". Las computadoras S/36 se pueden configurar con una unidad de cinta de carrete a carrete 8809 (800/1600 bpi) o una unidad de cartucho de cuarto de pulgada (QIC) 6157 de 1/4". Las computadoras A/36 tienen una unidad QIC de alta densidad, pero la La unidad de disquete de 5,25" u 8" (simple) era opcional, al igual que la unidad de cinta 9348-001 de 9 pistas (carrete a carrete) de 1600/6250 bpi.
Programas de utilidad del sistema
[editar]Los procedimientos del SSP utilizan programas utilitarios, que en algunos casos pueden ser más útiles para el programador de computadoras que los propios procedimientos del SSP. $MAINT es la utilidad de la biblioteca, utilizada en ALOCLIBR, BLDLIBR, FROMLIBR, LIBRLIBR, REMOVE, CONDENSE, LISTLIBR y TOLIBR. $COPY es la utilidad de archivos utilizada en SAVE, RESTORE, COPYDATA y LISTDATA. Hay muchas otras utilidades, incluidas $FBLD, $LABEL, $DUPRD, $INIT, {{mono|$DELET} }, $HIST, $CNFIG, #GSORT, $PACK y $PROF, que son más flexible a nivel de programa de lo que pueden ser los procedimientos asociados del SSP.
Configuración usando CNFIGSSP
[editar]Se utilizaba el procedimiento CNFIGSSP para configurar el sistema, incluidos los dispositivos. Cada dispositivo tiene asignado un ID de dos caracteres. La primera letra debe ser alfabética; la segunda debe ser alfanumérica. El sistema también reservó ciertas identificaciones; el dispositivo no puede llamarse I1 o F1, por ejemplo. I1 es el nombre de la unidad de disquete; F1 es lo que el sistema llama el disco duro (significa «disco fijo», ya que no es un paquete de discos extraíbles).
Para aplicar CNFIGSSP, el sistema debe estar dedicado (no hay otros usuarios conectados o programas ejecutándose). El sistema debe ser IPL (reiniciado). Cuando finalice la IPL, los nuevos dispositivos aparecerán en la pantalla de estado.
SDA - Ayuda para el diseño de pantallas
[editar]SDA permite al operador crear formatos de pantalla o menús. Las teclas de comando se pueden habilitar/deshabilitar. Se pueden crear y condicionar campos de entrada, campos de salida y constantes. Las condiciones (en RPG se denominan indicadores) pueden hacer que los campos desaparezcan o cambien de color.
SEU - Utilidad de entrada de fuente
[editar]SEU es un editor de texto que permite la entrada de datos línea por línea. Se utilizan formularios especiales para ayudar al operador a teclear programas RPG u otros tipos de lenguajes basados en formularios (WSU, Sort, SDA, etc.)
SORT - La utilidad de clasificación del sistema
[editar]SORT tiene de uno a ocho archivos de entrada, que pueden tener cualquier longitud de registro válida. Tiene un archivo de salida, de cualquier longitud indicada, que puede contener desde cero hasta más de 8 millones de registros.
Una ordenación puede contener registros completos o solo direcciones de 3 bytes que apunten a registros en un archivo asociado. Esto se denominó archivo de dirección de salida o ADDROUT. Cuando se usa un Addrout, el programa lee estas direcciones de 3 bytes y luego obtiene los registros asociados del archivo maestro.
WSU - Utilidad de estación de trabajo
[editar]Este era un lenguaje similar a RPG que se ejecutaba en SSP. Se centró en los programas de tipo de entrada de datos. WSU era gratis, pero no fue particularmente bien recibido porque era muy limitado.
DFU - Utilidad de archivo de dato s
[editar]Era un elemento gratuito proporcionado por IBM que se utilizaba para ver y cambiar valores de campos en registros individuales.
Se podía utilizar DFU:
- por programadores para actualizar archivos de base de datos sobre la marcha sin escribir programas
- por programadores para crear programas simples para realizar operaciones básicas en un archivo de base de datos
- por personal de ingreso de datos para agregar o eliminar registros de un archivo, o para imprimir registros.
Programación
[editar]Lenguaje de control operativo (OCL)
[editar]Los programas de lenguaje de alto nivel requieren OCL para ser activados. OCL se usa para cargar programas en la memoria del sistema e iniciarlos (un proceso llamado ejecución) y asignar recursos como archivos de disco, impresoras, mensajes de miembros, memoria y espacio en disco a esos programas. Otras capacidades, como mostrar texto en la pantalla, pausar mensajes, etc., hicieron que OCL sea más potente.
RPG II
[editar]RPG II se modificó de los días del System/3 para permitir el acceso al «archivo WORKSTN» para permitir que un lenguaje basado en tarjetas perforadas interactúe con una persona sentada frente a un teclado y un monitor. Un archivo WORKSTN era un archivo de salida (escribía en el monitor) y también un archivo de entrada (porque aceptaba la entrada del teclado del usuario). Por lo tanto, se etiquetó como un archivo primario combinado o un archivo de demanda combinada.
Las teclas de comando se convirtieron en indicadores RPG KA-KY, y diferentes formularios en pantalla fueron reconocidas por diferentes caracteres de control invisibles ocultos en los mismos formularios. Dado que el usuario tenía que mostrar un formulario en la pantalla para escribir, RPG II proporcionó una forma para que un programa escribiera la salida antes de aceptar la entrada. Muchos programadores exitosos pasaron de usar el archivo WORKSTN primario combinado a usar un archivo de demanda combinada, que tenía códigos de operación para leer y escribir la pantalla. Incluso había una forma de codificar para múltiples WORKSTN; varias personas podían iniciar sesión en la misma copia del mismo programa en la memoria. El tamaño de programa más grande fue de 64k.
Atributos del programa: MRT, SRT, NRT y NEP
[editar]MRT = Programa de Solicitante Múltiple de Terminal. SSP podía conectar hasta 7 terminales a un programa a la vez. Cualquier operador podía iniciar el programa en su terminal, luego los terminales de otros operadores se conectarían cuando seleccionaran el mismo programa. El programador controlaba el número máximo de terminales a las que se daría servicio.
SRT = Programa de Solicitante Único de Terminal. No es un MRT.
NRT = Sin Programa de Solicitante de Terminal. Iniciado en una terminal, la NRT libera la terminal solicitante y continúa. Esto es similar a un programa TSR (Terminate and Stay Resident) de MS-DOS. Por definición, cualquier programa que fue EVOKEado o enviado al JOBQ era un NRT.
NEP = Programa Interminable. Este era típicamente un programa MRT interactivo que esperaría después de que todas las terminales se desconectaran hasta que alguna terminal se volviera a conectar, evitando la sobrecarga de iniciación. Esto se usaba comúnmente para permitir que los programas grandes se implementaran como una cadena de programas pequeños que pasarían los terminales de uno a otro mientras permanecían listos para continuar procesando para otros terminales y/o transacciones posteriores. Los programas NRT también podían ser NEP si se escriben en bucle y esperan alguna condición que indique que hay trabajo por hacer. Los programas NEP normalmente no terminaban hasta que se apagaba el sistema, a menos que se escribieran para reconocer alguna condición de terminación especial.
Formatos de código de objeto
[editar]Código objeto generado por Cobol, Fortran y RPG (tipo O). Basic era solamente interpretado; una utilidad de compilación llamada BASICS creó un código de subrutina (tipo R). Los programas Basic se podían guardar como fuentes para compatibilidad con otras computadoras, pero el texto del proyecto se conservaba en la subrutina (a menos que el programador usara el parámetro LOCK para mantenerlo privado).
Los procedimientos, que usan OCL para iniciar programas y asignarles recursos, son del tipo P.
Los miembros de origen para todos los objetos son de tipo S, con la excepción de Basic como se especificó anteriormente.
Los programas DFU generaban código de subrutina (R). También lo hicieron los programas de WSU.
Los formatos de pantalla generan código objeto.
Los menús generaban código objeto. Un menú es simplemente un formato de pantalla muy específico con un miembro de mensaje complementario con dos signos de numeral ("##") como sufijo para contener la acción que se realizará cuando se elija el número asociado.
Aplicaciones SSP populares
[editar]- La Programmer and Operator Productivity Aid (POP, ayuda a la productividad del programador y operador) fue un programa de desarrollo ampliamente utilizado. Se incluyó con el Advanced/36.
- MAPICS, el Sistema de Control de Información de Fabricación y Producción.
- IMAS, un paquete de contabilidad simple
- BPCS, un sistema de contabilidad más avanzado
- IBM Office/36 colección de programas (DisplayWrite/36, IDDU, Query, etc.) fueron populares a fines de la década de 1980 y luego se incluyeron con Advanced/36. El editor de texto System/34 fue un precursor de Office/36.
- El sistema de procesamiento de textos Britz era un editor de texto de propósito general que tenía capacidades de combinación de correspondencia, etiquetas y edición básica de archivos.
Seguridad del sistema
[editar]Hay cuatro tipos de seguridad en un sistema SSP:
- Distintivo de seguridad.
- Contraseña de seguridad.
- Recursos de seguridad.
- Menú de seguridad.
La credencial de seguridad se implementa mediante un lector de banda conectado a un terminal de la serie 5250. Para iniciar sesión, el usuario no solo ingresaba la información de usuario/contraseña, sino que también pasaba la credencial por el lector.
SECEDIT
[editar]Se utilizó el procedimiento SECEDIT para trabajar con ID y contraseñas de usuarios. El perfil de usuario contiene una identificación de usuario alfanumérica de 1 a 8 caracteres, una contraseña alfanumérica de 4 caracteres, un código para la calificación de seguridad del usuario: M (oficial principal de seguridad), S (oficial de seguridad), O (operador del sistema), C (Operador de la subconsola), o D (Operador de la estación de visualización), y una serie de otras configuraciones predeterminadas.
El procedimiento SECEDIT RESOURCE se utilizó para establecer clasificaciones de seguridad para objetos de archivo, biblioteca, carpeta y grupo. Los niveles de acceso de O (Propietario), C (Cambiar), U (Actualizar), R (Leer), E (Ejecutar) o N (Ninguno) se pueden otorgar a un usuario para un recurso en particular. Un objeto de grupo era una especie de sociedad de cartera que poseía uno o más objetos inferiores. Por ejemplo, otorgar acceso al grupo CUENTAG facilitó el acceso a todos los archivos de contabilidad. Los objetos de grupo también pueden hacer referencia a archivos de grupo; el grupo UB referenciado UB.OLD, UB.NEW, UB.01, o cualquier nombre de archivo con el punto incrustado.
SECEDIT USERID también se usó para limitar la autoridad operativa de un usuario a un menú específico. Al ingresar una Y para Menú obligatorio y especificar un menú de inicio de sesión predeterminado, el oficial de seguridad podía evitar que el usuario acceda a cualquier programa que no se encuentre en ese menú de inicio de sesión. Un usuario tan confinado solo podía ejecutar opciones de menú, enviar mensajes y cerrar sesión en el sistema.
Otros procedimientos
[editar]Se utilizó el procedimiento PROF («Perfil») para trabajar con ID de usuarios y contraseñas. El perfil de usuario contiene una identificación de usuario alfanumérica de 1 a 8 caracteres, una contraseña alfanumérica de 4 caracteres, un código para la calificación de seguridad del usuario: M (oficial principal de seguridad), S (oficial de seguridad), O (operador del sistema), C (operador de subconsola), o D (operador de la estación de visualización), y una serie de otras configuraciones predeterminadas.
El procedimiento PRSRCID («Seguridad de recursos de perfil por ID de usuario») se utilizó para establecer clasificaciones de seguridad para objetos de archivos y bibliotecas. Los niveles de acceso de O (Propietario), G (Cambiar), R (Lectura), E (Ejecutar) o N (Ninguno) se pueden otorgar a un usuario a un recurso en particular.
El catálogo de discos impresos (VTOC, Volume Table of Contents) mostraba todos los objetos protegidos con la notación 3 como protegidos.
Archivos, bibliotecas y carpetas
[editar]SSP proporciona dos objetos de datos diferentes llamados archivos y bibliotecas. Los archivos contienen registros, casi siempre con una longitud de registro fija. Las bibliotecas contienen programas que pueden hacer referencia y acceder a estos archivos. SSP contenía más de 80 comandos diferentes que permitían a los operadores crear, eliminar, copiar, editar/cambiar y proteger archivos y bibliotecas.
Una biblioteca o un archivo debe existir en una organización contigua en un disco fijo (sin embargo, una biblioteca puede contener una «extensión» de aproximadamente 50 bloques que deben reorganizarse y no puede ampliarse si se asigna a otros usuarios). Un archivo puede organizarse con un valor EXTEND o puede asignarse con OCL FILE para extenderse automáticamente. Todas las adiciones/actualizaciones/eliminaciones de registros esperan mientras se amplía el archivo. Es una buena política crear valores extendidos lo suficientemente grandes como para minimizar la frecuencia de las extensiones. Las bibliotecas podrían tener «extensiones» que no fueran contiguas. A veces, al compilar un programa, se creaba una extensión y al hacer una «CONDENSE» (condensación), se eliminaba si había suficiente espacio en la asignación principal para ella. De lo contrario, se hizo un ALOCLIBR para reasignar la biblioteca a un tamaño mayor.
Los archivos en el S/36 pueden ser secuenciales (S), directos (D) o indexados (I). Un archivo indexado puede tener varios índices alternativos (X) y, de hecho, un archivo secuencial puede tener índices alternativos colocados en él, por lo que no hay un índice principal. Un archivo indexado contiene una clave, que debe ser contigua y puede tener hasta 60 caracteres; sin embargo, los índices alternativos pueden tener claves de tres partes que no son contiguas entre sí. Las claves duplicadas en archivos de índice indexados o alternativos pueden estar permitidas o no. Un archivo con organización directa se crea con todos los registros agregados y no puede extenderse automáticamente. Un archivo con organización secuencial o indexada se construye sin agregar registros. Un índice alternativo siempre tiene tantos registros como su padre, a diferencia de un archivo lógico de estilo System/38 que se construye con condiciones para filtrar registros del padre.
En 1986, se agregó a SSP soporte para Arquitectura de administración de datos distribuidos (DDM). Esto permitió que los programas System/36 crearan, administraran y accedieran a archivos orientados a registros en sistemas remotos System/36, System/38 y mainframes IBM que ejecutan CICS. También habilitó programas en computadoras remotas System/36 y System/38 para crear, acceder y administrar archivos en un System/36. Los modelos de archivo iniciales orientados a registros definidos por DDM se basaron en el sistema de archivos System/36.
Sistemas operativos relacionados
[editar]El System/3 (1969) ejecutó un sistema operativo por lotes basado en disco llamado System Control Program (SCP) (5702-SC1). Posteriormente, IBM introdujo un programa en línea para el System/3 llamado Programa de control de comunicaciones (CCP) que se inició como un programa por lotes. IBM System/32 (1975) ejecutaba un sistema operativo basado en disco también llamado Programa de control del sistema. IBM System/38 (1978) ejecutaba un sistema operativo llamado Control Program Facility (CPF) que era mucho más avanzado que SSP y no particularmente similar.
Referencias
[editar]- IBM Publication SC21-8299, General Information for SSP Operating System.
- Bitsavers Archive of System/34 Documentation - Incluye documntación de IBM del SSP
- Bitsavers Archive of System/36 Documentation - Incluye documntación de IBM del SSP
Enlaces externos
[editar]- Esta obra contiene una traducción derivada de «System Support Program» de Wikipedia en inglés, publicada por sus editores bajo la Licencia de documentación libre de GNU y la Licencia Creative Commons Atribución-CompartirIgual 4.0 Internacional.