17 лет назад 5 октября 2006 в 12:10 5321

Напомню, на чем мы остановились. 30 декабря 1967 года ЦК КПСС и Совет Министров СССР приняли постановление о развитии производства средств вычислительной техники (#1180-420). До сих пор многие исследователи уверены, что в результате выполнения данного указа и перехода на копирование архитектуры американской IBM-360 отечественная индустрия производства вычислительной техники перестала быть конкурентоспособной и производить лучшие вычислительные машины, между тем как Америка в компьютерной отрасли стремительно обогнала нас.

В 1967 году в СССР имелось несколько несовместимых между собой ЭВМ второго поколения. Во-первых, это была БЭСМ-6 — один из лучших компьютеров того периода, во-вторых, серии машин «Урал», «Минск», «Днепр», «Раздан», «Сетунь», «Мир», «Промiнь», «Радон» и др. Как тогда считалось, партия и правительство были крайне заинтересованы в расширении парка советских ЭВМ. Однако для выполнения данной задачи требовалось унифицировать и сделать полностью совместимыми между собой все выпускаемые в стране вычислительные машины.

И был поставлен вопрос: какую систему взять за образец? Почесав затылки, ответственные советские чиновники в конечном счете остановились на архитектуре американской машины System/360, выпущенной корпорацией IBM. Мы еще рассмотрим подробнее, как именно принималось это решение и что оно за собой повлекло, а пока давайте разберемся, что это было за чудо такое — System/360, ведь ради его клонирования были заброшены все оригинальные отечественные разработки.

Проект System/360 был самым амбициозным в мире вычислительной техники того времени. Всего на создание System/360 ушло около $5 млрд (в ценах 2005 года — примерно $30 млрд!). Дороже американскому правительству обошлась только космическая программа «Аполлон». О начале выпуска ЭВМ семейства System/360 компания IBM объявила 7 апреля 1964 года. Как явствовало из пресс-релиза, число 360 символизировало универсальность новой системы, обозначало круг ее возможностей. Понятное дело, люди, забывшие основы геометрии, намек не поняли. Впрочем, даже тот, кто помнил, что окружность состоит из 360 секторов по одному градусу каждый, вряд ли понял бы все без подсказки.

На конференции, посвященной появлению нового поколения ЭВМ, председатель правления IBM Томас Уотсон-младший (Thomas J. Watson Jr.) сказал: «System/360 решительно порывает с концепциями прошлого в проектировании и построении компьютеров. Это результат усилий лабораторий и заводов IBM, разбросанных по всему миру. Впервые IBM разработала базовую внутреннюю архитектуру своих компьютеров на десятилетие вперед. Как следствие, производительность стала выше, а стоимость — ниже, чем когда-либо. Это начало новой эры компьютеров и их использования в бизнесе, науке и органах государственной власти». Пафосно, не правда ли? Но, хотя кому-то это и неприятно признать, предсказание Томаса Уотсона-младшего сбылось.

Считается, что System/360 стало первым семейством ЭВМ, в котором наблюдалось явное различие между понятиями «архитектура» и «реализация». Доктор Фредерик Брукс (Frederick P. Brooks), которого называют отцом проекта System/360, автор самого термина «компьютерная архитектура», пояснял, чем она отличается от ее реализации. Архитектура компьютера — это набор спецификаций, математическая модель его функционирования, тогда как реализация — это конкретные чертежи и монтажные схемы тех или иных электронных устройств.

То есть проектировщик дает указание: процессор должен содержать столько-то регистров общего назначения такой-то емкости, но что это будут за регистры, из каких деталей они будут изготовлены, интересно только разработчику. При этом от модели к модели реализация регистров может меняться (их можно делать из спичечных коробков, ламп, транзисторов, микросхем, светодиодов, бананового пюре), но всякий раз пользователь (программист) будет работать с одними и теми же регистрами, состоящими из раз и навсегда определенного числа элементов. Разделение архитектуры и реализации стало одним из главных преимуществ проекта System/360.

Изначально IBM предполагала выпустить линейку из шести моделей ЭВМ, которые могли комплектоваться сорока различными периферийными устройствами. Однако на деле было сконструировано четырнадцать моделей, включая специальные компьютеры для NASA (каждый создавался в единственном экземпляре). Самой простой стала машина под номером 20, имевшая всего 24 кбайт основной памяти. Каждая новая модель вычислительного устройства была более производительной, чем предыдущая. Однако с точки зрения архитектуры они полностью повторяли друг друга, что позволяло пользователю совершенно свободно переносить программное обеспечение с относительно слабой машины на более мощную (той же серии). Сегодня нам кажется само собой разумеющимся, что программы, написанные для Pentium MMX, выполняются на Pentium 4 или AMD Athlon, а в 1960-х годах эта концепция была прямо-таки революционной. На Западе никто и не знал, что серия ЭВМ «Урал», созданная под руководством Б. И. Рамеева, также была основана на принципе программной и, следовательно, архитектурной совместимости «сверху вниз». Ну а за то, что пальма первенства досталась IBM, следует сказать отдельное спасибо нашим военным, привыкшим «сундучить» любую информацию, так или иначе связанную с обороной страны. Но вернемся к System/360.

С появлением архитектуры System/360 в индустрию вычислительной техники был введен ряд стандартов, таких как 8-битный байт, 32-битное слово, адресация каждого байта памяти, сегментарное и страничное разделение памяти и т. д. Специальная коммуникационная система позволяла работать на System/360 с терминалов, находившихся на расстоянии нескольких километров от компьютера.
Для привлечения покупателей первые модели System/360, например System/360 30, эмулировали популярные в то время компьютеры (IBM 1401 и др.).

Публику такой подход устраивал, поскольку таким образом становилось возможным переносить программное обеспечение на IBM 360 со старых машин, архитектурно с ней несовместимых. Кроме того, многим пользователям предлагалось арендовать IBM 360, а не покупать ее. За месяц эксплуатации системы взималась плата в размере $2,7-115 тыс. — в зависимости от конфигурации ЭВМ. Сами мейнфреймы System/360 стоили от $133 тыс. (самые первые модели) до $5,5 млн (самые навороченные). В 1971 году IBM запустила в производство System/370, которая фактически была улучшенной System/360. (Помнится, давным-давно перед сдачей зачета по предмету » Архитектура ЕС ЭВМ» я штудировал американский учебник «IBM 360 / 370».)

Словом, на Западе в середине 1960-х появление семейства System/360 стало настоящей революцией в вычислительной технике. А что творилось в СССР, никто особо не знал, ибо органы контрразведки не дремали и украсть военные секреты Страны Советов было непросто. Впрочем, как показало дальнейшее развитие событий, никто воровать компьютерные технологии у СССР не собирался. Наоборот, именно СССР пошел по этому порочному пути.

Еще одной сильной стороной System/360 стало программное обеспечение, поставлявшееся вместе с машиной. Забегая вперед, отмечу, что это ПО и явилось той «морковкой на палочке», гонясь за которой советские чиновники загубили перспективную отрасль отечественной промышленности.

Главной программой в любом компьютере, как мы знаем, является операционная система (понятно, что это не одна программа, а целый комплекс, но в нашем расследовании терминологическая разница особого значения не имеет). Специальная операционная система для конкретной архитектуры — это также новация IBM, опробованная на System/360. Проект разработки ОС назывался Operating System/360, или OS/360. Возглавлял его вышеупомянутый Фредерик Брукс.
Фредерик Брукс, вне всякого сомнения, был выдающейся личностью, ничуть не менее значимой для индустрии IT, чем академики С. А. Лебедев и А. П. Ершов. Еще в 1957 году доктор Брукс совместно с Дьюрой Свини (Dura Sweeney) запатентовал систему прерываний — прообраз той, что используется в компьютерах и поныне. Именно Брукс создал 8-битный байт и использовал его в System/360, чтобы нормально работать с 255-символьным алфавитом.

Кстати, строковый тип данных в PL/I также придумал Фредерик Брукс. Известен среди специалистов и так называемый закон Брукса, который следует помнить не только разработчикам вычислительных систем: «Если проект не удается реализовать в запланированный срок, то увеличение числа занятых в проекте сотрудников на последнем этапе еще больше отодвинет дату его сдачи».
В своем бестселлере «Мифический человеко-месяц» в 1974 году Брукс вспоминал: «Руководство разработкой OS/360 было очень поучительным, хотя и полным расстройств… Система содержала много отличных решений в конструкции и функционировании, и она получила широкое распространение. Некоторые идеи, в первую очередь организация ввода / вывода, независимая от конкретных исполнительных устройств, и управление внешними библиотеками, стали техническими новинками, ныне широко используемыми.

Однако проект нельзя назвать вполне успешным. Всякому пользователю OS/360 быстро становится ясно, насколько лучше могла бы быть система. Ошибки проектирования и реализации были особенно заметны в управляющей программе… Операционная система появилась с задержкой, потребовала больше памяти, чем предполагалось, стоимость ее разработки в несколько раз превысила запланированную, и первые несколько версий функционировали не слишком удачно». Ну а что же СССР, о чем думали те, кто отвечал за развитие отечественной вычислительной техники?

В начале сентября 1967 года советский друг Фредерика Брукса — академик А. П. Ершов получил телеграмму следующего содержания: «2 СЕНТЯБРЯ 1967 ГОДА НОВОСИБИРСК АКАДЕМГОРОДОК ВЫЧИСЛИТЕЛЬНЫЙ ЦЕНТР МАРЧУКУ ЕРШОВУ ПО ДОГОВОРЕННОСТИ ПРЕЗИДЕНТОМ АКАДЕМИИ ВЫ НАЗНАЧЕНЫ КОМИССИЮ РАССМОТРЕНИЯ АВАНПРОЕКТА РЯДА ЗПТ ПРОШУ ПРИБЫТЬ 7 СЕНТЯБРЯ 10 УТРА ВЫЧИСЛИТЕЛЬНЫЙ ЦЕНТР ДОРОДНИЦЫНУ ЗАСЕДАНИЕ КОМИССИИ = ВОЛЬФРАМ СУЛИМ».

Продолжение следует…

Дмитрий Румянцев

Никто не прокомментировал материал. Есть мысли?