Перфокарта — главная флешка прошлого века. Кусок картона с дырочками, который использовался в качестве хранилища информации вплоть до 2000-х годов и вмещал около 80 байт данных.
Может показаться, что это очень простая штука. Но на деле, эта вещь повлияла на всю индустрию технологий XX века, создав главную компьютерную компанию. А еще, оказывается, что перфокарты чрезвычайно интересно устроены.
Сегодня мы разберемся: как они работали, как на них хранили файлы и программы и занимались космическими расчетами, сколько перфокарт бы потребовалось на скачку GTA 5, какой вклад внесли и как привели нас к эре персональных компьютеров.
История
Впервые про перфокарты мне рассказала бабушка. Она занималась вычислениями в авиапромышленности в 60-х, и без них было никуда.
Но первая технология появились намного раньше и весьма неожиданно. Причина этому — ткацкие станки. Отправляемся в 1804 год. И дело вот в чем.
Ранее, ткачам приходилось постоянно менять конфигурацию станка, чтобы узор вышел правильно. Это было неудобно и очень дорого. И, к счастью для ткачей, в 1804 году, Жозеф Мари Жаккард создал первый программируемый ткацкий станок. Он использовал перфокарты для кодирования узора. Присутствие или отсутствие дырки на карте определяло будет ли определённая нить держатся высоко или низко. Карты располагались в ряд, формируя длинные ленты и являлись чем-то наподобии шаблона для поведения машины.
Лента из перфокарт с двоичным кодом узора для жаккардовой машины
Перфокарта для жаккардовой машины
Идеоскоп
Интересно, что одним из первых, кто решил хранить информацию на перфокартах был российский изобретатель Семён Корсаков. Работая на отдел статистики министерства полиции в 1830-х годах, он решил использовать технологию контроля узора, как способ хранения и поиска информации. Так на свет появился “Идеоскоп”. Хитроумное устройство, которое автоматизирует процесс поиска и сравнения записей в базе данных через перфокарты. Другими словами, это был очень ограниченный Google.
Герман Холлерит
Пик популярности пришелся на период с 1890 по 1970 года. Современные типы карточек появились, когда в Америке в 1890-м году происходила перепись населения. Раньше перепись велась неэффективно, давала приблизительные результаты и занимала очень много времени. Чтобы автоматизировать этот процесс, Герман Холлерит, отец современных перфокарт, придумал прибор — Табулятор, считывающий данные человека с дырок на карте.
Важно понимать, что Табулятор не был компьютером. По сути — это была сложная электромеханическая машина. Работал он следующим образом: работники собирали данные людей на перфокартах, вбивая дырки в конкретных местах. Эти дырки группировали по характеристикам человека, такие как раса, пол, адрес и так далее. После, все эти карты скармливали считывающей машине, которая опускала иголки в выделенные места на перфокартах.
Под картами были такие ртутные чашки, которые замыкались, соприкасаясь с иглами. Если игла пройдет насквозь и замкнет контакт, число определенного показателя переписи увеличивался на 1. Позже, общие результаты всех скормленных перфокарт печатались на бумаге.
- Выбивание дырок на перфокарте
- Диаграмма работы игл
- Скармливание перфокарты в табулятор
- Подсчёт результатов
Основание CTR
После пересчёта населения в 1890 году спрос на перфокарты сильно вырос. В период с 1890 по 1970 годы практически вся обработка больших данных осуществлялась через них. В ответ на возросший спрос, создатель табулятора, Гермал Холлерит, в 1896 году, основал компанию, которая называлась Tabulating Machine Company. Со временем эта компания срослась с тремя другими, что сформировало Computing-Tabulating-Recording Company или просто CTR. Настоящий гигант на рынке перфокарт, который держал самый большой кусок в производстве. Запомните эту компанию, о ней мы ещё поговорим.
Что такое перфокарта?
Теперь о главном. Давайте разберемся как устроена перфокарта? Перфокарта расшифровывается как перфорационная карта. По сути это просто картонка с дырками. Perforo с латинского «пробивать», отсюда и название. На английском перфокарта звучит как punched card, что дословно переводится, как пробитая карта. Но как же дырявая картонка может хранить информацию?
Как работает?
На перфокарте изображена сетка с выделенными местами, в которых, как мы уже выяснили, может быть или не быть пробито отверстие. Присутствие или отсутствие дырки в определённых местах на карте — первый аналог единиц и нулей из современных систем счисления. Разное расположение дырок на карте даёт разную информацию, которую потом считывает табулятор.
Карта состоит из столбиков, где один столбик кодировал один символ или 1 байт. По сути, один ряд — это одна строка кода. Перфокарты складывались в стопку и эту стопку можно сравнить с текстовым файлом или программой. Карты можно убирать или менять местами, что является полноценным аналогом текстового редактора.
Компьютерная программа, записанная на перфокарты
Как считывать код?
Код с перфокарт считывала огромная машина. В начале эта машина использовала иглу, которая опускалась в отверстия. Если есть отверстие — пишем да, нет отверстия — нет. Позже код стали считывать лучом. Сейчас, перфокарты считывать гораздо проще. Просто гуглишь считыватель перфокарт онлайн без смс и регистрации в вуаля.
Формат перфокарт
Кстати, процесс считывания информации довольно интересен и имеет свою историю. Изначально, ещё во времена переписи населения, основным форматом перфокарт было 24 столбика, 12 ряда и круглые отверстия. То есть, 288 точек/битов. Точный размер карт был 187,325 mm × 82,55 мм.
Позже, когда табуляторы научились считать числа, формат карт изменили на 45 столбиков и 10 рядов, но со временем и этого стало не достаточно.
В 1928 году был представлен новый дизайн перфокарт уже с 80 столбиками, 12 рядами и прямоугольными отверстиями, при этом сохраняя изначальные пропорции. Этот дизайн прижился и стал основным. Более того, вклад этого дизайна в культуру мы можем увидеть даже сегодня. Например, в программировании есть обычай не превышать 80 символов на одной линии. Ровно столько столбиков было на самих перфокартах.
Еще одна вещь, которую мы замечаем — это один срезанный угол. Он был нужен для ориентации карт: чтобы символы читались в правильном порядке.
С введением дополнительных столбиков и рядов, перфокарты стали записывать не только числа, но и буквы, и символы. Если запись числа очень проста, просто вбиваешь дырку там, где цифра, то с буквами немного сложнее.
Поскольку буквы требуют больше информации, чем числа, одной дырки не достаточно и зоны перфокарты разделили. 3 верхних ряда (12, 10 и иногда 0), назвали зональными карманами, а ряды с 0 по 9 цифирными. 0 могли отнести либо к одному ряду, либо к другому.
Зональный карман отвечал за буквы и символы. Чтобы, к примеру записать букву ‘a’, Нужно в одном столбике поставить дырку на 12 и 1 рядах.
Чтобы записать знак цифры, ну то есть негативное чисто или позитивное, использовали 2 последних столбика. Столб 12 отвечал за +, 11 за -.
И тут интересный момент. В теории для кодирования символов требуется меньше бит, чем есть в перфокарте в одном столбце. А тут используется не больше двух отверстий на столбец. Тогда как некоорые символы имеют в своем коде куда больше. Это сделано для того, чтобы не делать карту очень хрупкой изза большого количества отверстий рядом.
(То есть, выходит перфокарты были не оптимальными носитеями: и хранили информацию с запасом.)
Например в коде ASCI для буквы y потребовалось бы пробить 5 отверстий: Y 01111001
Со временем формат менялся. На пример в 1964 году стали использовать ряды (12,11,0,8,9) для кодирования символов.
Советские перфокарты
Кстати, во времена СССР перфокарты выглядели вот так. Формат был очень похож на американский. Основным отличием были острые края, а не закруглённые как у американского аналога. В советском союзе, как и на западе, перфокарты были основным хранителем информации на протяжении всего XX века.
Кодирование двоичного кода на перфокартах
Пожалуй, самый близкий к современным компам формат перфокарт был двоичный. В двоичной перфокарте каждая дырка означала двоичную единицу, или же бит: либо 1, либо 0. В основном использовали первые 72 столбика для записи данных, где каждый ряд хранил 72 бита информации. Последние 8 столбиков использовали для сортировки карт.
Применение
Теперь поговорим о применении. В XX веке почти каждый компьютер имел считыватель перфокарт. Если скормить стопку, считыватель загрузит их в память последовательно, как одну программу. Когда все данные с перфокарт будут в памяти, компьютер выполнит операцию, которая записана в коде. Также данные можно было выводить из компьютера в виде таких же перфокарт.
В начале программы специальный код отверстий указывал язык на котором написан код. Например, язык ALGOL. А также были комбинации отверстий для начала и конца программы: BEGIN, END.
Одним из таких компьютеров была советская ЭВМ (Электронно-Вычислительная Машина) “Стрела”, разработанная в 1953 году. Это была очень шустрая машина. Работала на скорости в 2000 операций в секунду (то есть 2 килоГерца). Сейчас 100 миллионов операций может осилить даже средний компьютер, но на тот момент это был очень хороший результат. “Стрела” имела два считывателя данных: на магнитной ленте и на перфокартах и могла выводить данные на те же перфокарты и магнитные ленты, а также на широкоформатный принтер.
Но наверное одним из самых больших проектов, в которых код хранили на перфокартах был «Аполлон», программа высадки первых людей на Луну. Да, поначалу даже NASA писала код на картоне. В 1968 году критически важные задачи, по типу программирования управляющего компьютера проекта, хранились на перфокартах.
Процесс записи кода был довольно интересен. Сначала код писался на специально оформленных бланках. Потом конвертировался уже в перфокарты специальным прибором, который на английском назывался keypunch machine, это такая печатная машинка, только для перфокарт: нажимаешь символ на клавиатуре — а машина пробивает соответствующие дырочки. Восторг! Этот процесс часто повторяли дважды дабы избежать ошибок. В конце концов картонки скармливали считывателю, который превращал дырки в магнитные сигналы.
IBM
Но, несмотря на потерянную актуальность, перфокарты оказали немыслимое влияние на индустрию. Помните компанию Computing-Tabulating-Recording Company, которую мы упоминали в начале? Так вот в 1924 году её переименовали в International Business Machines Corporation или же просто IBM. Да, тот самый техногигант, который, по сути, был одним из прародителей современных компьютеров, начинал свой путь с перфокарт.
В начале IBM производили оборудования для продажи и аренды, начиная от торговых весов, мясорубок и сырорезок, заканчивая табуляторами и перфокартами.
Позже на должность президента компании заступил Томас Джон Уотсон и дела у них пошли в гору. Политика компании сильно поощряла хорошую работу и прорывные идеи. А авторы самых инновационных идей могли получить почётное звание “Master Inventor”. Эта политика сильно мотивировала людей и IBM создала множество прорывных технологий.
IBM 650
Одной их них был первый коммерчески успешный компьютер IBM 650, созданный в 1950-х годах. Модель 650 добавила возможности высокоскоростных вычислений к обработке данных с перфокарт. Из-за относительной дешевизны и лёгкости в программировании, IBM 650 часто использовали в сфере образования.
Именно IBM представила стандарт, которым пользовались во всем мире.
IBM System
Позже IBM пошли в разнос. В 1964 году IBM запустила первое семейство компьютерных систем IBM System/360. Это семейство охватывало весь спектр коммерческих и научных приложений, что впервые позволило компаниям перейти на модели с большими вычислительными возможностями без необходимости переписывать свои приложения. За 360 в 1970 году последовала обнова, IBM System/370. 360 и 370 сформировали доминирующую платформу в компьютерной отрасли на протяжении всего этого периода и до начала 1980-х годов.
Связь IBM и Microsoft
А уже в 80-ых IBM заключила партнерство с Microsoft, чтобы та разработала операционную систему для машин от IBM, называлась она OS/2. Но не смотря на сделку, Microsoft продолжила разрабатывать и продвигать свою собственную ОС, Windows, которая была прямым конкурентом OS/2. В итоге всё закончилось тем, что Windows полностью затмила ОС, сделанную для IBM и в 90-ых платформа от Microsoft охватывала более 90% рынка персональных компьютеров.
IBM 5150 1981 года — первый персональный компьютер,который сильно что-то напоминает. Что через несколько лет спаяют пара ребят в гараже под Сан франциско. Но это дургая история.
Недостатки
Но если NASA удалось посадить людей на Луну, используя код с перфокарт, почему же от них избавились. Как оказалось, проблем у них было много.
Перфокарты хранили слишком мало информации, были ненадежны, так как изготовлялись из бумаги, занимали слишком много места и из-за того, что они хранились не в цифре, легко подвергались краже.
Поскольку карты были картонными, они со временем портились и данные терялись. Картон пытались заменить на метал, но карты получались слишком толстые и жесткие. Также, одна перфокарта могла хранить только 80 байтов информации. То есть что бы скачать GTA 5 на перфокарты потребуется 900 миллионов картонок, что весило бы примерно 1672 тонны.
Перфокарты начали заменять
Из-за всего этого, во второй половине XX века люди начали постепенно заменять перфокарты на магнитные ленты. До 1980-х годов перфокарты все еще использовались как дешевый способ хранения информации, пока магнитные ленты не подешевели, после чего картонки стали просто не нужны. А до начала 2000-х годов в США их все еще использовали на выборах.