Введение
IBM AS/400 (Application System/400) — семейство компьютеров среднего класса от IBM, анонсированных в июне 1988 года и выпущенных в августе 1988 года. Эта система стала преемником платформ System/36 и System/38 и работала под управлением операционной системы OS/400. AS/400, будучи более доступной, но при этом более мощной, чем её предшественники, имела огромный успех сразу после выпуска: к концу 1990 года было установлено около 111 000 экземпляров, а годовой доход достиг 14 миллиардов долларов, увеличившись к 1994 году до 250 000 систем и приблизительно 500 000 отгруженных к 1997 году. Ключевой концепцией платформы AS/400 является технологически независимый машинный интерфейс (TIMI) — архитектура набора инструкций (ISA), не зависящая от платформы, которая транслируется в инструкции машинного кода. Эта возможность позволяла платформе изменять базовую архитектуру процессора, не нарушая совместимость приложений. Первые системы были основаны на 48-битной архитектуре набора инструкций CISC, известной как внутренний микропрограммируемый интерфейс (IMPI), изначально разработанной для System/38. В 1991 году компания представила новую версию системы, работающую на серии 64-битных процессоров PowerPC семейства IBM RS64. Благодаря использованию TIMI приложения, разработанные для оригинальных программ на базе CISC, продолжали работать на новых системах без изменений, поскольку код TIMI мог быть повторно транслирован в машинный код PowerPC Power ISA для новых систем. В 2001 году RS64 была заменена процессорами POWER4, за которыми последовали POWER5 и POWER6 в последующих обновлениях. AS/400 несколько раз подвергалась ребрендингу и, наконец, в 2006 году стала System i. В 2008 году IBM объединила отдельные линейки продуктов System i и System p (которые к тому моменту в основном имели идентичное аппаратное обеспечение) в единую линейку продуктов под названием IBM Power Systems. Название "AS/400" иногда неформально используется для обозначения операционной системы IBM i, работающей на современном оборудовании Power Systems.
The IBM AS/400 (Application System/400) is a family of midrange computers from IBM announced in June 1988 and released in August 1988. It was the successor to the System/36 and System/38 platforms, and ran the OS/400 operating system. Lower cost but more powerful than its predecessors, the AS/400 was extremely successful at launch, with an estimated 111,000 installed by the end of 1990 and annual revenue reaching $14 billion that year, increasing to 250,000 systems by 1994, and about 500,000 shipped by 1997. A key concept in the AS/400 platform is Technology Independent Machine Interface (TIMI), a platform independent instruction set architecture (ISA) that is translated to native machine language instructions. The platform has used this capability to change the underlying processor architecture without breaking application compatibility. Early systems were based on a 48 bit CISC instruction set architecture known as the Internal Microprogrammed Interface (IMPI), originally developed for the System/38. In 1991, the company introduced a new version of the system running on a series of 64 bit PowerPC derived CPUs, the IBM RS64 family. Due to the use of TIMI, applications for the original CISC based programs continued to run on the new systems without modification, as the TIMI code can be re translated to the new systems' PowerPC Power ISA native machine code. The RS64 was replaced with POWER4 processors in 2001, which was followed by POWER5 and POWER6 in later upgrades. The AS/400 went through multiple re branding exercises, finally becoming the System i in 2006. In 2008, IBM consolidated the separate System i and System p product lines (which had mostly identical hardware by that point) into a single product line named IBM Power Systems. The name "AS/400" is sometimes used informally to refer to the IBM i operating system running on modern Power Systems hardware.
Форт-Нокс
В начале 1980-х годов руководство IBM обеспокоилось тем, что большое количество несовместимых компьютерных систем среднего класса IBM подрывает конкурентоспособность компании, особенно в сравнении с VAX от Digital Equipment Corporation. В 1982 году был начат проект под названием Fort Knox, целью которого являлась консолидация System/36, System/38, IBM 8100, Series/1 и IBM 4300 в единую продуктовую линейку на базе процессора IBM 801 с кодовым названием Iliad, при этом сохраняя обратную совместимость со всеми системами, которые планировалось заменить. Для Fort Knox разрабатывалась новая операционная система, но операционные системы каждой платформы, которую должен был заменить Fort Knox, также переносились на процессор Iliad, чтобы клиенты могли перенести свое программное обеспечение на новую платформу. Проект Fort Knox оказался чрезмерно амбициозным и столкнулся с многочисленными задержками и изменениями в объеме работ. В ходе реализации проекта от требования поддержки программного обеспечения для IBM 8100 и Series/1 отказались. Аппаратная часть Silverlake по сути представляла собой эволюцию System/38, в которой были повторно использованы некоторые технологии, разработанные для проекта Fort Knox. Целью Silverlake было обеспечить замену System/36 и System/38 в кратчайшие сроки, поскольку проект Fort Knox затормозил разработку новых продуктов в Рочестере, оставив IBM без конкурентоспособной системы среднего класса. При запуске в 1986 году IBM 9370, совместимая с System/370, позиционировалась как предпочтительная платформа IBM среднего класса, но не достигла того коммерческого успеха, на который рассчитывала IBM. Подобно Silverlake, 9370 также использовала сопроцессор, разработанный в рамках проекта Fort Knox, в качестве основного процессора, и ту же шину ввода-вывода SPD I/O, которая была разработана на основе шины Series/1.
AS/400
21 июня 1988 года IBM официально представила систему Silverlake как Application System/400 (AS/400). Анонс включал более 1000 программных пакетов, разработанных для неё компанией IBM и партнерами IBM Business Partners. Операционная система AS/400 получила название Operating System/400 (OS/400). Изначально создатели AS/400 планировали использовать название System/40, но примерно в то же время IBM приняла новую систему наименований продуктов, что привело к названию Application System/400. Во-первых, IBM начала добавлять слова перед "System" в названиях продуктов, чтобы указать на предполагаемое назначение или целевой рынок системы (например, Personal System/2 и Enterprise System/9000). Во-вторых, IBM решила зарезервировать одно- и двухзначные номера моделей для персональных систем (например, PS/2 и PS/55), трехзначные номера для систем среднего уровня (например, AS/400) и четырехзначные номера для мэйнфреймов (например, ES/9000). Переход к использованию двухзначных номеров моделей для персональных систем был осуществлен, чтобы предотвратить исчерпание однозначных номеров для новых продуктов в линейке персональных систем.
Переход на PowerPC
В 1990 году IBM Rochester начала работу по замене оригинальных 48-битных процессоров CISC, основанных на System/38, в AS/400 на 96-битную архитектуру, известную как C RISC (Commercial RISC). Вместо разработки с нуля, C RISC должна была добавить инструкции в стиле RISC и VLIW к процессору AS/400, сохраняя при этом обратную совместимость с набором инструкций внутреннего микропрограммированного интерфейса (IMPI) в стиле System/370 и микрокодом, используемым для его реализации. В 1991 году, по запросу президента IBM Джека Кюлера, команда под руководством Фрэнка Солтиса представила предложение об адаптации 64-битной архитектуры PowerPC для поддержки потребностей платформы AS/400. Их расширения архитектуры PowerPC, известные как Amazon (а позже как PowerPC AS), были одобрены руководством IBM вместо разработки C RISC для создания следующей архитектуры процессоров AS/400. Эти расширения включают поддержку тегированной памяти, а также поддержку десятичной арифметики. IBM первоначально попыталась создать единую реализацию PowerPC для AS/400 и высокопроизводительных систем RS/6000, известную как Belatrix. Проект Belatrix оказался слишком амбициозным и был отменен, когда стало ясно, что он не будет завершен в срок. Вместо этого, два процессора, разработанные специально для AS/400 в IBM Endicott и IBM Rochester, известные как Cobra (для систем начального уровня) и Muskie (для систем высокого уровня) соответственно, стали первыми реализациями линейки процессоров IBM RS64. Серия RS64 продолжала разрабатываться как отдельная линейка продуктов в IBM до тех пор, пока POWER4 не объединила линейки продуктов RS64 и POWER. Несмотря на переход от IMPI к совершенно иной архитектуре процессора, технологически независимый машинный интерфейс (TIMI) AS/400 в значительной степени скрывал эти изменения от пользователей и приложений, прозрачно перекомпилируя приложения для новой архитектуры процессора. В 1994 году название AS/400 Advanced Series было использовано для новых моделей, а в 1997 году линейка продуктов была переименована в AS/400e (где "e" обозначает "электронный бизнес"). В 2000 году eServer iSeries была представлена в рамках инициативы по брендингу eServer. eServer iSeries была построена на процессоре POWER4, который использовал процессоры RS64 предыдущих поколений, что означало, что одни и те же процессоры использовались как на платформах iSeries, так и на платформах pSeries, последняя из которых работала под управлением AIX. Последующие поколения аппаратного обеспечения iSeries и pSeries сходились, пока не стали по сути одним и тем же оборудованием, продаваемым под разными названиями и с разными операционными системами. Окончательное переименование произошло в 2006 году, когда IBM переименовала eServer i5 в System i. В апреле 2008 года IBM представила линейку IBM Power Systems, которая стала результатом объединения линеек продуктов System i и System p. IBM i продается как один из вариантов операционной системы для Power Systems (наряду с AIX и Linux) и больше не привязана к собственной аппаратной платформе.
Наследие
Несмотря на то, что AS/400 был анонсирован в 1988 году, он остается последним крупным архитектурным изменением IBM, разработанным полностью внутри компании. С момента прихода Лу Герстнера в 1993 году IBM стала считать подобные масштабные внутренние разработки слишком рискованными. Вместо этого IBM теперь предпочитает добиваться значительных улучшений в продуктах посредством приобретений (например, поглощения Lotus Software и Rational Software) и поддерживать развитие открытых стандартов, в частности Linux. После ухода генерального директора Джона Экерса в 1993 году, когда IBM находилась на грани разделения, Билл Гейтс заметил, что единственным подразделением IBM, которое могло бы заинтересовать Microsoft, было подразделение AS/400. (В то время многие бизнес- и финансовые системы Microsoft работали на платформе AS/400, поддержка которой прекратилась примерно в 1999 году с выходом Windows 2000.)
Архитектура системы
По словам Фрэнка Солтиса, одного из архитекторов платформы AS/400, архитектура AS/400 определяется пятью архитектурными принципами. Большинство этих принципов унаследованы от системы System/38.
Технологическая независимость
Набор инструкций высокого уровня (называемый TIMI, что расшифровывается IBM как "Technology Independent Machine Interface" – технологически независимый машинный интерфейс) позволяет прикладным программам использовать преимущества достижений в аппаратном и программном обеспечении без перекомпиляции. TIMI – это виртуальный набор инструкций, независимый от базового набора машинных инструкций ЦП. Программы, работающие в пользовательском режиме, содержат как инструкции TIMI, так и машинные инструкции ЦП, что обеспечивает аппаратную независимость. Это концептуально несколько похоже на архитектуру виртуальных машин в таких средах программирования, как Java и .NET. В отличие от некоторых других архитектур виртуальных машин, где виртуальные инструкции интерпретируются во время выполнения, инструкции TIMI никогда не интерпретируются. Они представляют собой промежуточный этап компиляции и преобразуются в набор инструкций процессора на заключительном этапе компиляции. Инструкции TIMI хранятся в конечном объектном файле программы вместе с исполняемыми машинным кодом инструкциями. Благодаря этому объекты приложений, скомпилированные для одного семейства процессоров (например, оригинальные 48-битные процессоры CISC AS/400), можно было переносить на новый процессор (например, 64-битный PowerPC) без перекомпиляции. Приложение, сохраненное со старой 48-битной платформы, можно просто восстановить на новой 64-битной платформе, где операционная система отбрасывает старые машинные инструкции и повторно преобразует инструкции TIMI в 64-битные инструкции для нового процессора. В наборе инструкций системы все указатели определены как 128-битные. Это была изначальная конструктивная особенность System/38 (S/38) середины 1970-х годов, разработанная с учетом будущего использования более быстрых процессоров, памяти и расширенного адресного пространства. Оригинальные модели AS/400 CISC использовали то же 48-битное адресное пространство, что и S/38. Адресное пространство было расширено в 1995 году, когда 48-битный процессор CISC был заменен на 64-битный процессор RISC PowerPC RS64.
Интеграция программного обеспечения
OS/400 (ныне известная как IBM i) — это встроенная операционная система платформы AS/400 и единственная операционная система, поддерживаемая на оригинальном оборудовании AS/400. Многие передовые функции, ассоциирующиеся с AS/400, реализованы именно в операционной системе, а не в базовом аппаратном обеспечении, которое претерпело значительные изменения на протяжении всего жизненного цикла платформы AS/400. К функциям относятся СУБД (Db2 for i), интерфейс, управляемый меню, поддержка многопользовательского режима, поддержка блочных терминалов (IBM 5250) и принтеры.
Объектно-ориентированный дизайн
В отличие от принципа "все есть файл" в Unix и его производных, в IBM i все является объектом (с встроенной постоянной памятью и автоматической сборкой мусора).
Одноэтажный склад
IBM использует архитектуру виртуальной памяти с единым уровнем хранения на платформе AS/400. Для 64-битных процессоров PowerPC виртуальный адрес располагается в младших 64 битах указателя, в то время как в S/38 и CISC AS/400 он составлял 48 битов. 64-битное адресное пространство обращается к оперативной памяти и диску как к единому адресномy пространству, что и является концепцией единого уровня хранения.
Интеграция оборудования
Позднее поколение аппаратного обеспечения также способно поддерживать различные гостевые операционные системы, включая SSP, AIX, Linux, Microsoft Windows 2000 и Windows Server 2003. OS/400, AIX и Linux поддерживаются на процессорах POWER в логических разделах (LPAR), в то время как Windows поддерживается либо на однопроцессорных внутренних серверных платах (IXS), либо на внешних многопроцессорных серверах (IXA и iSCSI). Гостевые системы SSP поддерживались посредством эмуляции, начиная с OS/400 V3R6 и заканчивая V4R4, с использованием функции Advanced 36 Machine операционной системы, которая отличается от уровня совместимости System/36 Environment, требующего перекомпиляции программного обеспечения System/36.