IBM i - IBM i

IBM i
Logotipo de IBM i (2021) .svg
Ibmi-main-menu.png
Menú principal de IBM i 7.1, que se muestra dentro de un cliente TN5250
Desarrollador IBM
Escrito en C ++ , C , PL / MI , Java , lenguaje ensamblador , Modula-2 , PL / MP
Familia OS IBM CPF
Estado de trabajo Actual
Modelo fuente Fuente cerrada
Versión inicial 26 de agosto de 1988 ; Hace 33 años ( 26 de agosto de 1988 )
Último lanzamiento 7.4 / 23 de abril de 2019 ; Hace 2 años ( 2019-04-23 )
Objetivo de marketing Minicomputadora , computadora de rango medio y servidor empresarial
Disponible en inglés
Método de actualización Programar arreglos temporales (PTF)
Gerente de empaquetación RPM y YUM para paquetes de código abierto
Plataformas IBM Power Systems , AS / 400 IMPI y PowerPC
Tipo de grano comparte muchas filosofías de diseño de microkernel (SLIC) y máquina virtual (TIMI)

Interfaz de usuario predeterminada
Interfaz de usuario basada en texto
Licencia Propiedad
Precedido por Programa de soporte del sistema , facilidad del programa de control
Página web oficial IBM i

IBM i (la i que significa integrado ) es un sistema operativo desarrollado por IBM para IBM Power Systems . Fue lanzado originalmente en 1988 como OS / 400 , junto con la línea de sistemas IBM AS / 400 . Fue renombrado a i5 / OS en 2004, antes de ser renombrado por segunda vez a IBM i en 2008. Es una evolución del sistema operativo System / 38 CPF , con capas de compatibilidad para las aplicaciones System / 36 SSP y AIX . Hereda una serie de características distintivas de la plataforma System / 38, incluida la interfaz de la máquina , la implementación de direccionamiento basado en objetos en la parte superior de un almacén de un solo nivel y la estrecha integración de una base de datos relacional en el sistema operativo.

Historia

Origen

OS / 400 se desarrolló junto con la plataforma de hardware AS / 400 a partir de diciembre de 1985.El desarrollo comenzó a raíz del fracaso del proyecto Fort Knox , que intentaba consolidar varias líneas de productos IBM de gama media y minicomputadora en una sola basada en IBM 801. procesador. El proyecto Fort Knox había estancado el desarrollo de nuevos productos en IBM Rochester , dejando a IBM sin un sistema competitivo de rango medio.

Durante el proyecto de Fort Knox, ingenieros que creían que el fracaso de Fort Knox era inevitable , iniciaron un proyecto de skunkworks en Rochester. Estos ingenieros desarrollaron un código que permitió que las aplicaciones System / 36 se ejecutaran sobre System / 38, y cuando se canceló Fort Knox, este proyecto de skunkworks se convirtió en un proyecto oficial para reemplazar tanto el System / 36 como el System / 38 con un solo nuevo plataforma de hardware. El proyecto se conoció como Silverlake (llamado así por Silver Lake en Rochester, Minnesota ). El sistema Silverlake se basó en los intentos de IBM Rochester de consolidar el System / 38 y el System / 36, y fue esencialmente una evolución del System / 38 que reutilizó parte del hardware y software desarrollado para el proyecto Fort Knox. El sistema operativo de Silverlake tenía el nombre en código XPF (Extended CPF ) y originalmente había comenzado como un puerto de CPF para el hardware de Fort Knox. Además de agregar soporte para las aplicaciones del Sistema / 36, algunas de las características de la interfaz de usuario y la facilidad de uso del Sistema / 36 se transfirieron al nuevo sistema operativo.

Silverlake estuvo disponible para pruebas de campo en junio de 1988 y se anunció oficialmente en agosto de ese año. En ese momento, se le había cambiado el nombre a Application System / 400 , y el sistema operativo se había llamado Operating System / 400 .

El cambio a PowerPC

El puerto a PowerPC requirió una reescritura de la mayor parte del código debajo de TIMI . Las primeras versiones de OS / 400 heredaron las capas de microcódigo horizontal y vertical de System / 38, aunque se les cambió el nombre a Código interno con licencia horizontal (HLIC) y Código interno con licencia vertical (VLIC), respectivamente. El puerto al nuevo hardware reemplazó IMPI y el microcódigo asociado, lo que requería que el VLIC se reescribiera para apuntar a PowerPC en lugar de IMPI, y que la funcionalidad del sistema operativo implementada previamente en el microcódigo HLIC se volviera a implementar en otro lugar. Esto llevó a que HLIC y VLIC fueran reemplazados por una sola capa denominada Código interno con licencia del sistema (SLIC). El SLIC se implementó en un estilo orientado a objetos con más de 2 millones de líneas de código C ++ , reemplazando todo el código HLIC y la mayor parte del código VLIC. Debido a la cantidad de trabajo necesario para implementar el SLIC, IBM Rochester contrató a varios cientos de programadores C ++ para el proyecto, que trabajaron en el SLIC en paralelo a las nuevas revisiones del VLIC para los sistemas CISC AS / 400. La primera versión de OS / 400 compatible con hardware basado en PowerPC fue V3R6.

Cambio de marca

Logotipo de IBM i5 / OS
Logotipo original de IBM i

La línea de productos AS / 400 se renombró varias veces durante las décadas de 1990 y 2000. Como parte del cambio de nombre de 2004 a eServer i5 , OS / 400 pasó a llamarse i5 / OS ; el 5 significa el uso de procesadores POWER5 . IBM describió la primera versión de i5 / OS, V5R3, como "un nombre diferente para el mismo sistema operativo".

En 2006, IBM cambió el nombre de la línea AS / 400 por última vez a System i . En abril de 2008, IBM consolidó el System i con la plataforma System p para crear IBM Power Systems . Al mismo tiempo, se cambió el nombre de i5 / OS a IBM i , para eliminar la asociación con los procesadores POWER5. Las dos versiones más recientes del sistema operativo en ese momento, que se habían lanzado como i5 / OS V5R4 y V6R1, pasaron a llamarse IBM i 5.4 y 6.1.

Junto con el cambio de marca a IBM i, IBM cambió la nomenclatura de control de versiones del sistema operativo. Los lanzamientos anteriores utilizaban un esquema de versión, lanzamiento y modificación , por ejemplo, V2R1M1. Esto fue reemplazado por un esquema Version.Release , por ejemplo, 6.1. A partir de IBM i 7.1, IBM reemplazó las versiones de modificación con actualizaciones tecnológicas . Las actualizaciones tecnológicas se entregan como PTF opcionales para versiones específicas del sistema operativo que agregan nuevas funciones o soporte de hardware al sistema operativo.

Arquitectura

Diagrama que muestra las capas arquitectónicas del sistema operativo IBM i y su relación con el hardware y las aplicaciones de usuario.

IBM i se divide en dos capas, el Código interno bajo licencia del sistema (SLIC) dependiente del hardware y el recurso de programa de control extendido (XPF) independiente del hardware . Estos están divididos por una capa de abstracción de hardware llamada Interfaz de máquina independiente de la tecnología (TIMI). IBM a menudo utiliza diferentes nombres para TIMI, SLIC y XPF en documentación y materiales de marketing, por ejemplo, la documentación de IBM i 7.4 se refiere a ellos como IBM i Machine Interface , IBM i Licensed Internal Code e IBM i Operating System respectivamente.

TIMI

TIMI aísla a los usuarios y las aplicaciones del hardware subyacente. Este aislamiento es más completo que las abstracciones de hardware de otros sistemas operativos e incluye la abstracción de la arquitectura del conjunto de instrucciones del procesador, el tamaño del espacio de direcciones y las características específicas de E / S y persistencia. Esto se logra a través de dos mecanismos interrelacionados:

  • Los compiladores para IBM i no generan código de máquina nativo directamente, sino que generan una representación intermedia de alto nivel definida por TIMI. Cuando se ejecuta un programa, el sistema operativo lleva a cabo la traducción anticipada de las instrucciones TIMI al código de máquina nativo para el procesador y almacena el código de máquina generado para la ejecución futura del programa. Si el proceso de traducción cambia, o se adopta un conjunto de instrucciones de CPU diferente, el sistema operativo puede regenerar de forma transparente el código de máquina a partir de las instrucciones TIMI sin necesidad de volver a compilarlo a partir del código fuente.
  • En lugar de operar sobre direcciones de memoria, las instrucciones TIMI operan sobre objetos . Todos los datos en IBM i, como archivos de datos, código fuente, programas y regiones de memoria asignada, se encapsulan dentro de objetos administrados por el sistema operativo (consulte el modelo " Todo es un archivo " en Unix ). Los objetos de IBM i tienen un tipo fijo, que define el conjunto de operaciones aplicables que se pueden realizar en ellos (por ejemplo, un objeto de Programa se puede ejecutar, pero no se puede editar). El modelo de objetos oculta si los datos se almacenan en almacenamiento primario o secundario . En cambio, el sistema operativo maneja automáticamente el proceso de recuperar y luego almacenar los cambios en el almacenamiento permanente.

TIMI es una extensión compatible con versiones anteriores de la interfaz System / 38 Machine y permite que las aplicaciones IBM i sean completamente independientes del hardware subyacente. El aislamiento de hardware proporcionado por TIMI permitió a IBM reemplazar la arquitectura IMPI de 48 bits del AS / 400 con la arquitectura RS64 de 64 bits en 1995. Las aplicaciones compiladas en sistemas que utilizan el conjunto de instrucciones IMPI podrían ejecutarse en la parte superior de los sistemas RS64 más nuevos sin ningún tipo de cambios de código, recompilación o emulación, al tiempo que permite que esas aplicaciones aprovechen el direccionamiento de 64 bits.

El almacenamiento de las instrucciones TIMI junto con las instrucciones del código de máquina nativo se conoce como observabilidad . En 2008, el lanzamiento de i5 / OS V6R1 (más tarde conocido como IBM i 6.1) introdujo una serie de cambios en la capa TIMI que causaron problemas para el software de terceros que eliminaron la observabilidad de los objetos de aplicación enviados a los clientes.

SLIC

IBM i durante la carga inicial del programa del SLIC

El SLIC consiste en el código que implementa TIMI sobre la arquitectura IBM Power. Además de contener la mayor parte de la funcionalidad típicamente asociada con el kernel de un sistema operativo , es responsable de traducir las instrucciones TIMI a código de máquina, y también implementa algunas funcionalidades de alto nivel que se exponen a través de TIMI, como la base de datos relacional integrada de IBM i. El SLIC implementa el modelo de almacenamiento basado en objetos de IBM i sobre un esquema de direccionamiento de tienda de un solo nivel , que no distingue entre almacenamiento primario y secundario y, en cambio, administra todos los tipos de almacenamiento en un solo espacio de direcciones virtuales . El SLIC se implementa principalmente en C ++ y reemplazó las capas HLIC y VLIC utilizadas en versiones de OS / 400 anteriores a V3R6.

XPF

El XPF consiste en el código que implementa los componentes independientes del hardware del sistema operativo, que se compilan en instrucciones TIMI. Los componentes de XPF incluyen la interfaz de usuario, el lenguaje de control , las utilidades de gestión de datos y consultas, las herramientas de desarrollo y las utilidades de gestión del sistema. El XPF también contiene el entorno System / 36 y el entorno System / 38 , que proporcionan API y utilidades de compatibilidad con versiones anteriores para aplicaciones y datos migrados desde sistemas SSP y CPF. XPF es el nombre interno de IBM para esta capa y, como sugiere el nombre, comenzó como una evolución de System / 38 Control Program Facility . El XPF se implementa principalmente en PL / MI , aunque también se utilizan otros lenguajes.

Por favor

El entorno de soluciones de aplicaciones portátiles (originalmente conocido como entorno de espacio de direcciones privado ) es una capa de compatibilidad AIX para IBM i. Proporciona compatibilidad binaria para ejecutables en modo de usuario que no interactúan directamente con el kernel de AIX y admite las interfaces binarias de aplicación AIX de 32 y 64 bits . PASE se incluyó por primera vez de forma limitada e indocumentada en la versión V4R3 de OS / 400 para admitir una adaptación de Smalltalk . Se anunció por primera vez a los clientes en el momento del lanzamiento de V4R5, momento en el que había ganado una funcionalidad adicional significativa.

PASE consiste en el espacio de usuario de AIX que se ejecuta en la parte superior de una interfaz de llamada del sistema implementada por SLIC. Las interfaces de llamada del sistema permiten la interoperabilidad entre PASE y las aplicaciones nativas de IBM i, por ejemplo, las aplicaciones PASE pueden acceder a la base de datos integrada o llamar a las aplicaciones nativas de IBM i y viceversa. Durante la creación de PASE, se agregó al sistema operativo un nuevo tipo de objeto de almacenamiento de un solo nivel llamado Teraspace , que permite que cada proceso PASE tenga un espacio privado de 1TiB que se direcciona con punteros de 64 bits. Esto era necesario ya que todos los trabajos de IBM i (es decir, los procesos) normalmente comparten el mismo espacio de direcciones. Las aplicaciones PASE no utilizan las instrucciones TIMI independientes del hardware, sino que se compilan directamente en el código de la máquina Power.

PASE es distinto del entorno Qshell , que es una implementación de un shell Unix y las utilidades asociadas creadas sobre las API nativas compatibles con POSIX de IBM i.

Características

Gestión de base de datos

IBM i presenta una base de datos relacional integrada actualmente conocida como IBM Db2 para IBM i . La base de datos evolucionó a partir de la base de datos no relacional System / 38, ganando soporte para el modelo relacional y SQL . La base de datos originalmente no tenía nombre, sino que se describió simplemente como "soporte de base de datos". Se le dio el nombre DB2 / 400 en 1994 para indicar una funcionalidad comparable a otras bases de datos comerciales de IBM. A pesar de la marca Db2, Db2 para IBM i es una base de código completamente separada de Db2 en otras plataformas y está estrechamente integrada en la capa SLIC de IBM i en lugar de ser un producto opcional.

IBM i proporciona dos mecanismos para acceder a la base de datos integrada: la llamada interfaz nativa , que se basa en el modelo de acceso a la base de datos del System / 38, y SQL . La interfaz nativa consta del lenguaje Especificaciones de descripción de datos (DDS), que se utiliza para definir esquemas y la API de OPNQRYFcomandos o QQQQRYconsultas. Algunas funciones de Db2 para i, como la gestión de bases de datos relacionales de objetos, requieren SQL y no se puede acceder a ellas a través de la interfaz nativa. IBM i tiene dos optimizadores de consultas independientes conocidos como Classic Query Engine (CQE) y SQL Query Engine (SQE). Estos se implementan dentro del SLIC junto con un Despachador de consultas que selecciona el optimizador apropiado según el tipo de consulta. El acceso remoto a través de la interfaz nativa y SQL lo proporcionan la Arquitectura de administración de datos distribuida (DDM) y la Arquitectura de base de datos relacional distribuida, respectivamente.

Un motor de almacenamiento para MySQL y MariaDB named IBMDB2Ipermite que las aplicaciones diseñadas para esas bases de datos utilicen Db2 for i como almacén de respaldo. Otras bases de datos de código abierto se han adaptado a IBM i, incluidas PostgreSQL , MongoDB y Redis . Estas bases de datos se ejecutan en el entorno PASE y son independientes de las funciones de base de datos integradas del sistema operativo.

Redes

IBM i admite redes TCP / IP además de la arquitectura de red patentada de IBM Systems .

Históricamente, se accedía a los sistemas IBM i y se administraban a través de terminales IBM 5250 conectados al sistema con cableado twinax . Con el declive del hardware de terminal dedicado, normalmente se accede a los sistemas IBM i modernos a través de emuladores de terminal 5250 . IBM proporciona dos productos de emulador de terminal para IBM i:

  • IBM i Access Client Solutions es un cliente basado en Java que se ejecuta en Linux , macOS y Windows para proporcionar emulación 5250.
  • IBM i Access para Web / Mobile proporciona emulación 5250 basada en web.

Además, IBM proporciona una consola de gestión basada en web y un producto de análisis de rendimiento denominado IBM Navigator for i.

Fuente abierta

Algunas de las aplicaciones de código abierto portadas a IBM i incluyen:

El software de código abierto para IBM i normalmente se empaqueta con el formato de paquete RPM y se instala con el administrador de paquetes YUM . YUM y RPM reemplazaron el producto 5733-OPS, que se usaba anteriormente para instalar software de código abierto en IBM i.

Programación

Los lenguajes de programación disponibles de IBM para IBM i incluyen RPG , Control Language , C , C ++ , Pascal , Java , EGL , Smalltalk , COBOL , BASIC , PL / I y REXX . El entorno de lenguaje integrado (ILE) permite que los programas de los lenguajes compatibles con ILE (C, C ++, COBOL, RPG y CL) estén vinculados al mismo ejecutable y llame a procedimientos escritos en cualquiera de los otros lenguajes ILE.

Los sistemas IBM también pueden venir con software de programación y desarrollo, como Programming Development Manager . IBM proporciona un entorno de desarrollo integrado basado en Eclipse para IBM i denominado IBM Rational Developer para i.

IBM i utiliza EBCDIC como codificación de caracteres predeterminada , pero también proporciona soporte para ASCII , UCS-2 y UTF-16 .

Almacenamiento

En IBM i, las unidades de disco se pueden agrupar en una agrupación de almacenamiento auxiliar (ASP) para organizar los datos y limitar el impacto de las fallas de los dispositivos de almacenamiento y reducir el tiempo de recuperación. Si se produce una falla en el disco, solo se deben recuperar los datos del grupo que contiene la unidad que falla. Las ASP también se pueden utilizar para mejorar el rendimiento al aislar objetos con características de rendimiento similares, por ejemplo, receptores de diario, en su propio grupo.

De forma predeterminada, todas las unidades de disco se asignan al grupo 1. El concepto de grupos de IBM i es similar al concepto Unix / Linux de grupos de volúmenes ; sin embargo, con IBM i es habitual que todas las unidades de disco se asignen a una única ASP.

Seguridad

IBM i fue uno de los primeros sistemas operativos de propósito general en obtener una calificación de seguridad C2 de la NSA . El soporte para la seguridad de nivel C2 se agregó por primera vez en la versión V2R3 de OS / 400.

Cronograma de lanzamiento

Versión Marca Fecha de lanzamiento Fin de
apoyo al programa
Versión antigua, ya no se mantiene: V1R1 OS / 400 1988-08-26 1993-05-31
Versión antigua, ya no se mantiene: V1R1M2 1988-11-25
Versión antigua, ya no se mantiene: V1R2 1989-10-27
Versión antigua, ya no se mantiene: V1R3 1990-09-28
Versión antigua, ya no se mantiene: V2R1 1991-05-24 1994-06-30
Versión antigua, ya no se mantiene: V2R1M1 1992-03-06
Versión antigua, ya no se mantiene: V2R2 1992-09-18 1995-03-31
Versión antigua, ya no se mantiene: V2R3 1993-12-17 1996-05-31
Versión antigua, ya no se mantiene: V3R0M5 1994-05-04 1997-05-31
Versión antigua, ya no se mantiene: V3R1 1994-11-25 1998-10-31
Versión antigua, ya no se mantiene: V3R2 1996-06-21 2000-05-31
Versión antigua, ya no se mantiene: V3R6 1995-12-22 1998-10-31
Versión antigua, ya no se mantiene: V3R7 1996-11-08 1999-06-30
Versión antigua, ya no se mantiene: V4R1 1997-08-29 2000-05-31
Versión antigua, ya no se mantiene: V4R2 1998-02-27 2000-05-31
Versión antigua, ya no se mantiene: V4R3 1998-09-11 2001-01-31
Versión antigua, ya no se mantiene: V4R4 1999-05-21 2001-05-31
Versión antigua, ya no se mantiene: V4R5 2000-07-28 2002-07-31
Versión antigua, ya no se mantiene: V5R1 2001-05-25 2005-09-30
Versión antigua, ya no se mantiene: V5R2 2002-08-30 2007-04-30
Versión antigua, ya no se mantiene: V5R3 i5 / OS 2004-06-11 2009-04-30
Versión antigua, ya no se mantiene: V5R4 / 5.4 i5 / OS
Posterior IBM i
2006-02-14 2013-09-30
Versión antigua, ya no se mantiene: V6R1 / 6.1 2008-03-21 2015-09-30
Versión antigua, ya no se mantiene: 6.1.1 IBM i 2009-10-23
Versión antigua, ya no se mantiene: 7.1 2010-04-23 2018-04-30
Versión antigua, ya no se mantiene: 7.2 2014-05-02 2021-04-30
Versión anterior, pero aún se mantiene: 7.3 2016-04-15 TBA
Versión estable actual: 7.4 2019-06-21 TBA
Leyenda:
Versión antigua
Versión anterior, aún mantenida
Ultima versión
Última versión de vista previa
Lanzamiento futuro

Ver también

Referencias

enlaces externos