14.07.2025 13:43

Компьютер размером с комнату: как запускали программы до эпохи персональных ПК

1. Архитектура вычислительных машин 1950-х годов

В 1950-х годах компьютеры представляли собой массивные установки, занимающие целые помещения. Их архитектура включала стойки с вакуумными лампами, магнитными лентами, механическими реле и сотнями метров проводки. Примерами таких машин являются ENIAC, UNIVAC I, IBM 701 и другие ранние электронные вычислительные устройства. Вес машин мог достигать десятков тонн, потребление энергии измерялось в десятках киловатт, а системы охлаждения требовали промышленных вентиляторов. Такие вычислительные центры проектировались специально под каждую машину, включая инфраструктуру питания, вентиляции и противопожарной безопасности.

2. Программирование до появления клавиатуры и экрана На заре вычислительной эры не существовало ни экранов, ни клавиатур, ни привычных операционных систем. Программы вводились с помощью перфокарт — прямоугольных бумажных носителей, в которых каждая пробитая дырка соответствовала инструкции или единице данных. Альтернативным способом программирования была панельная коммутация — ручная настройка логики через соединение проводов в определённых конфигурациях на специальных коммутационных панелях. Таким образом, изменение логики программы требовало физического вмешательства и занимало значительное время. Код писался в машинных командах или низкоуровневом ассемблере. Языки высокого уровня, такие как Fortran и COBOL, появятся только в конце 1950-х годов.

3. Запуск программ: процесс, требующий точности и терпения Процесс запуска программы в эпоху до персональных компьютеров был строго регламентирован. Требовалась подготовка оборудования: загрузка данных с магнитной ленты или перфокарт, установка конфигурации регистров, проверка питания и состояния компонентов. Ошибка в одной перфокарте могла привести к сбою всей программы, что требовало её полного перезапуска. Кроме того, машины часто запускались ночью, чтобы минимизировать внешние электромагнитные помехи и обеспечить стабильность напряжения в сети.

4. Аппаратные сбои и “баги” в прямом смысле слова Большинство вычислительных машин тех лет работали на вакуумных лампах, каждая из которых имела ограниченный срок службы. Выход из строя даже одной лампы мог привести к полной остановке программы или повреждению данных. Известен случай 1947 года, когда в одной из машин (Harvard Mark II) в реле был обнаружен мотылёк, вызвавший сбой. Эта находка была зафиксирована в рабочем журнале и стала первой документированной записью “bug” — отсюда и пошло современное значение термина. Инженеры-программисты часто выполняли функции наладчиков: с паяльником, отверткой и диагностическими схемами они устраняли аппаратные неисправности в ходе работы.

5. Ценность вычислений и вклад в научно-технический прогресс Несмотря на сложность, ограничения и ресурсоёмкость, даже краткосрочная работа машин того времени позволяла решать задачи, которые ранее были недостижимы: расчёт баллистических траекторий, моделирование ядерных процессов, анализ климатических данных и криптографических схем. Эти вычисления имели стратегическое значение в военной, аэрокосмической и научной сферах. Программисты и инженеры работали на стыке математики, физики и машиностроения, фактически формируя новую инженерную дисциплину — информатику.

6. От машинных залов к карманным устройствам Технологическая эволюция привела к миниатюризации и усложнению вычислительных устройств. От перфокарт и ламповых машин человечество перешло к интегральным схемам, микропроцессорам и персональным компьютерам. Сегодня устройства с вычислительной мощностью, превосходящей ENIAC в миллионы раз, помещаются в кармане.