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)[1].
Unix-подобные операционные системы используют парадигму «все есть файл» («everything is a file»), тогда как System i использует принцип «все есть объект». Операционной системой предоставляется сборщик мусора и сохранение объектов. Юникс-подобная файловая система эмулируется при помощи Integrated File System.[2] Реализована версия виртуальной машины Java.
Платформа IBM System i расширяет объектно-ориентированную систему System/38 встроенной реляционной СУБД IBM DB2.
Система команд
правитьОдной из особенностей платформы IBM System i является использование высокоуровневой системы команд TIMI («Technology Independent Machine Interface», рус. Машинный интерфейс, независимый от технологии[3]), которая позволяет программам быть переносимыми и при этом получать пользу от более современного аппаратного и программного обеспечения без перекомпиляции.
TIMI является виртуальной системой команд, не зависящей от реальной системы команд центрального процессора. Приложения, работающие в режиме пользователя, могут содержать одновременно машинные коды TIMI и машинные коды конкретного процессора. Концептуально система сходна с архитектурой виртуальных машин, таких как Smalltalk, Java, .NET. Основное отличие от них — глубокая интеграция TIMI в архитектуру AS/400, таким образом, что приложения являются переносимыми между системами System i с различными микропроцессорами.
Особо надо отметить, что в отличие от других виртуальных машин, которые интерпретируют виртуальные инструкции при запуске ПО, инструкции TIMI не интерпретируются. При компиляции ПО, в объектном файле сохраняется как машинный код конкретного процессора, так и TIMI-код. Если приложение, скомпилированное для оригинальных 48-битных процессоров CISC AS/400, будет запущенно на системе с более новым RISC-процессором, например, 64-битном PowerPC, то операционная система проигнорирует машинный код старого процессора и оттранслирует[3] TIMI-код в инструкции нового процессора перед запуском.
Программирование
правитьДля AS/400 были реализованы языки программирования ассемблера, RPG, C, C++, Pascal, Java, EGL, Perl, Smalltalk, COBOL, SQL, BASIC, PHP, PL/I, Python, REXX.
См. также
правитьПримечания
править- ↑ Zend Core for i5/OS Архивная копия от 30 марта 2009 на Wayback Machine.
- ↑ File Integrity Monitoring for iSeries Архивировано 14 мая 2009 года.
- ↑ 1 2 Солтис, Франк Г. Технологии System i. Лекция №4: Машинный интерфейс, независимый от технологии. INTUIT.ru Интернет-Университет Информационных Технологий. — Курс лекций создан при финансовой поддержке компании IBM. Автор: Солтис, Франк Джеральд[англ.], создатель архитектуры iSeries IBM, возглавляет подразделение по разработке архитектуры 64-битных процессоров PowerPC, адъюнкт-профессор в департаменте электротехники и вычислительной техники Университета штата Миннесота. Дата обращения: 15 октября 2012. Архивировано 10 января 2011 года.
Ссылки
править- IBM’s Power Systems product page (англ.)
- IBM Hardware list for «System i» (англ.)
- MidrangeWiki
- AS/400: рывок с низкого старта Сергей Орлов // «Журнал сетевых решений/LAN» , № 04, 1997 (рус.)
- RPGPGM.COM Большой ресурс статей о программировании на IBM i (англ.)