Введение
IBM компьютер среднего класса (1978–1988)
System/38 – это снятый с производства миникомпьютер и компьютер среднего класса, производившийся и продававшийся компанией IBM. Система была анонсирована в 1978 году. System/38 обладала 48-битной адресацией, что было уникально для того времени, и новой интегрированной системой управления базами данных. Она была ориентирована на многопользовательскую среду. В то время типичная система обслуживала от дюжины до нескольких десятков терминалов. Хотя System/38 не удалось заменить системы, для которых она была предназначена, её архитектура послужила основой для гораздо более успешной IBM AS/400. Разработка системы велась в течение восьми лет в лаборатории IBM в Рочестере, штат Миннесота. Президент подразделения IBM General Systems Division (GSD) заявил тогда: "System/38 – это самая масштабная программа, которую мы когда-либо внедряли в GSD, и одна из трех или четырех самых масштабных программ, когда-либо внедрявшихся в IBM". Система была разработана как преемник системы/3.
IBM. The system was announced in 1978. The System/38 has 48 bit addressing, which was unique for the time, and a novel integrated database system. It was oriented toward a multi user system environment. At the time, the typical system handled from a dozen to several dozen terminals. Although the System/38 failed to displace the systems it was intended to replace, its architecture served as the basis of the much more successful IBM AS/400. It had been developed over eight years by IBM's laboratory in Rochester, Minnesota. The president of IBM's General Systems Division (GSD) said at the time: "The System/38 is the largest program we've ever introduced in GSD and it is one of the top three or four largest programs ever introduced in IBM." The system was designed as a follow on for the System/3,
Обрабатывающее предприятие
Система включает в себя центральный процессор с 512K, 768K, 1024K, 1280K или 1536K байтов основной памяти. Процессор реализован на 29 чипах Schottky TTL LSI, установленных на печатную плату размером 10x15 дюймов. В отличие от некоторых других архитектур виртуальных машин, в которых виртуальные инструкции интерпретируются во время выполнения (см. П-код машины), инструкции MI никогда не интерпретируются. Они представляют собой промежуточный этап компиляции и преобразуются в набор инструкций процессора в качестве финального этапа компиляции. Инструкции MI хранятся в конечном объектном файле программы, в дополнение к исполняемым машинным инструкциям. Если программа переносится с процессора с одним нативным набором инструкций на процессор с другим нативным набором инструкций, инструкции MI будут повторно преобразованы в нативный набор инструкций новой машины перед первым выполнением программы на этой машине. TIMI (Technology Independent Machine Interface) OS/400 является обратно совместимым расширением System/38 MI. В результате, программа, первоначально разработанная для System/38, может работать на современном оборудовании IBM i без перекомпиляции. Термин "микрокод" использовался для обозначения широкого спектра кода низкого уровня, от традиционного микрокода до функциональности, обычно ассоциирующейся с ядрами других операционных систем, а также реализации встроенной базы данных. В System/38 было два уровня микрокода: горизонтальный микрокод (HMC), который реализовывал архитектуру набора инструкций регистр-память/память-память, известную как внутренний набор инструкций микропрограммирования (IMP). Определенные низкоуровневые и критичные к производительности функции, такие как планирование задач (т.е. процессов) и обмен сообщениями, были реализованы непосредственно в микрокоде как часть горизонтального микрокода. Горизонтальный микрокод хранился в контрольной памяти и соответствовал традиционному микрокоду. Вертикальный микрокод (VMC), который реализовывал машинный интерфейс в терминах архитектуры IMPI; это достигалось путем преобразования кода MI в код IMPI и его выполнения. Он также реализовывал встроенную базу данных и другие компоненты операционной системы, которые не могли быть реализованы в терминах инструкций MI. Это было реализовано с использованием смеси языков PL/MP и ассемблера IMPI. Ранние системы AS/400 унаследовали структуру микрокода System/38, но термин "микрокод" был исключен, что привело к переименованию слоев IBM в вертикальный лицензированный внутренний код и горизонтальный лицензированный внутренний код.
Horizontal Microcode (HMC), which implemented a register memory/memory memory instruction set architecture known as the internal microprogramming (IMP) instruction set Certain low level and performance sensitive functionality such as task (i. e. process) scheduling and message passing were implemented directly in microcode as part of the Horizontal Microcode. The Horizontal Microcode resided in control store; it corresponded to traditional microcode. Vertical Microcode (VMC), which implemented the Machine Interface in terms of the IMPI architecture; this was implemented by translating MI code into IMPI code and executing it. It also implemented the integrated database, and other components of the operating system which could not be implemented in terms of MI instructions. This was implemented using a mixture of PL/MP and IMPI assembly. Early AS/400 systems inherited the System/38 microcode structure, but the term microcode was dropped, leading IBM to rename the layers to the Vertical Licensed Internal Code and Horizontal Licensed Internal Code.
Контрольная программа
Операционная система системы/38 – это компонент управления (CPF). CPF не связана с операционной системой System Support Program систем IBM System/34 и System/36. Объектами CPF являются файлы, программы, очереди сообщений, профили пользователей и библиотеки. Хотя CPF считается операционной системой системы/38, она располагается поверх уровня интерфейса System/38 Machine Interface, и, следовательно, значительная часть традиционной функциональности операционной системы платформы реализована в горизонтальном и вертикальном микрокоде. Программы S/38, сохранившие возможность отладки, то есть содержащие исходный код, встроенный в скомпилированный исполняемый модуль в ущерб увеличению размера скомпилированных объектов, все еще могут выполняться на AS/400 и последующих системах, поскольку опция восстановления предусматривает перекомпиляцию для исходного кода соответствующей версии. Однако большинство проприетарных библиотек приложений поставщиков объектов были скомпилированы без такой возможности отладки и требуют замены от оригинального поставщика и, как следствие, дополнительных затрат при переходе на AS/400. Цены в то время были ступенчатыми: одно и то же программное обеспечение, но стоимость определялась моделью, скоростью и емкостью системы, на которую оно устанавливалось.
Продажи
IBM продала, по оценкам, около 20 000 System/38 в течение первых пяти лет после начала продаж, согласно статьям, опубликованным в отраслевых журналах NEWS 34/38 и Midrange Computing. Несмотря на позиционирование как миникомпьютер, S/38 был значительно дороже, чем бестселлер IBM System/34 и его преемник System/36. Не меньшую важность представляла сложность модернизации с System/34 на S/38. IBM косвенно признала это, выпустив System/36 – модернизированную версию System/34 – после запуска S/38. Хотя System/38 не пользовался массовым спросом, он приносил более высокую прибыль, чем другие системы IBM среднего класса, и, следовательно, был прибыльной линейкой продуктов для IBM. Конкурирующая модель IBM, 9370, оказалась коммерчески неудачной, и в то время, как писала The New York Times, продажи System/36 и System/38 были "неудовлетворительными".