Введение

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.

Обрабатывающее предприятие

Система включает в себя центральный процессор с 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 в вертикальный лицензированный внутренний код и горизонтальный лицензированный внутренний код.

Контрольная программа

Операционная система системы/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 были "неудовлетворительными".