Всем известно изречение — «история учит только тому, что она ничему не учит» и увы, многие публикации, посвященные истории развития вычислительной техники, явно исходят из этого тезиса, представляя собой главным образом просто интересные рассказы о былом. Подчас невозможно понять, почему ИТ-индустрия развивается так, а не иначе. Между тем эволюция средств вычислительной техники зависит от массы технических, маркетинговых и личностных факторов.

Как и всякая история, история вычислительной техники может послужить источником знаний для предсказаний возможных закономерностей развития вычислительной техники в будущем (вспомним, например, закон Мура), и кладезем технических идей. Попробуем проиллюстрировать это на примере магнитных барабанов, — внешних запоминающих устройств, которые в 50 –60-е годы использовались не менее активно, чем другие устройства с прямым доступом, здравствующие и поныне, например накопители на жестких магнитных дисках.

Если верить Википедии, то магнитный барабан был изобретен австрийцем Густавом Таушеком в 1932 году; кстати, этот венский инженер был обладателем около 200 патентов в области вычислительной техники, однако сегодня он практически забыт [1]. Но поскольку компьютеров в то время еще не было, накопители на магнитных барабанах стали применяться гораздо позже.

Магнитный барабан представляет собой цилиндр, на боковую поверхность которого нанесено ферромагнитное покрытие. Эта цилиндрическая поверхность имеет параллельные кольца — дорожки, и над каждой дорожкой имеется своя головка чтения/записи, причем головки могут работать одновременно. Цилиндр вращается вокруг своей оси, и головки «плавают» над поверхностью, как это в жестких дисках. Дорожка разделена на секторы, которые считываются или записываются при операциях чтения/записи. Время выполнения этих операций в магнитных барабанах определяется скоростью обмена данными с сектором и скоростью вращения цилиндра (она, в свою очередь, определяет среднее время подвода головки к нужному сектору), в то время как в магнитных дисках добавляется еще и время поиска (установка головки на нужную дорожку). Поэтому накопители на магнитных барабанах могут работать быстрее.

Практические реализации накопителей на магнитных барабанах могли различаться, например, в усовершенствованных вариантах могло быть несколько наборов головок, равномерно разнесенных вдоль окружности [2]. Тогда среднее время подвода сектора под головку уменьшается во столько раз, сколько имеется наборов головок. По данным [3], ширина головки на деле была больше ширины дорожки, и поэтому головки располагались не на одной прямой, как показано на рис. 1, а по спирали (чтобы не наезжали друг на друга — со сдвигом одной головки относительно другой). Были и противоположные реализации — когда головки на накопителях на магнитных барабанах не были фиксированы для каждой дорожки (головок было меньше, чем дорожек). Впрочем, выпускались и жесткие диски с фиксированными головками на дорожку; их неудача на рынке связана, возможно, с более высокой стоимостью и сложностями термической перекалибровки.

Древнейшая история магнитного барабана

Накопители на магнитных барабанах применялись уже в самых первых цифровых компьютерах. Так, в 1949 году в Великобритании был создан компьютер Manchester Mark I, имевший накопители на магнитных барабанах. Коммерческий вариант этого компьютера, Ferranti Mark I (1951 год выпуска) содержал уже усовершенствованный магнитный барабан емкостью 16 тыс. 40-разрядных слов [4].

Память на магнитных барабанах могла использоваться для хранения данных и программы — вместо оперативной памяти. До того оперативная память строилась на так называемых «трубках Вильямса», а позднее стала применяться память на магнитных сердечниках.

В качестве примера «барабанного» компьютера можно упомянуть Librascape LGP-30 (1956 год) калифорнийской компании General Precision. Накопитель на магнитных барабанах имел здесь всего 4096 31-разрядных слов (64 дорожки по 64 сектора). Поскольку компьютеры эти были небольшие, то и магнитные барабаны имели соответствующие размеры: диаметр цилиндра — 6,5 дюйма, длина — 7 дюймов. При скорости вращения 3700 оборотов в минуту наихудшее время доступа составляло 17 мс. А впервые в США накопители на магнитных барабанах были использованы, вероятно, в 1950 году в компьютере Atlas производства Engineering Research Association. Эти компьютеры предназначались для дешифрации закодированных. Использовавшиеся накопители на магнитных барабанах имели емкость 16384 24-разрядных слов. Позднее на базе этих компьютеров в 60-е годы стали выпускаться Univac Scientific 1103 [4]. Другой пример компьютера с накопителями на магнитных барабанах вместо оперативной памяти — IBM 650 (1954 год).

При использовании накопителей на магнитных барабанах в качестве основной памяти программисты, работающие с машинными кодами могли оптимизировать программы путем размещения очередной команды в том секторе магнитного барабана, который оказывался под головкой после завершения предыдущей программы.

Среди первых электронных компьютеров с накопителями на магнитных барабанах необходимо упомянуть появившийся в 1950 году Mark III, созданный под руководством знаменитого Говарда Эйкена. Позднее накопители на магнитных барабанах применялись в весьма мощных компьютерах. Так, многопроцессорный компьютер с общей шиной Univac LARC (Livermore Atomic Research Project) использовал накопители на магнитных барабанах, содержащие 250 тыс. слов с 12 десятичными разрядами [5]. Многопроцессорные системы Burroughs D825, предназначенные для военных приложений в реальном времени, комплектовались уже и магнитными барабанами, и магнитными дисками [6]. Один из самых мощных компьютеров своего времени, работающий с 64-разрядными словами IBM Stretch (1961 год), также мог работать с магнитными барабанами и магнитными дисками.

Почему же некоторое время магнитные барабаны и магнитные диски использовались одновременно, в составе даже одного компьютера? Они имели разные технические характеристики и были ориентированы на разные цели. Накопители на магнитных барабанах имели емкость меньше, чем диски, но работали быстрее. Магнитные барабаны использовались для оперативной (часто изменяемой) или важной информации, к которой был нужен быстрый доступ. На магнитных барабанах хранилась копия операционной системы, записывались промежуточные результаты выполнения программ. Классическая область применения накопителей на магнитных барабанах — свопинг, то есть область подкачки страниц виртуальной памяти.

Виртуальная память на магнитных барабанах использовалась, например, в компьютерах Atlas (1962 год, разработка Манчестерского университета и компании Ferranti). Этот компьютер, как и легендарный отечественный компьютер, БЭСМ-6, отличался передовой архитектурой [7]. Накопитель на магнитных барабанах в Atlas имел емкость 1536К 48-разрядных слов, среднее время ожидания начала считывания составляло 8 мс, время считывания страницы (512 слов) с магнитного барабана — 2 мс [4]. Для свопинга накопители на магнитных барабанах использовались, например, и в IBM 360/67.

Характерными накопителями на магнитных барабанах последнего поколения, которые и были окончательно вытеснены дисками, являются накопители, применявшиеся в компьютерах Sperry Rand Univac и IBM System/360. В Univac использовались накопители на магнитных барабанах серии Fastrand, в том числе FH880, FH432, FH1782. Эти накопители выпускались в вариантах для 30- и 36-разрядных компьютеров Univac 494 и Univac 1108/1110 соответственно. Последние, как известно, были популярными компьютерами для научно-технических расчетов, а первые применялись в системах реального времени. FH880 имели емкость 760432 слова и среднее время доступа 17 мс. В них использовалось 880 головок чтения/записи. FH432 с фиксированными головками на дорожку имели меньшую емкость — 262144 слова при среднем времени доступа 4,25 мс; магнитный барабан вращался со скоростью 7200 оборотов в минуту. Долгое время они имели лучшие показатели по скорости доступа среди всех внешних устройств с подвижными частями.

Скорость 7200 оборотов в минуту выглядит вполне типичной даже для современных жестких дисков, а величины времен доступа характерны для серверных дисков недавнего прошлого. Другие альтернативы для Univac выглядели также вполне привлекательно, например, FH1782 имел в четыре раза более высокую емкость при среднем времени доступа на уровне 17 мс. Но наибольшего внимания среди применявшихся в Univac накопителей на магнитных барабанах заслуживает, возможно, подсистема Fastrand II размерами примерно с микроавтобус и весом свыше 2 тонн (справедливости ради надо сказать, что накопители на жестких дисках для мэйнфреймов имели тогда сопоставимые по порядку величины размеры).

Fastrand II содержала два магнитных барабана; их головки располагались на общей штанге, по которой они могли двигаться. Среднее время доступа составляло 92 мс (по другим данным — 67,5 мс), а скорость обмена данными — 100 Кбайт/с. В накопителе на магнитных барабанах было 192 так называемые «позиции», в каждой позиции — по 64 дорожки, в каждой дорожке — по 64 сектора емкостью 28 36-разрядных слов каждый. Если все перемножить, то получится емкость порядка 100 Мбайт. Кроме того, можно было работать с фиксированными головками на тракт — тогда время доступа составляло 17,5 мс. Для сопоставления укажем, что жесткие диски IBM 3330 для IBM System/370, уже в 70-е годы, имели емкость 100 Мбайт при времени доступа 30 мс, а в годы Fastrand диски IBM имели типичную емкость 29 Мбайт на шпиндель.

Ну и, наконец, про накопители на магнитных барабанах IBM 2303 и 2301 (в последнем одновременно выполнялось в четыре раза больше операций чтения/записи, и соответственно скорость передачи данных была вчетверо выше). В устройстве 2303 было 800 дорожек плюс 80 запасных (они могли переназначаться программным путем вместо основных в случае выхода последних из строя). На каждой дорожке размещалось 4892 байт, итого порядка 4 Мбайт на накопитель. Для сравнения, типичный жесткий диск 60-х имел емкость 7,25 Мбайт. В 70-е годы эти магнитные барабаны были вытеснены имеющими ту же скорость передачи, но втрое большую емкость жесткими дисками IBM 2305 с фиксированными головками на дорожку.

В общем, можно сказать, что на момент расставания с рынком накопители на магнитных барабанах, особенно в компьютерах Univac, имели весьма привлекательные характеристики.

Советские барабаны

Выпущенные в СССР накопители на магнитных барабанах, с которыми приходилось иметь дело мне, имели вполне достойные показатели надежности. Накопители на магнитных барабанах в составе БЭСМ-6 приходилось, по словам Г. М. Михайлова, сотрудника ВЦ РАН, ремонтировать в среднем один-два раза в год, что по тем временам было очень хорошим показателем. Жесткие диски из состава ЕС ЭВМ, по крайней мере, в первые годы своего развития, выглядели менее надежными, особенно в связи с повреждениями головок и поверхностей дисков. Вероятно, этому способствовало то, что пакеты дисков ЕС ЭВМ были тогда съемными; соответственно, увеличивалась опасность попадания в них пыли. Накопители же на магнитных барабанах были несъемными — как, позднее, и диск типа «винчестер» — и попадающий в них воздух всегда проходил через фильтр.

Магнитные барабаны были очень популярны и имелись в большинстве отечественных компьютеров. В БЭСМ-1 (1953 год) они имели емкость 5120 39-разрядных слов, в М-20 (1959 год) было три магнитных барабана емкостью по 4096 45-разрядных слов. Базирующиеся на архитектуре М-20 системы БЭСМ-3М, как и БЭСМ-4, М-220 и М-222 также имели накопители на магнитных барабанах. В самом мощном среди них, М-222, использовались устройства управления накопителями на магнитных барабанах, к которым можно было подключить до двух накопителей «НБ-9», при суммарной емкости памяти на магнитных барабанах до 192 тыс. слов [7].

Я впервые столкнулся с накопителями на магнитных барабанах как раз в компьютере М-220 и хотя применявшийся там накопитель выглядел как достаточно надежный, все равно хотя бы машинный зал требовал специального охлаждения. Когда однажды в Университете дружбы народов, где эксплуатировался такой компьютер, температура летом в машинном зале уверенно двинулась по направлению к африканской жаре, инженеры прибегли к вряд ли применявшемуся где-либо вне СССР способу охлаждения — положили на накопитель на магнитных барабанах мокрую тряпку! Считавшаяся задача была успешно доведена до конца, но потом магнитный барабан перестал-таки работать.

Среди других советских компьютеров, использовавших магнитные барабаны, можно упомянуть «Наири-3» (1970 год, первый в СССР компьютер на интегральных схемах), «Раздан-3» и «Минск-32», в котором могли применяться также и диски. Компьютеры семейства «Урал» использовали устройства НБ-11 емкостью до 1,5 Мбит, и также могли работать с дисками.

Лучший отечественный компьютер всех времен — БЭСМ-6 — также использовал магнитные барабаны. Емкость одного накопителя на магнитных барабанах составляла 32768 48-разрядных слов. Общее число накопителей на магнитных барабанах могло доходить до 16 (два направления по восемь). Время обмена между страницей оперативной памяти и трактом магнитного барабана составляло 20 мс [8]. Позднее, в 70-е годы, к БЭСМ-6 стало возможным подключение диска из номенклатуры ЕС ЭВМ. А накопители на магнитных барабанах могли применяться еще и в составе МВК «Эльбрус-1» 1977 года выпуска.

Во второй половине 70-х годов начался период активного применения ЕС ЭВМ. В номенклатуре внешних устройств ЕС ЭВМ было декларировано присутствие накопителей на магнитных барабанах ЕС5033. Емкость накопителя должна была составлять 6 Мбайт (100 дорожек по 6000 байт), скорость вращения была 1500 оборотов в минуту. Для сравнения, у первых дисках ЕС ЭВМ скорость вращения была 2400 оборотов в минуту при емкости 7,25 Мбайт. У каждой дорожки должно быть восемь головок чтения/записи, и каналов чтения/записи также должно было быть восемь. Согласно [9], скорость передачи данных должна была достигать 1250 Кбайт/с. Эти данные вызывают определенное удивление, поскольку это существенно выше, чем пропускная способность каналов ЕС ЭВМ. Лишь гораздо позднее, в 80-е годы, в ЕС ЭВМ «Ряд-2» появились каналы с пропускной способностью 1,3 Мбайт/с. А первые диски ЕС ЭВМ передавали данные со скоростью 156 Кбайт/с. По этому параметру ЕС5033 должен был превосходить IBM2301/2303. Все эти накопители на магнитных барабанах имели систему команд и формат дорожек, практически совпадающий с соответствующими дисками.

Увы, мне не только не удалось ни разу увидеть ЕС5033 даже на фотографии, но и что-нибудь услышать о нем от кого-нибудь. Вероятно, в производство этот накопитель так и не пошел.

Закат магнитных барабанов

Похоже, вопрос, почему магнитные барабаны ушли с рынка, сродни вопросу, почему исчезли динозавры — точного ответа на него, видимо, нет. Отмечалось, в частности, что технологически форма поверхности — цилиндр по сравнению с плоскими тарелками в дисках — менее удобна, а плотность упаковки более низка; действительно, количество информации в единице объема, которую можно записать на диск с несколькими тарелками, выше, чем в накопителях на магнитных барабанах. Наиболее радикальный вариант ответа состоял в том, что магнитные барабаны технически никак не уступают магнитным дискам. Более того, была выдвинута идея нового «накопителя на магнитных дисках», содержащего вместо нескольких тарелок магнитных дисков несколько тонких магнитных барабанов-карандашей (Large Array of Magnetic Pencils, LAMP). А переход IBM к магнитным дискам объяснялся нежеланием корпорации платить за патенты на накопители на магнитных барабанах, принадлежащие Sperry Rand.

Так или иначе, бытие магнитного барабана может послужить хорошей иллюстрацией того, что знать историю вычислительной техники все-таки надо — в ней можно заново открыть для себя полезные технические идеи.

Литература

  1. B. Randell, In «The Origin of Digital Computers: Selected Papers». Springer-Verlag, 1973.
  2. Э. Танненбаум, «Многоуровневая организация ЭВМ». М.: Мир, 1979.
  3. А. Флорес, «Внешние запоминающие устройства». М.: Мир, 1977.
  4. Ю. Л. Полунов, «От абака до компьютера; судьбы людей и машин», Т. 1. М.: Русская редакция, 2004.
  5. Б. А. Головкин, «Параллельные вычислительные системы». М.: Наука (физмат), 1980.
  6. «Многопроцессорные системы и параллельные вычисления», под ред. Ф. Г. Энслоу. М.: Мир, 1976.
  7. Л. Н. Королев, «Структуры ЭВМ и их математическое обеспечение». М.: Наука (физмат), 1978.
  8. Г. Л. Мазный, «Программирование на БЭСМ-6 в системе ‘Дубна’». М.: Наука (физмат), 1978.
  9. «Единая система ЭВМ», под ред. А. М. Ларионова. М.: Статистика, М., 1974.