IBM System i

IBM System i — серия серверов IBM. Для этой серии была создана операционная система IBM i. Серия создана 21 июля 1988 года под названием AS/400, переименована в eServer iSeries в 2000 году, затем в System i (с 2006 года).

В апреле 2008 года IBM заявила об интеграции платформ System i и System p под брендом IBM Power Systems с поддержкой ОС IBM i (ранее также называвшейся i5/OS и OS/400), AIX и Linux.

История 
Система IBM System/38 была представлена в ноябре 1980 в качестве мини-компьютера для бизнес-пользователей. В 1988 она была заменена компьютером AS/400. В нём использовалась объектная операционная система IBM i (изначально называлась OS/400 по аналогии с OS/360 и OS/2, затем переименовывалась в i5/OS).

Основные возможности: работа СУБД DB2/400, интерфейс основанный на меню, поддержка многопользовательской работы, поддержка терминалов IBM 5250, принтеров. Современные версии поддерживают выполнение веб-приложений (на базе IBM WebSphere или PHP/MySQL).

Unix-подобные операционные системы используют парадигму «все есть файл» («everything is a file»), тогда как System i использует принцип «все есть объект». Операционной системой предоставляется сборщик мусора и сохранение объектов. Юникс-подобная файловая система эмулируется при помощи Integrated File System. Реализована версия виртуальной машины Java.

Платформа IBM System i расширяет объектно-ориентированную систему System/38 встроенной реляционной СУБД IBM DB2.

Система команд 
Одной из особенностей платформы IBM System i является использование высокоуровневой системы команд TIMI («Technology Independent Machine Interface», ), которая позволяет программам быть переносимыми и при этом получать пользу от более современного аппаратного и программного обеспечения без перекомпиляции.

TIMI является виртуальной системой команд, не зависящей от реальной системы команд центрального процессора. Приложения, работающие в режиме пользователя, могут содержать одновременно машинные коды TIMI и машинные коды конкретного процессора. Концептуально система сходна с архитектурой виртуальных машин, таких как Smalltalk, Java, .NET. Основное отличие от них — глубокая интеграция TIMI в архитектуру AS/400, таким образом, что приложения являются переносимыми между системами System i с различными микропроцессорами.

Особо надо отметить, что в отличие от других виртуальных машин, которые интерпретируют виртуальные инструкции при запуске ПО, инструкции TIMI не интерпретируются. При компиляции ПО, в объектном файле сохраняется как машинный код конкретного процессора, так и TIMI-код. Если приложение, скомпилированное для оригинальных 48-битных процессоров CISC AS/400, будет запущенно на системе с более новым RISC-процессором, например, 64-битном PowerPC, то операционная система проигнорирует машинный код старого процессора и оттранслирует TIMI-код в инструкции нового процессора перед запуском.

Программирование 
Для AS/400 были реализованы языки программирования ассемблера, RPG, C, C++, Pascal, Java, EGL, Perl, Smalltalk, COBOL, SQL, BASIC, PHP, PL/I, Python, REXX.

См. также 
 AS/400 Control Language
 AS/400 Libraries
 AS/400 Library List
 AS/400 object
 i5/OS
 IBM 5250
 IPDS
 iSeries QSHELL
 COMMON
 IBM System p

Примечания

Ссылки 
 IBM’s Power Systems product page
 IBM Hardware list for «System i»
 MidrangeWiki
 AS/400: рывок с низкого старта Сергей Орлов // «Журнал сетевых решений/LAN» , № 04, 1997
 RPGPGM.COM Большой ресурс статей о программировании на IBM i

Серверное оборудование
Компьютеры IBM
Архитектура Power