Хакеры: Герои компьютерной революции - Леви Стивен 3 стр.


В 1959 году интересы Маккарти немного сместились: он оставил шахматы и занялся новым способом общения с компьютером. Это был новый "язык" под названием LISP. А шахматным проектом занялись Алан Коток и его друзья, которые были весьма нетерпеливы и готовы приступить немедленно к решению проблемы. Работая на IBM, которая функционировала в режиме пакетной обработки, они начали обучать IBM 704, потом модель 709, а впоследствии и заменившую ее модель 7090, решению задачи расстановки ферзей на доске. В конечном счете, группа Котока стала самым большим пользователем компьютерного времени во всем вычислительном центре МТИ.

Однако работа с IBM сильно выматывала. Не было ничего хуже долгого ожидания в промежутке после сдачи ваших перфокарт и моментом, когда ваши результаты вручались вам назад. Если вы напечатали не в том месте хотя бы одну букву, то программа вылетала с ошибкой, и вы должны были начинать всю работу снова. Кроме того, как снежный ком росло количество чертовых правил, которые пронизывали всю атмосферу вычислительного центра. Большинство из этих правил было предназначено для того, чтобы держать сумасшедших компьютерных фанов типа Самсона, Котока и Сандерса, на должном физическом удалении от машины. Самым жестким правилом из всех было то, что никто не должен быть прикасаться к переключателям или непосредственно вмешиваться в работу машины. Как раз это ребята из СиП хотели сделать больше всего на свете и просто умирали от этого страстного желания, а действующие ограничения сводили их с ума.

Один Жрец, а точнее - помощник Жреца низкого уровня, во время ночной смены был особенно настойчив в выполнении этих бюрократических распоряжений. Для него Самсон изобрел подходящую месть. Однажды, копаясь в развалах электронного хлама в магазине Эли, он случайно наткнулся на электронную плату, которая в точности походила на плату, аналогичную той, на которой были смонтированы электронные лампы, находившиеся внутри IBM. Однажды ночью, около 4 часов утра, этот младший помощник Жреца отлучился на минуту из комнаты. Когда он возвратился, Самсон сказал ему, что машина вышла из строя, но они нашли источник проблемы, после чего показал ему полностью разбитый модуль от старой IBM 704, которую он нашел у Эли.

Помощник жреца едва смог вымолвить: " Г-где ты это взял?"

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

У помощника жреца перехватило дыхание. По его лицу было видно, что от испуга его внутренности вот-вот выйдут наружу. Он начал стенать и взывать к Господу. Вне всякого сомнения, перед ним начали проноситься кошмарные видения в виде вычета в миллионы долларов из его зарплаты. Он успокоился только после того, как пришел Старший Жрец, который несколько понимал менталитет этих молодых вундеркиндов из TMRC и объяснил ему, что же происходит на самом деле.

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

* * *

В один из дней, в клуб нанес визит бывший член TMRC, который теперь работал на факультете института. Его звали Джек Деннис. В начале 1950-х, когда он сам был студентом, он с такой же неистовой увлеченностью работал под моделью железной дороги. Деннис недавно начал работать на компьютере, который МТИ только что получил из Lincoln Lab, дочерней институтской лаборатории, которая занималась военными научными исследованиями. Компьютер назывался TX-0, и это было один из первых транзисторных компьютеров в мире. В Lincoln Lab его использовали исключительно для проверки гигантского компьютера под названием TX-2, который имел настолько сложную память, что специально для этого построили "маленького брата", который мог успешно диагностировать ее проблемы. Теперь, когда его работа была закончена, TX-0, стоимостью три миллиона долларов был передан Институту в виде "долгосрочной ссуды" и, похоже, никто в Lincoln Lab не отметил в календаре дату возвращения. Деннис спросил у ребят из СиП в TMRC: хотели ли бы они на нее посмотреть? С тем же успехом можно было спросить монахинь: "Эй, монашки! Хотите встретиться с Римским папой?".

TX-0 размещался в Здании №26, на втором этаже Научно-Исследовательской Лаборатории Электроники, непосредственно над первым этажом Вычислительного центра, на котором размещался неповоротливый IBM 704. Лаборатория RLE походила на рубку управления старинного космического корабля. TX-0, или Tixo, как ее иногда называли, для своего времени была маленькой по размерам машиной, так как это был один из первых компьютеров, которые использовали транзисторы размером с палец, вместо электронных ламп размером с руку. Тем не менее, он занимал большую часть комнаты, и это не считая пятнадцати тонн вспомогательного оборудования для кондиционирования. Рабочие компоненты TX-0 были установлены на нескольких высоких, тонких шасси, которые походили на металлические стеллажи для книг, опутанные проводами, с аккуратными небольшими рядами маленьких, контейнеров, похожих на бутылочки, в которые были вставлены транзисторы. Другая стойка имела металлическую переднюю панель, пестревшую мрачновато выглядящими рукоятками управления. Перед стойками была расположена L-образная консоль, которая являлась пультом управления этого космического корабля из романа Герберта Уэллса, с синим покрытием, на которое можно было положить локти или бумаги. На коротком конце этой буквы "L" стоял Flexowriter, который походил на пишущую машинку, переделанную для ведения противотанковой войны - его основание покоилось на станине, выкрашенной в шаровый (серый) цвет, которым обычно пользовались военные. Наверху были расположены органы управления, которые выглядели как выпячивающиеся ящики, выкрашенные в положенный желтый цвет. На обращенных к пользователю сторонах ящиков, находилось несколько ручек, ряды мигающих лампочек, размерами в четверть дюйма, матрица из стальных переключателей, каждый из которых был размером с большое рисовое зерно, и действительно большая,лучшая из всех на этот момент, настоящая катодная лучевая трубка (CRT), округлой формы и дымно-серого цвета.

Ребята из TMRC благоговейно затрепетали. Эта машина не использовала перфокарт.Пользователь сначала пробивал свою программу на длинной и тонкой бумажной ленте при помощи Flexowriter-а (кроме того, в соседней комнате имелось несколько дополнительных Flexowriter-ов), затем садился за консоль, загружал программу, заправив ленту с ней в перфосчитыватель, и наблюдал за выполнением программы. Если с программой что-то шло не так, то пользователь немедленно узнавал об этом. Он мог определить источник проблем, нажимая на некоторые из выключателей, или проверяя, какой из сигнальных огней мигает или горит. Компьютер даже имел аудио выход: во время исполнения программы, спикер раположенный ниже пульта, играл своего рода музыку, похожую на плохо настроенный электрический орган, чья мелодия вибрировала с нечетким, эфироподобным шумом. Аккорды этого "органа" менялись, в зависимости от того какие данные машина считывала в конкретную микросекунду. После того, как вы становились более или менее знакомы с издаваемыми звуками, вы могли действительно слышать, на какой части вашей программы работал компьютер. Это вы могли также узнать по треску Flexowriter-а, работа которго была весьма похожа на ожесточенную стрельбу из пулемета.

Но еще более удивительными были "интерактивные" способности машины, на которой пользователям были выделены интервалы времени для использования TX-0 целиком для своих нужд. Кроме того, вы могли вносить в программу изменения, сидя непосредственно за компьютером.Это было просто фантастикой!

В самой преисподней не нашлось бы никаких препятствий, которые могли бы отвратить Котока, Сандерса, Самсона и других от этой машины. К великому счастью, как оказалось, вокруг TX-0 не было той самой бюрократии, которая окружала IBM 704. Не было никакого персонала из официозных жрецов. Техник, ответственный за компьютер, был осторожным блондинистым шотландцем по имени Джон Маккензи. Хотя он и проверял, чтобы аспиранты и, работающие над финансируемыми проектами, сотрудники института являлись Официально Допущенными Пользователями, и имели соответствующий доступ к машине, Маккензи переносил присутствие команды сумашедших из TMRC , которые начали периодически оставаться в лаборатории RLE, где стояла TX-0.

Самсон, Коток, Сандерс, и новичок, которого звали Боб Вагнер, в скором времени вычислили, что лучшим временем для пребывания в Здании №26 является ночь, когда ни один человек в своем здравом уме не запишется на одночасовой сеанс в расписание, которое вывешивалось каждую пятницу около воздушного кондиционера в лаборатории RLE. Как правило, TX-0 работала двадцать четыре часа в сутки. В те годы машинное время было слишком дорогим, чтобы его тратить впустую, поэтому машину оставляли работать вхолостую на всю ночь, и кроме того, запуск этой штуковины после того, как она полностью выключалась, был весьма проблематичной процедурой. Таким образом, TMRC хакеры, которые вскоре стали называть себя TX-0 хакерами, изменили свой образ жизни, чтобы приспособиться к расписанию времени на компьютере. Они заняли все интервалы времени, какие только было можно, и, "стервятничали" во время своих ночных посещений лаборатории, на тот случай если кто-то, кто записался на 3 часа утра, не приходил.

" О! ", -восхищенно говорил Самсон, спустя минуту-другую после того, как кто-то не появлялся во время, обозначенное в журнале, - "Пусть оно не пропадет впустую!"

Оно никогда не пропадало, потому что хакеры были там постоянно. Если они не находились в лаборатории RLE, в ожидании внезапной дыры в расписании, то они могли находиться в классе, который был рядом с клубной комнатой TMRC, и который назывался Инструментальной Комнатой. Там они играли в игру в слова на листе бумаги, подобную игре в "виселицу", которую изобрел Самсон, и которая называлась "Дойти до Соседней Двери". Играя в эту игру, они ожидали известия от того, кто был рядом с TX-0 и отслеживал пользователей, не появившихся в заказанное ими машинное время. Хакеры завербовали целую сеть информаторов, которые заранее предупреждали их о потенциальных дырах в расписании времени компьютера, особенно в тех случаях, когда программа для обсчета научного проекта не была вовремя готова, или был болен профессор. Информация об этом доходила до TMRC, и тогда у TX-0 появлялись хакеры, затаившие дыхание и готовые немедленно прыгнуть на место за консолью.

Хотя Джек Деннис теоретически отвечал за работу машины, он параллельно преподавал курсы, и предпочитал тратить остальную часть своего времени, свободного от преподавания, на фактическое написание программ. По отношению к хакерам Деннис играл роль добродушного крестного отца: он преподал им краткий вводный курс по машине, направлял их деятельность, и периодически удивлялся их диким программным предприятиям. Он не имел большой склонности к администрированию, и был весьма рад, когда ему удалось передать дела Джону Маккензи. Маккензи быстро понял, что интерактивный характер TX-0 был весьма многообещающим и фактически представлял собой новую форму программирования на компьютерах. Пионерами этого направления были хакеры, и поэтому он старался не устанавливать слишком много ограничений.

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

Одним из этих странников был человек со стороны по имени Питер Дейч. Еще до своей встречи с TX-0, он был очарован компьютерами. Это началось однажды, когда он нашел выброшенное кем-то руководство, по не совсем понятной форме языка для выполнения вычислений на компьютерах. Он испытал весьма странное чувство относительно этих упорядоченных компьютерных команд. Позднее он описал бы его, как чувство сходное с состоянием художника или артиста, когда тот испытывает то же самое сверхестественное и трансцендентное ощущение, когда он обнаруживает среду или предметы вокруг себя, которые являются для него абсолютно комфортными. Это именно то, чему я принадлежу.Дейч попробовал написать маленькую программу, и, записываясь на машинное время под именем одного из "жрецов", запускал ее на компьютере. В течение нескольких недель, он достиг поразительного мастерства в программировании. На этот момент ему было всего двенадцать лет.

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

Его встреча с TX-0 была неизбежна. Сначала он попал в маленькую "Клудж-Комнату", где были доступны три интерактивных Flexowriter-а для набивания программ на бумажную ленту, которая затем считывалась на TX-0. Кто-то как раз набивал программу на ленту. Питер понаблюдал за этим некоторое время, а затем начал забрасывать беззащитную жертву градом вопросов. Вопросы касались этого таинственного "небольшого" компьютера в соседней комнате. После чего Питер подошел непосредственно к TX- 0 , и рассмотрел ее вблизи, отметив при этом, что она весьма отличалось от других машин: она была меньше размером, имела CRT-дисплей, и другие приятные штучки. Он сразу же решил вести себя так, как будто он имел полное право находиться здесь. Он быстро понял все то, что было написано в руководствах, и, в скором времени, поражал окружающих, периодически произнося умные речи на околокомпьютерную тематику. В конечном счете, ему разрешили вписывать свое имя в расписание машинного времени в течение ночи и выходных дней, а также писать свои собственные программы.

МакКензи беспокоился только о том, чтобы его не обвинили в превращении лаборатории в "детский сад". Этот, еще маленький мальчик, в коротких штанишках, но в то же время достаточно длинный, чтобы доставать головой до консоли TX-0, просматривал код, который Официально Санкционированный Пользователь (весьма вероятно им был какой-нибудь надутый аспирант) набил на Flexowriter-е. При этом, мальчик ему говорил своим писклявым подростковым голосом нечто вроде: "Ваша проблема в том, что данное допущение в данном месте неверно… Вам здесь нужны другие команды". Как правило, надутый аспирант немедленно задавался вопросом: "Кто этот маленький червь?", после чего начинал злиться и повышать на него голос, приказывая выйти отсюда и поиграть в игрушки где-нибудь в другом месте. Но, обычно комментарии Питера оказывались правильными. Кроме того, Дейтч хвастливо заявлял, что он в состоянии написать гораздо лучшие программы, чем те которые он видел, и, что самое интересное - у него это получалось.

Самсон, Коток, и другие хакеры приняли Питера Дейча в свои ряды. По его уровню понимания компьютера он был достоин равного отношения. Но Дейч не стал таким же фаворитом среди Официально Санкционированных Пользователей, особенно, когда он сидел позади них, готовый к немедленному действию, когда они делали ошибку, набивая программу на Flexowriter-е.

Официально Санкционированные Пользователи появлялись у TX-0 с регулярностью прихода и ухода на работу. Программы, которые они запускали, представляли собой статистические исследования, поиски взаимных корреляций, моделирование процессов происходящих в ядре, то есть прикладные программы. Пользователи от них были в восторге, но в представлении хакеров это была пустая трата времени и ресурсов. В хакерских головах гнездилось непреодолимое желание сесть за консоль TX-0, такое же, какое испытывает пилот желающий сесть за штурвал самолета. Или, как выразился Питер Самсон, большой любитель классический музыки: "Вычисления на TX-0 были подобны игре на музыкальном инструменте: абсурдно дорогом музыкальном инструменте, на котором вы могли бы импровизировать, писать музыкальные пьесы, или подобно битникам на Гарвард-Сквер, что в миле отсюда, выть как привидение когда воображение начинало полностью отказывать."

Одной из вещей, которой они активно пользовались, была система программирования, которую создали Джек Деннис и профессор Том Стокман. Когда TX-0 привезли в МТИ, ее немного "раздели" по сравнению с тем оснащением, которое у нее было в стенах Lincoln Lab. Была существенно уменьшена память; до 4,096 "слов" из восемнадцати битов каждое. Кроме того, TX-0 не имел почти никакого программного обеспечения. Поэтому Джек Деннис, еще до того как он показал TX-0 ребятам из TMRC , написал "системные программы", то есть такое программное обеспечение, которое помогало пользователям работать с машиной.

Первой вещью, над которой работал Деннис, был ассемблер. Это было специальное программное обеспечение, переводившее программу, написанную на языке ассемблера в двоичный код. Язык ассемблера представлял собой символические трехбуквенные сокращения, которые на самом деле были командами машины. Ассемблер транслировал их в машинный язык, который, состоял из двоичных чисел 0 и 1. TX-0 имел довольно ограниченнуюсистему команд, так как его дизайн позволял использовать только два бита из каждого восемнадцатибитного слова в качестве команды для компьютера, то есть могли использоваться только четыре инструкции (каждая из возможных комбинаций двух битов - 00, 01, 10, и 11 представляла собой команду). Все что компьютер мог делать, могло быть сведено к выполнению одной из тех четырех инструкций: ему требовалась одна команда, чтобы складывать два числа, и последовательность из примерно двадцати команд, чтобы умножить два числа. Тщательный просмотр написанного длинного списка команд компьютера, записанных в двоичном виде, например, 10011001100001 могли легко превратить вас в заговаривавшегося душевнобольного уже по истечении нескольких минут. Но та же самая команда на языке ассемблера могла бы выглядеть как ADD Y. После загрузки ассемблера в компьютер, который написал Деннис, вы могли бы писать программы в более простой символической форме, и спокойно сидеть и ждать, потирая от удовольствия руки, в то время как компьютер выполнял для вас перевод в двоичный код. После этого вы скармливали компьютеру уже подготовленный "объектный" код. Ценность этой программы была неизмерима: она позволяла программистам писать на языке, который напоминалестественный язык, а не эти бесконечные, вызывающие головокружение, ряды единиц и нолей.

Назад Дальше