Не будет преувеличением сказать, что эра современных компьютеров началась в городском мотеле New Englander в Гринвиче (шт. Коннектикут). В 1961 году группа ведущих инженеров IBM провела там секретное совещание, посвященное обсуждению разработки компьютера IBM нового поколения.
Корпорации крайне необходимо было создать конструкцию нового типа. IBM уже продавала несколько линеек успешных, но абсолютно разных компьютеров, и сопровождать и модернизировать их становилось все сложнее.
«IBM фактически прогибалась под собственным весом, не справляясь с задачей поддержки многочисленных, не совместимых друг с другом продуктовых линеек», — рассказывает Даг Спайсер, директор по контенту Музея компьютерной истории, который ведет цифровой архив, посвященный созданию и успеху System/360. Ровно 50 лет тому назад, 7 апреля, IBM представила компьютер, разработанный в результате упомянутого совещания, System/360.
В конечном счете система принесла корпорации колоссальный успех. Президент IBM того времени Том Ватсон снял с производства остальные линейки компьютеров IBM и бросил все силы на развитие System/360. За период с 1965-го по 1971 год оборот корпорации вырос с 3,6 млрд, до 8,3 млрд долл. Больше 70% мэйнфреймов, проданных в 1970-е, были машинами IBM. К 1982 году более половины дохода корпорации приносили потомки System/360.
Влияние этой системы прослеживается не только по успехам самой IBM.
![]() |
Источник: Wikipedia, CC-BY-SA |
«В IBM в то время мечтали работать все», — вспоминает Маргарет Маккой, доцент Университета Ла Саль, в конце 70-х занимавшаяся отладкой операционной системы для Univac — клонов System/360.
System/360 заложила основы совершенно нового подхода к проектированию и конструированию компьютерных систем. Сегодня это общепринятые принципы, и трудно представить, что 50 лет назад они были радикальным новшеством.
До появления System/360 каждая новая модель компьютера создавалась с нуля. Иногда машины даже проектировались отдельно для каждого заказчика. Программы, разработанные для одного компьютера, не могли работать на других, даже от того же производителя. Операционную систему для каждой машины тоже приходилось разрабатывать заново.
В гринвичском мотеле же родилась идея создать семейство компьютеров единой архитектуры.
Главным архитектором системы стал Джин Амдал, руководителем проекта — Фред Брукс.
Амдал позднее станет автором известного закона, согласно которому прибавки в быстродействии, обусловленные разбиением компьютерной задачи на параллельные операции, ограничиваются непроизводительными затратами на управление несколькими потоками кода. Брукс же напишет книгу «Мифический человеко-месяц» с похожим главным тезисом — о том, что увеличение числа участников проекта разработки ПО способно замедлить его из-за возросшей нагрузки по управлению ими.
Идея, предложенная на совещании в мотеле, состояла в том, чтобы использовать одну и ту же архитектуру как для машин младшего класса, так и для дорогостоящих моделей с быстродействием в 40 раз большим. Стоит иметь в виду, что слово «архитектура» в применении к конструкции компьютера в начале 1960-х еще вообще не употреблялось.
Разработка архитектуры, а не конкретной реализации, проложила путь к обеспечению совместимости разных моделей.
«Разработав систему, которая была совместима как с младшими, так и со старшими моделями, в IBM предприняли попытку охватить беспрецедентно большой сегмент заказчиков, в том числе из исследовательских учреждений и коммерческих структур», — говорится в исследовании по System/360, опубликованном в 1987 году ассоциацией ACM. В сущности, число 360 в названии должно было символизировать, что машина подойдет любым заказчикам.
«System/360, по сути, объединила два течения на рынке — одно, связанное с выпуском научных вычислительных систем, другое — с компьютерами для бизнеса», — отметил Спайсер.
Выдвижение кажущейся сегодня очевидной концепции единой компьютерной архитектуры имело колоссальные последствия для IBM, ее заказчиков и индустрии в целом.
В IBM смогли использовать одну и ту же операционную систему на всех своих компьютерах; правда, в итоге пришлось создать три ее варианта для разных применений. Появилась возможность перестать писать ПО для разных компьютеров, и разработчики смогли сосредоточиться на новых приложениях.
Немало ресурсов было сэкономлено и на создании аппаратного обеспечения — теперь не нужно было проектировать процессоры, память и другие комплектующие для каждой машины. Появилась возможность в разных моделях использовать одни и те же компоненты, и IBM начала получать существенную экономию за счет масштаба.
Получили пользу и заказчики. Теперь код, написанный для одной модели System/360, можно было запустить и на другой, причем программы можно было переносить без переписывания как на более мощную машину, так и на младшую модель.
«В начале 1960-х, если организация покупала новый компьютер, ей как правило приходилось отказываться от всего имеющегося ПО или как минимум переписывать его, чтобы заставить работать на новом оборудовании, — отмечает Спайсер. — Такого понятия, как ПО, способное работать на нескольких поколениях компьютеров, просто не существовало».
В IBM же в последующие десятилетия неизменно сохраняли своим мэйнфреймам обратную совместимость. Программы для самой первой System/360 могут работать, иногда после незначительной модификации, на современных мэйнфреймах IBM. Правда, при этом корпорация активно подталкивала заказчиков к модернизации до самых новых моделей ради повышения быстродействия.
Сравните это с долговечностью продуктов одного из главных соперников IBM на программном рынке: Microsoft прекращает обслуживание Window XP — всего через десять лет после выхода системы.
System/360 и следующая модель System/370 продолжали продаваться большую часть 1970-х, в то время как перфокарты медленно заменялись на терминалы IBM 3270, которые называли зелеными экранами.
Зеленые экраны изменили принципы использования System 360/370. Изначально эти системы выполняли пакетную обработку задач, введенных с помощью перфокарт. Машина обрабатывала данные и выдавала результаты. Зеленые экраны позволили взаимодействовать с машиной в более интерактивном режиме, отмечает Грег Биди, главный менеджер по продуктам CA, 45 лет проработавший на мэйнфреймах. Он напомнил, что терминалы 3270 были 80-столбцовыми — по числу столбцов на перфокарте.
Но даже с появлением терминалов программирование оставалось гораздо более трудной работой, чем сейчас; сегодня программисты, по словам Маккой, работают совершенно иначе.
«Вы нажимаете Enter и получаете ответ, — продолжила она. — Прежде такого не было. После написания нового модуля его оставляли операторам на тестовый прогон. На исполнение теста уходило около десяти часов, и еще два-три часа на проверку, все ли прошло как надо».
Отладка же в то время заключалась в изучении стопки листов с шестнадцатеричным кодом. Маккой приходилось расшифровывать его, отмечая соответствия с исходными подпрограммами, после чего программист пытался найти логическую ошибку в коде.
«Мне этот процесс очень нравился, это было похоже на разгадывание головоломок», — признается Маккой.
Мир программирования в то время был гораздо меньше. Биди начал работать на System/360 и подобных системах в середине 1970-х — он писал на Коболе для страховых компаний.
«В то время наш круг был очень тесным, — вспоминает он. — Все друг друга знали, а остальная часть мира понятия не имела, чем мы занимаемся, — это было что-то очень загадочное и непонятное. Даже сам термин 'программное обеспечение' был малоизвестным. Когда я сообщал кому-нибудь, что работаю на компанию, выпускающую ПО, на меня смотрели как на умалишенного».
Пат Тул, один из инженеров первой модели System/360, позднее ставший президентом подразделения IBM, отмечает, что во времена мэйнфреймов еще не было компаний — разработчиков корпоративного ПО вроде SAP или Oracle. В IBM предоставляли банкам несколько стандартных программ, но заказчики в основном писали программы самостоятельно, и это были проекты, требующие больших ресурсов.
«Представьте, что компания потратила целое состояние и два-три года на разработку банковского приложения, а потом появляется новое оборудование, на котором прежнее ПО не работает, и все приходится делать заново», — говорит Тул.
Маккой вспоминает, как в страховой компании, где она как-то работала, на мэйнфрейме исполняли программу биллинга для универсального магазина Wanamaker's: «Дважды в месяц собственный биллинг страховой компании приостанавливался и в системе обрабатывались счета Wanamaker's, чтобы магазину не приходилось содержать собственный департамент ИТ».
Несмотря ни на что на предприятиях осознавали ценность System/360 и других мэйнфреймов.
«Они не только позволяли компаниям работать быстрее и получать конкурентные преимущества, но и давали возможность более гибко варьировать ассортимент продуктов и услуг, — отмечает Биди. — Вместо одного стандартного продукта можно было предлагать несколько вариантов, используя разные схемы расценок».
Лишь с появлением менее дорогостоящих мини-компьютеров в конце 1970-х господство IBM в мире компьютерных платформ ослабло. Зато в следующем десятилетии корпорации удалось поймать новую волну персональных компьютеров и серверов. Кроме того, IBM сумела сохранить доходы от бизнеса мэйнфреймов.
В организациях продолжали пользоваться мэйнфреймами для основных операций по той причине, что цена переноса приложений или их переписывания для других платформ поглотила бы любую экономию, которую способно было принести менее дорогостоящее оборудование, отметил Спайсер.
«Пусть иногда IBM и была неуклюжим тяжеловесом, с годами она отлично справилась с тем, чтобы сохранить потребность в мэйнфреймах, — говорит Биди. — В IBM довели соотношение цена/производительность до такого уровня, что использование мэйнфреймов оставалось экономически выгодным. Не раз провозглашалось, что мэйнфреймы мертвы, что их заменили мини-компьютеры или серверы, но все это время мэйнфрейм оставался на многих предприятиях главной системой, а новые технологии просто расширяли уже имевшиеся возможности».