IBM i

редактировать
IBM i
Логотип IBM i (2021 г.).svg
Ibmi-main-menu.png Главное меню IBM i 7.1, отображаемое внутри клиента TN5250
Разработчик IBM
Написано в C ++, C, PL / MI, Java, язык ассемблера, Modula-2, PL / MP
Семейство ОС IBM CPF
Рабочее состояние Текущий
Исходная модель Закрытый источник
Первый выпуск 26 августа 1988 г. ; 33 года назад ( 1988-08-26)
Последний релиз 7.4 / 23 апреля 2019 г. ; 2 года назад ( 2019-04-23)
Маркетинговая цель Миникомпьютер, компьютер среднего класса и корпоративный сервер
Доступно в английский
Метод обновления Временные исправления программы (PTF)
Менеджер пакетов RPM и YUM для пакетов с открытым исходным кодом
Платформы IBM Power Systems, AS / 400 IMPI и PowerPC
Тип ядра разделяет многие философии проектирования Microkernel (SLIC) и Virtual Machine (TIMI)
Пользовательский интерфейс по умолчанию Текстовый пользовательский интерфейс
Лицензия Проприетарный
Предшествует Программа поддержки системы, средство программы управления
Официальный веб-сайт IBM i

IBM я ( я стоячая для интегрированного) является операционной системой, разработанной IBM для IBM Power Systems. Первоначально он был выпущен в 1988 году как OS / 400 вместе с линейкой систем IBM AS / 400. В 2004 году он был переименован в i5 / OS, а затем был переименован во второй раз в IBM i в 2008 году. Это эволюция операционной системы System / 38 CPF с уровнями совместимости для приложений System / 36 SSP и AIX. Он наследует ряд отличительных особенностей платформы System / 38, включая машинный интерфейс, реализацию объектно-ориентированной адресации поверх одноуровневого хранилища и тесную интеграцию реляционной базы данных в операционную систему.

СОДЕРЖАНИЕ
  • 1 История
    • 1.1 Происхождение
    • 1.2 Переход на PowerPC
    • 1.3 Ребрендинг
  • 2 Архитектура
    • 2.1 ТИМИ
    • 2.2 SLIC
    • 2.3 XPF
    • 2.4 PASE
  • 3 особенности
    • 3.1 Управление базой данных
    • 3.2 Сеть
    • 3.3 Открытый исходный код
    • 3.4 Программирование
    • 3.5 Хранение
    • 3.6 Безопасность
  • 4 График выпуска
  • 5 См. Также
  • 6 Ссылки
  • 7 Внешние ссылки
История

Источник

См. Также: IBM System i § Форт-Нокс и Сильверлейк.

OS / 400 разрабатывалась вместе с аппаратной платформой AS / 400, начиная с декабря 1985 года. Разработка началась после провала проекта Fort Knox, в котором была предпринята попытка объединить несколько линеек продуктов IBM среднего уровня и миникомпьютеров в одну, основанную на IBM 801. процессор. Проект Fort Knox остановил разработку новых продуктов в IBM Rochester, оставив IBM без конкурентоспособной системы среднего уровня.

Во время проекта Форт-Нокса инженеры, считавшие, что провал Форт-Нокса неизбежен, начали строить скунс в Рочестере. Эти инженеры разработали код, который позволял приложениям System / 36 работать поверх System / 38, и когда Fort Knox был отменен, этот проект skunkworks превратился в официальный проект по замене System / 36 и System / 38 одним новым аппаратная платформа. Проект стал известен как Silverlake (по названию Silver Lake в Рочестере, штат Миннесота ). Система Silverlake построена на попытках IBM Rochester объединить System / 38 и System / 36 и по сути является эволюцией System / 38, в которой повторно использовалось некоторое оборудование и программное обеспечение, разработанное для проекта Fort Knox. Операционная система для Silverlake имела кодовое название XPF (Extended CPF ) и изначально создавалась как перенос CPF на оборудование Fort Knox. Помимо добавления поддержки приложений System / 36, в новую операционную систему были перенесены некоторые из пользовательских интерфейсов и функций простоты использования из System / 36.

Сильверлейк был доступен для полевых испытаний в июне 1988 года, и о нем было официально объявлено в августе того же года. К тому моменту она была переименована в Application System / 400, а операционная система получила название Operating System / 400.

Переход на PowerPC

См. Также: IBM System i § Переход на PowerPC

Для переноса на PowerPC потребовалось переписать большую часть кода под TIMI. Ранние версии OS / 400 унаследовали уровни горизонтального и вертикального микрокода System / 38, хотя они были переименованы в горизонтальный лицензированный внутренний код (HLIC) и вертикальный лицензированный внутренний код (VLIC) соответственно. Порт на новое оборудование заменил IMPI и связанный с ним микрокод, что потребовало переписать VLIC для целевого PowerPC вместо IMPI, а функциональность операционной системы, ранее реализованная в микрокоде HLIC, была повторно реализована в другом месте. Это привело к замене HLIC и VLIC одним уровнем, названным Системным лицензированным внутренним кодом (SLIC). SLIC был реализован в объектно-ориентированном стиле с использованием более 2 миллионов строк кода C ++, который заменил весь код HLIC и большую часть кода VLIC. Из-за объема работы, необходимой для реализации SLIC, IBM Rochester наняла для этого проекта несколько сотен программистов на C ++, которые работали над SLIC параллельно с новыми версиями VLIC для систем CISC AS / 400. Первым выпуском OS / 400, поддерживающим оборудование на базе PowerPC, был V3R6.

Ребрендинг

Логотип IBM i5 / OS Оригинальный логотип IBM i

Линия продуктов AS / 400 неоднократно подвергалась ребрендингу в течение 1990-х и 2000-х годов. В рамках ребрендинга 2004 года на eServer i5 OS / 400 была переименована в i5 / OS ; 5 означающий использование POWER5 процессоров. Первый выпуск i5 / OS, V5R3, был описан IBM как «другое название той же операционной системы».

В 2006 году IBM в последний раз переименовала линейку AS / 400 в System i. В апреле 2008 года IBM объединила System i с платформой System p, чтобы создать IBM Power Systems. В то же время i5 / OS была переименована в IBM i, чтобы удалить связь с процессорами POWER5. Две самые последние на тот момент версии операционной системы, которые были выпущены как i5 / OS V5R4 и V6R1, были переименованы в IBM i 5.4 и 6.1.

Наряду с ребрендингом IBM i IBM изменила номенклатуру версий для операционной системы. В предыдущих выпусках использовалась схема Версия, Выпуск, Модификация, например V2R1M1. Она была заменена схемой Версия.Релиз, например, 6.1. Начиная с IBM i 7.1, IBM заменила выпуски модификаций на обновления технологий. Обновления технологий поставляются в виде дополнительных PTF для определенных выпусков операционной системы, которые добавляют в операционную систему новые функции или аппаратную поддержку.

Архитектура
Диаграмма, показывающая архитектурные уровни операционной системы IBM i и их связь с оборудованием и пользовательскими приложениями.

IBM i разделен на два уровня: аппаратно-зависимый системный лицензионный код (SLIC) и аппаратно-независимый механизм расширенной программы управления (XPF). Они разделены уровнем аппаратной абстракции, который называется технологически независимым машинным интерфейсом (TIMI). IBM часто использует разные названия TIMI, SLIC и XPF в документации и маркетинговых материалах, например, в документации по IBM i 7.4 они называются IBM i Machine Interface, IBM i Licensed Internal Code и IBM i Operating System соответственно.

ТИМИ

TIMI изолирует пользователей и приложения от основного оборудования. Эта изоляция более тщательна, чем аппаратные абстракции других операционных систем, и включает абстрагирование архитектуры набора команд процессора, размера адресного пространства и особенностей ввода-вывода и постоянства. Это достигается с помощью двух взаимосвязанных механизмов:

  • Компиляторы для IBM i не генерируют собственный машинный код напрямую, вместо этого они генерируют промежуточное представление высокого уровня, определенное TIMI. При запуске программы, операционная система осуществляет вперед-в-времени перевода инструкций TIMI в машинный код для процессора и сохраняет сгенерированный машинный код для выполнения будущей программы. Если процесс трансляции изменяется или используется другой набор инструкций ЦП, операционная система может прозрачно регенерировать машинный код из инструкций TIMI без необходимости перекомпиляции из исходного кода.
  • Вместо того, чтобы работать с адресами памяти, инструкции TIMI работают с объектами. Все данные в IBM i, такие как файлы данных, исходный код, программы и области выделенной памяти, инкапсулируются внутри объектов, управляемых операционной системой (см. Модель « Все - файл » в Unix ). Объекты IBM i имеют фиксированный тип, который определяет набор применимых операций, которые могут выполняться над ними (например, объект Program может быть выполнен, но не может быть отредактирован). Объектная модель скрывает, хранятся ли данные в первичном или вторичном хранилище. Вместо этого операционная система автоматически обрабатывает процесс получения и последующего сохранения изменений в постоянном хранилище.

TIMI является обратно совместимым расширением интерфейса System / 38 Machine и позволяет приложениям IBM i быть полностью независимыми от базового оборудования. Аппаратная изоляция, обеспечиваемая TIMI, позволила IBM заменить 48-битную архитектуру IMPI AS / 400 на 64-битную архитектуру RS64 в 1995 году. Приложения, скомпилированные в системах с использованием набора инструкций IMPI, могли работать поверх новых систем RS64 без каких-либо изменения кода, перекомпиляция или эмуляция, а также предоставление этим приложениям возможности использовать 64-битную адресацию.

Хранение инструкций TIMI вместе с инструкциями машинного кода известно как наблюдаемость. В 2008 году в выпуске i5 / OS V6R1 (позже известного как IBM i 6.1) был внесен ряд изменений в уровень TIMI, которые вызвали проблемы для стороннего программного обеспечения, которые лишили возможности наблюдения для объектов приложений, отправляемых клиентам.

SLIC

IBM i во время начальной загрузки программы SLIC

SLIC состоит из кода, реализующего TIMI поверх архитектуры IBM Power. Помимо того, что он содержит большую часть функций, обычно связанных с ядром операционной системы, он отвечает за преобразование инструкций TIMI в машинный код, а также реализует некоторые функции высокого уровня, предоставляемые через TIMI, такие как интегрированная реляционная база данных IBM i. SLIC реализует объектно-ориентированную модель хранения IBM i поверх одноуровневой схемы адресации хранилища, которая не различает первичную и вторичную память, а вместо этого управляет всеми типами хранилищ в едином виртуальном адресном пространстве. SLIC в основном реализован на C ++ и заменил уровни HLIC и VLIC, используемые в версиях OS / 400 до V3R6.

XPF

XPF состоит из кода, реализующего аппаратно-независимые компоненты операционной системы, которые компилируются в инструкции TIMI. Компоненты XPF включают пользовательский интерфейс, язык управления, утилиты управления данными и запросов, инструменты разработки и утилиты управления системой. XPF также содержит систему / 36 Окружающей среды и систему / 38 Окружающую среду, которые обеспечивают обратную совместимость API, и утилиты для приложений и данных мигрировали из систем SSP и СПЛ. XPF внутреннего имя IBM для этого слоя, и, как следует из названия, начался как эволюция системы / 38 Программа управления фондом. XPF в основном реализован в PL / MI, хотя используются и другие языки.

PASE

Среда переносимых прикладных решений (первоначально известная как среда частного адресного пространства) - это уровень совместимости с AIX для IBM i. Она обеспечивает двоичную совместимость для пользовательского режима исполняемых файлов, которые не взаимодействует непосредственно с ядром AIX, а также поддерживают 32-битные и 64-битный AIX двоичного интерфейса приложений. PASE впервые был включен в ограниченной и недокументированной форме в выпуск OS / 400 V4R3 для поддержки порта Smalltalk. Впервые о нем было объявлено клиентам во время выпуска V4R5, к тому времени он получил значительные дополнительные функциональные возможности.

PASE состоит из пользовательского пространства AIX, работающего поверх интерфейса системных вызовов, реализованного SLIC. Интерфейсы системных вызовов обеспечивают взаимодействие между PASE и собственными приложениями IBM i, например, приложения PASE могут обращаться к интегрированной базе данных или вызывать собственные приложения IBM i, и наоборот. Во время создания PASE в операционную систему был добавлен новый тип одноуровневого объекта хранения, названный Teraspace, который позволяет каждому процессу PASE иметь частное пространство 1 ТиБ, которое адресуется с помощью 64-битных указателей. Это было необходимо, поскольку все задания IBM i (т. Е. Процессы) обычно используют одно и то же адресное пространство. Приложения PASE не используют аппаратно-независимые инструкции TIMI, а вместо этого компилируются непосредственно в машинный код Power.

PASE отличается от среды Qshell, которая представляет собой реализацию оболочки Unix и связанных с ней утилит, построенных на основе собственных POSIX-совместимых API IBM i.

Функции

Управление базой данных

IBM i имеет интегрированную реляционную базу данных, которая в настоящее время известна как IBM Db2 для IBM i. База данных эволюционировала из нереляционной базы данных System / 38, получив поддержку реляционной модели и SQL. База данных изначально не имела названия, вместо этого она описывалась просто как «поддержка базы данных». В 1994 году ей было присвоено имя DB2 / 400, чтобы указать функциональность, сопоставимую с другими коммерческими базами данных IBM. Несмотря на брендинг Db2, Db2 для IBM i представляет собой полностью отдельную кодовую базу от Db2 на других платформах и тесно интегрирован в уровень SLIC IBM i, а не является дополнительным продуктом.

IBM i предоставляет два механизма доступа к интегрированной базе данных - так называемый собственный интерфейс, основанный на модели доступа к базе данных System / 38, и SQL. Собственный интерфейс состоит из языка спецификаций описания данных (DDS), который используется для определения схем и API OPNQRYFкоманд или QQQQRYзапросов. Для некоторых функций Db2 for i, таких как управление объектно-реляционными базами данных, требуется SQL, и к ним нельзя получить доступ через собственный интерфейс. В IBM i есть два отдельных оптимизатора запросов, известных как Classic Query Engine (CQE) и SQL Query Engine (SQE). Они реализованы внутри SLIC вместе с диспетчером запросов, который выбирает соответствующий оптимизатор в зависимости от типа запроса. Удаленный доступ через собственный интерфейс и SQL обеспечивается архитектурой распределенных данных (DDM) и распределенной реляционной базой данных соответственно.

Именованный механизм хранения MySQL и MariaDB IBMDB2I позволяет приложениям, разработанным для этих баз данных, использовать Db2 for i в качестве резервного хранилища. Другие базы данных с открытым исходным кодом были перенесены на IBM i, включая PostgreSQL, MongoDB и Redis. Эти базы данных работают в среде PASE и не зависят от функций интегрированной базы данных операционной системы.

Сети

IBM i поддерживает сеть TCP / IP в дополнение к собственной сетевой архитектуре IBM Systems.

Исторически доступ к системам IBM i и управление ими осуществлялось через терминалы IBM 5250, подключенные к системе с помощью твинаксиальных кабелей. С уменьшением количества выделенного терминального оборудования доступ к современным системам IBM i обычно осуществляется через эмуляторы терминала 5250. IBM предоставляет два продукта эмулятора терминала для IBM i:

  • Клиентские решения IBM i Access - это клиент на основе Java, работающий в Linux, macOS и Windows и обеспечивающий эмуляцию 5250.
  • IBM i Access for Web / Mobile обеспечивает эмуляцию 5250 через Интернет.

Кроме того, IBM предоставляет веб-консоль управления и продукт для анализа производительности под названием IBM Navigator for i.

Открытый исходный код

Некоторые из приложений с открытым исходным кодом, перенесенных на IBM i, включают:

Программное обеспечение с открытым исходным кодом для IBM i обычно упаковывается с использованием формата пакета RPM и устанавливается с помощью диспетчера пакетов YUM. YUM и RPM заменили продукт 5733-OPS, который ранее использовался для установки программного обеспечения с открытым исходным кодом на IBM i.

Программирование

Языки программирования, доступные от IBM для IBM i, включают RPG, Control Language, C, C ++, Pascal, Java, EGL, Smalltalk, COBOL, BASIC, PL / I и REXX. Integrated Language Environment (ILE) позволяет программы из ИОС совместимых языков (C, C ++, COBOL, RPG, и CL), чтобы быть связанными с теми же исполняемыми и вызовом процедур, написанных на любом из других языков ИОСА.

Системы IBM могут также поставляться с программным обеспечением для программирования и разработки, таким как Programming Development Manager. IBM предоставляет интегрированную среду разработки на основе Eclipse для IBM i под названием IBM Rational Developer for i.

IBM i использует EBCDIC в качестве кодировки символов по умолчанию, но также обеспечивает поддержку ASCII, UCS-2 и UTF-16.

Место хранения

В IBM i дисковые накопители могут быть сгруппированы в пул вспомогательной памяти (ASP) для организации данных, чтобы ограничить влияние отказов запоминающих устройств и сократить время восстановления. В случае сбоя диска необходимо восстановить только данные в пуле, содержащем отказавший модуль. ASP также можно использовать для повышения производительности путем изоляции объектов с аналогичными характеристиками производительности, например получателей журнала, в их собственном пуле.

По умолчанию все диски назначены пулу 1. Концепция пулов IBM i аналогична концепции групп томов в Unix / Linux ; однако в IBM i все диски обычно назначаются одному ASP.

Безопасность

IBM i была одной из первых операционных систем общего назначения, получивших рейтинг безопасности C2 от АНБ. Поддержка уровня безопасности C2 была впервые добавлена ​​в выпуске OS / 400 V2R3.

График выпуска
Версия Брендинг Дата выхода Окончание поддержки программы
Старая версия, больше не поддерживается: V1R1 OS / 400 1988-08-26 1993-05-31
Старая версия, больше не поддерживается: В1Р1М2 1988-11-25
Старая версия, больше не поддерживается: V1R2 1989-10-27
Старая версия, больше не поддерживается: V1R3 1990-09-28
Старая версия, больше не поддерживается: V2R1 1991-05-24 1994-06-30
Старая версия, больше не поддерживается: V2R1M1 1992-03-06
Старая версия, больше не поддерживается: V2R2 1992-09-18 1995-03-31
Старая версия, больше не поддерживается: V2R3 1993-12-17 1996-05-31
Старая версия, больше не поддерживается: V3R0M5 1994-05-04 1997-05-31
Старая версия, больше не поддерживается: V3R1 1994-11-25 1998-10-31
Старая версия, больше не поддерживается: V3R2 1996-06-21 2000-05-31
Старая версия, больше не поддерживается: V3R6 1995-12-22 1998-10-31
Старая версия, больше не поддерживается: V3R7 1996-11-08 1999-06-30
Старая версия, больше не поддерживается: V4R1 1997-08-29 2000-05-31
Старая версия, больше не поддерживается: V4R2 1998-02-27 2000-05-31
Старая версия, больше не поддерживается: V4R3 1998-09-11 2001-01-31
Старая версия, больше не поддерживается: V4R4 1999-05-21 2001-05-31
Старая версия, больше не поддерживается: V4R5 2000-07-28 2002-07-31
Старая версия, больше не поддерживается: V5R1 2001-05-25 2005-09-30
Старая версия, больше не поддерживается: V5R2 2002-08-30 2007-04-30
Старая версия, больше не поддерживается: V5R3 i5 / OS 2004-06-11 2009-04-30
Старая версия, больше не поддерживается: V5R4 / 5.4 i5 / OS более поздней версии IBM i 2006-02-14 2013-09-30
Старая версия, больше не поддерживается: V6R1 / 6.1 2008-03-21 2015-09-30
Старая версия, больше не поддерживается: 6.1.1 IBM i 2009-10-23
Старая версия, больше не поддерживается: 7.1 2010-04-23 2018-04-30
Старая версия, больше не поддерживается: 7.2 2014-05-02 2021-04-30
Старая версия, но все еще поддерживается: 7.3 2016-04-15 TBA
Текущая стабильная версия: 7,4 2019-06-21 TBA
Легенда: Старая версия Старая версия, все еще поддерживается Последняя версия Последняя предварительная версия Будущий выпуск
Смотрите также
использованная литература
внешние ссылки
Последняя правка сделана 2023-04-04 03:21:48
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте