7 апреля 1964 года, шестьдесят лет назад, компания IBM анонсировала семейство компьютеров с архитектурой IBM System/360. Автор книги «От хорошего к великому» Джим Коллинз включил System/360 в тройку лучших бизнес-достижений всех времен, наряду с моделью T Форда и первым реактивным лайнером Boeing 707.
IBM System/360 стала символом целой эпохи в истории информационных технологий. Именно для System/360 изобрели 8-битный байт. Также IBM/360 стала первой 32-разрядной компьютерной системой. В этой статье погрузимся в историю и узнаем, как IBM System/360 совершила технологический прорыв и превратила производство мэйнфреймов в крупномасштабный производственный процесс.
Назревающие проблемы
Сейчас идея System/360 кажется простой и очевидной. Всего-то линейка компьютеров, на которых будет работать одно и то же программное обеспечение. Однако до 1964 года компьютерные системы, даже от одного производителя, были вообще несовместимы друг с другом.
Программное обеспечение и периферийные устройства старых систем не могли работать с новыми системами. Проводить апгрейд было непросто. Чтобы просто обновить оборудование, приходилось переписывать приложения.
«Представьте, что компания потратила целое состояние и два-три года на разработку банковского приложения, а потом появляется новое оборудование, на котором прежнее ПО не работает, и все приходится делать заново», — говорил Пат Тул, один из инженеров первой модели System/360.
Да и для самой IBM ситуация была неблагоприятной. Нужно было выпускать устаревшее оборудование и содержать специалистов, умеющих его настраивать. Поддерживать множество несовместимых продуктовых линеек было затратно и по времени, и по ресурсам.
К тому же в отрасли была конкуренция: Honeywell, Burroughs и Control Data Corp., Remington Rand представляли свои продукты. А заказчикам было, по сути, все равно у кого купить очередной «уникальный» компьютер, ведь в любом случае все нужно было настраивать заново.
Поэтому, когда в январе 1961 года в IBM представили проект новой системы 8000, которая была очень «мощной», но все такой же несовместимой и дорогой, стало понятно, что компания в тупике. Проект реализовывать не стали, IBM взялась за разработку принципиально новых моделей.
«Авантюра на 5 миллиардов долларов»
В 1961 году под руководством нового генерального директора Томаса Дж. Уотсона-младшего IBM создала рабочую группу из 25 человек под названием SPREAD («Системное программирование, научные исследования и разработки»). Целью стало создание новой системы.
Бесконечные споры команды сильно тормозили процесс разработки идеи, поэтому руководство отправило членов SPREAD в отель в пригороде Нью-Йорка с ультиматумом, что никто не выйдет оттуда, пока команда не договорится.
В итоге 80-страничный отчет был представлен к Рождеству. Идея команды заключалась в создании ряда масштабируемых систем, различающихся только вычислительной мощностью.
Каждое устройство совместимо с другими. Программа, работающая на одном компьютере, может работать на всех системах, и все компьютеры используют стандартные интерфейсы.
Рекомендации легли в основу System/360. Название «360» было выбрано, чтобы выразить идею полного охвата, буквально на 360 градусов.
В ходе обсуждения стало понятно, что процессоры System/360 должны использовать новые технологии. А значит, новое семейство не будет совместимо с уже существующими системами IBM. Это было рискованно.
Томас Уотсон долго сомневался.
System 360 «была самым важным и рискованным решением, которое я когда-либо принимал, и я мучился по этому поводу неделями, но в глубине души я верил, что нет ничего, чего IBM не могла бы сделать», — писал Уотсон в книге «Отец, сын и компания: Моя жизнь в IBM и за ее пределами».
В итоге Уотсон сделал ставку всей компании на разработку System/360.
Главным архитектором System/360 стал Джин Амдал, создатель IBM 704, мэйнфрейма, используемого в научных исследованиях. Руководил проектом Фред Брукс. Именно он придумал термин «компьютерная архитектура».
Брукс сотрудничал с Бобом Эвансом и Эрихом Блохом, за свою роль в разработке System/360 они получили первую в истории Национальную медаль технологий.
Журнал Fortune в 1966 году назвал создание System/360 — авантюрой IBM в 5 миллиардов долларов.
И действительно, многое пошло не по плану. Разработка системы заняла значительно больше времени, чем рассчитывали изначально, инженеры буквально жили в компании, работая по 100 часов в неделю.
Стоимость System/360 значительно превысила запланированные $625 млн. На разработку системы компания потратила $5,25 млрд (в современных ценах это около $41 млрд). Создание семейства компьютеров обошлось дороже, чем Манхэттенский проект.
Риск банкротства для IBM был реален, ведь компания потратила больше, чем зарабатывала за год, но все закончилось благополучно.
Анонс системы состоялся 7 апреля 1964 года. Компания представила шесть моделей процессоров, охватывающих широкий диапазон производительности, а также 44 периферийных устройства.
System/360 предназначалась для обслуживания всех возможных типов пользователей.
Проектирование было отделено от сборки, поэтому системы можно было тиражировать.
Совместимость компонентов сделала System/360 модульной, и хотя были анонсированы всего шесть систем, они имели 19 комбинаций мощности, скорости и объема памяти.
В IBM стремились, чтобы аппаратное обеспечение было отделено от программного обеспечения, и программа могла работать на разных версиях System/360.
Председатель IBM в своих мемуарах отмечал, что не все оборудование, представленное на выставке 7 апреля, было настоящим — некоторые устройства были просто деревянными макетами.
Основная работа была впереди. Начался очень опасный, напряженный и сложный период становления производства. Компания наняла больше семидесяти тысяч новых сотрудников, строила заводы и принимала новые и новые заказы.
Первые поставки машин низкого уровня были обещаны в третьем квартале 1965 года, а поставки более сложных машин — в первом квартале 1966 года.
Семейство компьютеров
Компания IBM выпустила 14 моделей System/360, включая отдельные машины для научных вычислений.
Первые модели 30, 40, 50, 60, 62 и 70 были анонсированы еще в 1964 году.
Модели 30 и 40 были ориентированы на низкий и средний сегмент рынка. Они были самыми прибыльными, на них приходилось более половины проданных единиц System/360
Модели 60, 62 и 70 не были реализованы. Вместо них IBM выпустила модели 65 и 75.
В 1966 году вышла модель 20, которая стала самым бюджетным вариантом System/360. Она имела всего 4096 байт основной памяти и восемь 16-битных регистров.
В этот же период IBM выпустила специально оптимизированную для научных вычислений модель 44.
Изначально для того чтобы все модели использовали один набор команд, в System/360 применили идею «микропрограммирования». Команды разбивались на ряд «микроопераций», специфичных для данной реализации системы.
В модели 75 и более крупных системах отказались от использования микрокода. Это сделали для обеспечения более высокой скорости.
Среди машин высокого уровня также были модели 67, 85, 91, 95 и 195.
Модель 67 стала первым продуктом IBM, который поддерживал аппаратное обеспечение виртуальной памяти.
Модель 85 была промежуточной между System/360 и более поздней System/370.
Технические особенности
System/360 представила новые технологические решения, такие как:
Solid Logic Technology (SLT). Метод, используемый IBM для гибридной упаковки электронных схем. Технология позволила компании создавать более быстрые и компактные машины, чем у конкурентов.
8-битные байтовые адреса. В System/360 был стандартизирован байт как равный восьми битам, и использовалась длина слова в 32 бита, что помогло упростить архитектуру.
9-дорожечная лента. Магнитная лента с восемью дорожками для данных и одной дорожкой для бита четности была разработана специально под System/360.
Набор символов EBCDIC. Расширенный двоично-десятичный код также был разработан IBM в этот период.
Архитектура IBM с плавающей запятой. Числа с плавающей запятой стали поддерживаться в типичных операциях, связанных со сложением, вычитанием, умножением, извлечением квадратного корня и т. д.
Версии OS/360
Создание программного обеспечения стоило IBM многих хлопот. Стоимость проекта OS/360 предварительно оценивалась в 30 и 40 миллионов долларов. В итоге на ПО потратили 500 миллионов долларов.
Перед разработчиками стояли сложные задачи: обеспечить совместимость системы, сделать возможным одновременный запуск двух или более программ.
IBM привлекла к работе над операционной системой 1000 человек. Было создано более миллиона строк кода. Но увеличение числа программистов не принесло ожидаемых результатов.
Свой опыт работы над ОS/360, Брукс отразил в книге «Мифический человеко-месяц». Один из принципов, описанных в книге, гласит: увеличение ресурсов на проекте не всегда приводит к уменьшению его сроков.
Брукс утверждает, что разработка компилятора Алгол будет занимать полгода, независимо от количества программистов, задействованных в процессе.
Все пошло не по плану. Одну пакетно-ориентированную операционную систему создать не удалось. Не было времени на разработку, аппаратное обеспечение было готово, а OS/360 запаздывала.
Было решено выпустить операционную систему в упрощенном виде с обещанием будущих обновлений.
Всего создали три варианта операционной системы:
OS/360 PCP (Principal Control Program) была самой простой и могла запускать только одну программу одновременно. Ее использовали внутри компании IBM.
OS/360 MFT (Multiprogramming with a Fixed number of Tasks) Множественное программирование с фиксированным количеством задач. Система могла запускать несколько программ, но ограничение заключалось в том, что когда одна программа простаивает, выделенная для нее память остается недоступной для других программ.
OS/MVT (Multiprogramming with a Variable number of Tasks) Множественное программирование с переменным количеством задач. Система позволяла воссоздавать разделы памяти по мере необходимости. Когда память простаивает, она выделяется другой программе в очереди поиска.
В 2000 году OS/360 стала общественным достоянием и теперь бесплатно доступна пользователям и разработчикам для загрузки и усовершенствований.
Значение System/360
Риск IBM окупился сторицей: всего за первые три месяца после выпуска IBM получила заказов на 1,2 миллиарда долларов. Уже к концу 1960-х годов System/360 стала отраслевым стандартом. Она использовалась в корпорациях, правительственных учреждениях, университетах и исследовательских центрах по всему миру.
Доминирование IBM было настолько сильным, что в 1969 году Министерство юстиции США начало антимонопольное разбирательство, утверждая, что компания незаконно монополизировала рынок мэйнфреймов.
Система долго оставалась успешной, и у неё появился целый рынок «клонов». В 1960-х и 1970-х годах многие компании производили клоны IBM System/360. Некоторые компании, такие как Memorex, выпускали аппаратные средства-клоны System/360. Например, накопители на магнитных дисках.
Даже Джин Амдал, системный архитектор System/360, основал собственную компанию, производящую клоны IBM.
В целом System/360 оказала огромное влияние на компьютерную индустрию, установив отраслевой стандарт и закрепив за IBM господство на рынке на два десятилетия.
Успех системы привел к росту спроса на мэйнфреймы, поспособствовал технологическим инновациям. Появилась возможность перестать писать ПО для разных компьютеров, и разработчики смогли сосредоточиться на новых приложениях. Для IT открылся совершенно новый мир, мир мегапроектов.
НЛО прилетело и оставило здесь промокод для читателей нашего блога:
-15% на заказ любого VDS (кроме тарифа Прогрев) — HABRFIRSTVDS.
Комментарии (9)
victor_1212
05.04.2024 10:34Именно для System/360 изобрели 8-битный байт. Также IBM/360 стала первой 32-разрядной компьютерной системой.
вообще говоря первой 32-разрядной машиной был SSEM (=Manchester Baby,1948), в ранних машинах часто использовалась более экономная 6-bit кодировка символов, поэтому длина машинного слова была кратна 6, например 36 (IBM 701, 704, UNIVAC 1108), 48 (CDC 1604), или 60 bits (CDC 6600),
для IBM 7030 Stretch (1958-61) команды были как 32-bit, так и 64-bit, регистры в основном 64-bit, байт мог иметь любую длину 4 - 8 bits, архитектура 360 это типа развитие IBM 7030 в сторону упрощения
andy_p
05.04.2024 10:34Да и первым реактивным лайнером был ТУ-104, если Каравеллу не учитывать.
SIISII
05.04.2024 10:34Ну, к лайнеру можно придраться в том отношении, что Ту-104 -- переделанный бомбардировщик, а не с нуля спроектированный пассажирский самолёт. А к 32-разрядной машине -- что только с Системы 360 машинное слово стало делиться на части, адресуемые независимо.
Greesha
05.04.2024 10:34+3И ни слова про ЕС ЭВМ :) Кто знает, для того очевидно, а кто не знает, тому уже и не надо.
victor_1212
05.04.2024 10:34что собственно писать про них, надо было типа свои рабочие станции делать на mini, а не 360 копировать, вероятно отставание меньше могло бы быть, линию БЭСМ-6 развивать как Лебедев предлагал, интересно что уже упомянутый Brooks когда началось это копирование типа приглядывал за развитием ЕС ЭВМ, регулярно свои оценки давал, сколько времени займет для разных моделей, и что ожидается в результате, не удивлюсь если правильные
SIISII
05.04.2024 10:34БЭСМ-6 -- тупиковая машина, как и любая ЭВМ 1 и 2 поколений во всём мире, её всё равно пришлось бы выкинуть на свалку. И дело здесь не в элементной базе, а в архитектуре. Так что правильно, что скопировали весьма совершенные буржуинские архитектуры, заодно получив кучу готового системного ПО и обеспечив программную совместимость. Неправильно другое: что далее стали копировать всё больше и больше, причём не только базовые идеи, но и реализации...
dyadyaSerezha
05.04.2024 10:34+2А что тут писать. Все же знают, что СССР - родина слонов и ЭВМ. Поэтому понятно, кто у кого спер ;)
SIISII
Для Системы 360 была разработана не только OS/360; более того, она, во-первых, прилично запоздала, а во-вторых, требовала довольно много ресурсов и поэтому не могла применяться на младших моделях. Так что младшие, но "настоящие" модели Системы 360 (30 и 40, как минимум) использовали DOS/360. Ну а та же модель 20 и ещё одна или две модели, хотя и формально относились к Системе 360, но в реальности нарушали принципы её работы -- в частности, не имели большинства обязательных команд; естественно, обычные ОС на них в принципе работать не могли (да и памяти было слишком мало). У нас обе этих системы, естественно, содрали -- они превратились в ОС ЕС и ДОС ЕС. Как правило, ОС начинали использовать, если у машины было хотя бы 512 Кбайт памяти, хотя технически она могла работать на 128 Кбайтах -- только особого смысла в этом не было.
Ну и стоило б добавить, что эта архитектура -- самая древняя из до сих пор живых: современные мэйнфреймы z/Architecture выросли из Системы 360 и сохраняют с ней совместимость на уровне прикладного кода. Вот системного -- уже нет: под занавес Системы 370 и в Системе 370-XA были внесены изменения, ломающие совместимость некоторых привилегированных команд, ну и переход на 64 бита в z/Architecture тоже внёс множество изменений для системного кода. Вообще, эволюция этого семейства архитектур является, можно считать, прямой противоположностью эволюции IA-32 aka x86: на прикладном уровне действительно полная совместимость, а системный смело меняли, когда старые решения начинали мешать -- очевидно ведь, что переносимость нужна именно для прикладных программ, переписать систему, даже целиком на ассемблере, не такая кошмарная задача по сравнению с прикладным ПО.