Россия, Привольная 1/2 |
Знакомство с семейством IBM System i
Давайте теперь рассмотрим, как работают устройства хранения i5/OS. В этом контексте "Устройства хранения" обозначают и память, и диск. Фундаментальные преимущества архитектуры обеспечиваются возможностями масштабирования, гибкостью и защищенностью, которые не может предложить ни одна другая вычислительная платформа. Основой для всех объектов i5/OS, является одноуровневая память (Single Level Storage). На самой вершине очень большого адресного пространства, называемого одноуровневой памятью, находится традиционная Unix-подобная файловая система и передовая объектная архитектура i5/OS.
Одноуровневая память позволяет системе получать доступ ко всем устройствам хранения одинаковым образом, в одном виртуальном адресном пространстве. Операционная система и приложения не используют объекты "в памяти" и "на диске". Все объекты просто находятся на едином уровне хранения. Компонент "storage management" ядра SLIC управляет тем, что физически располагается в памяти и на диске.
В предлагаемом примере создается два объекта, A и B. Объект A – это выделенный постоянный объект. Это сообщает системе управления хранением о том, что объект должен храниться на каком-либо долговременном дисковом накопителе. Объект B обозначен как временный. Таким образом, страницы этого объекта отправляются только на вспомогательные устройства хранения, чтобы освободить физическую память для более приоритетных задач.
Это облегчает конфигурирование системы, потому что не нужно беспокоиться о таких вещах, как размер дискового кэша, размер файла подкачки и размер журнала. Это также облегчает жизнь программистам, поскольку программам не нужно управлять памятью для обеспечения оптимальной производительности. Если объект используется, он будет храниться в памяти (основное устройство хранения). Если нет, он будет выгружен на диск. Основное отличие состоит в том, что здесь нет неэффективно используемого пространства хранения, копирования из одного места в другое, как в системах, которые различают диск и память над уровнем ОС.
Архитектура позволяет использовать различные модели адресации. Традиционно, указатели в коде имеют длину 128 бит и указывают напрямую на одноуровневую память. Кроме того, программы могут работать в больших приватных сегментах памяти, использующих указатели на 64 или на 32 бита.
Традиционные компиляторы создают исполняемые файлы для определенного типа процессоров. (Слева)
Компиляторы i5/OS создают исполняемые файлы для машинного интерфейса высокого уровня. Ядро (один раз) транслирует промежуточное представление в реальные аппаратные инструкции, которые будут выполняться на процессоре.
Преимущество очевидно – это защита инвестиций как клиентов, так и поставщиков приложений. Они не привязаны к определенной архитектуре аппаратного обеспечения.
Сочетание объектной архитектуры, TIMI и одноуровневой памяти позволило достичь исключительно высокого уровня прямой и обратной совместимости для приложений, работающих в i5/OS. В начале 1990-х приложения AS/400 использовали 48-разрядные вычисления на основе архитектуры CISC. В 1995 году IBM представила 64-разрядные системы RISC AS/400. После того, как IBM переписала ядро SLIC (ниже уровня TIMI) и оптимизирующий транслятор (OX), приложения, написанные много лет назад, остаются полностью работоспособными и оптимизированными для новых 64-разрядных систем — без какого-либо вмешательства разработчиков приложения.
Благодаря "ретрансляции", приложения адаптируются ядром SLIC (находится ниже уровня TIMI) для оптимизации под используемое в данный момент оборудование. Независимо от того, когда было собрано приложение, один и тот же код оптимизируется под аппаратное обеспечение, используемое в системе.
Для многих удивительно, но факт: большинство 64-разрядных приложений написано в RPG и работает в i5/OS.
Основная операционная система, которая работает на System i, i5/OS, включает в себя множество компонентов, необходимых для современной вычислительной платформы для бизнеса.
Эти возможности могут быть отнесены к одной из двух категорий: сервисы высокого уровня и функции ядра. Сервисы высокого уровня i5/OS часто необязательны, и, как правило, это компоненты, с которыми будет взаимодействовать ПОЛЬЗОВАТЕЛЬ. Эти функции располагаются выше уровня Машинного интерфейса, не зависящего от технологии (Technology-Independent Machine Interface, TIMI). Функции ядра реализуются ядром SLIC, ниже уровня TIMI. Они предоставляют ту основу, на которой работает СИСТЕМА.
У этого подхода есть множество преимуществ. Во-первых, клиенту не нужно покупать дополнительные компоненты, например, системы управления базами данных. Во-вторых, все функции разрабатываются и тестируются совместно. Не нужно беспокоиться о конфликте версий между базой данных и операционной системой или системным программным обеспечением и уровнем обеспечения безопасности и т.д. Дорогие услуги по интеграции, необходимые на других платформах, на System i не нужны.
Также обратите внимание, что программный стек изолирует приложения и большую часть операционной системы от аппаратного обеспечения, на котором они работают. Таким образом, с развитием технологий (процессоров и т.п.) инвестиции в приложения остаются защищенными. За всю свою историю системы AS/400 несколько раз меняли основной процессор, при этом клиенты не потеряли ни одного бита.