Электронная библиотека » Стивен Леви » » онлайн чтение - страница 10


  • Текст добавлен: 31 октября 2023, 15:26


Автор книги: Стивен Леви


Жанр: Зарубежная деловая литература, Бизнес-Книги


Возрастные ограничения: +12

сообщить о неприемлемом содержимом

Текущая страница: 10 (всего у книги 38 страниц) [доступный отрывок для чтения: 12 страниц]

Шрифт:
- 100% +

Первоначально Multics создавалась совместно с General Electric, затем в дело вмешалась Honeywell. С ней были всевозможные проблемы. Как только хакеры услышали, что система будет работать на терминалах телетайпа модели 33 вместо быстрых интерактивных дисплеев CRT, они поняли, что система неудачная. То, что система была написана на созданном IBM компьютерном языке PL/I, а не на лаконичном машинном языке, было ужасно. Когда система впервые заработала, она была невероятно вялой. Она работала так медленно, что хакеры пришли к выводу, что у нее, должно быть, «поврежден мозг» – это выражение использовалось так часто для описания Multics, что словосочетание «поврежденный мозг» стало стандартной хакерской уничижительной фразой.

Но худшее в Multics – это высокая безопасность и система взимания платы с пользователя за время работы. Multics занял позицию, согласно которой пользователь оплачивает буквально все; она взимает часть платы за память, которую вы используете, еще часть – за дисковое пространство, еще больше – за время. Тем временем создатели Multics, с точки зрения хакеров, делали заявления, что это единственный способ работы утилит. Система полностью изменила хакерскую этику, вместо того чтобы поощрять людей как можно больше времени работать на компьютере (единственная правильная вещь в разделении времени, касающаяся большинства хакеров), она призывала вас тратить меньше времени и использовать меньше возможностей компьютера! Философия Multics была катастрофой.

Хакеры досаждали системе Multics приколами и сбоями. Сделать это было фактически обязанностью каждого. Как позже скажет Минский: «Были люди, которые делали проекты, не нравившиеся другим людям, и проделывали всевозможные шутки, работать с которыми было невозможно… Я думаю, что [хакеры] помогали прогрессу, подрывая систему глупыми выходками».

В свете этих подрывных действий хакеров планировщики, ответственные за Лабораторию ИИ, должны были действовать очень осторожно с предложениями, которые повлияли бы на хакерскую среду. Однако примерно в 1967 году планировщики захотели грандиозных перемен. Они хотели превратить любимый хакерами PDP‐6 в машину для разделения времени.

К тому времени Минский передал многие из своих обязанностей по руководству Лабораторией ИИ своему другу Эду Фредкину, начальнику Нельсона в компании Triple-I, который сам постепенно уходил из бизнеса и стал профессором МТИ (Фредкин стал одним из самых молодых профессоров на факультете и единственным профессором без ученой степени). Будучи мастером-программистом, Фредкин уже был близок к хакерам. Он оценил то, как отношение невмешательства позволяет хакерам работать невероятно продуктивно. Но он думал, что иногда хакеры могут извлечь выгоду и из обратной политики. Одна из его ранних попыток организовать подход «человеческой волны» к проблеме робототехники, обозначив хакерам конкретные части проблемы, потерпела позорную неудачу. «Все думали, что я сошел с ума», – вспоминал позже Фредкин. В конечном счете он смирился с тем, что лучший способ заставить хакеров что-то сделать – это предложить им это и надеяться, что они заинтересуются. Тогда вы получите производительность, неслыханную в промышленности или академических кругах.

Система с разделением времени было тем, что Минский и Фредкин считали необходимым. Среди хакеров и официально санкционированных пользователей PDP‐6 пользовался постоянным спросом; люди были разочарованы долгим ожиданием доступа. Но хакеры не считали разделение времени приемлемым. Они указывали на CTSS, Multics, даже на более дружелюбную систему Джека Денниса на PDP‐1 как на примеры более медленного, менее мощного доступа, который может зависнуть, когда несколько людей используют его одновременно.

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

После нескольких месяцев работы Самсон придумал схему, и два хакера отправились ее проверить. В Манхэттенском клубе выпускников МТИ был установлен телетайп, подключенный к PDP‐6. Около двух десятков связных были размещены вдоль всего маршрута; хакеры периодически использовали таксофоны, постоянно обновляя информацию о расписании, оповещая об опоздавших поездах, сообщая о задержках и отмечая пропущенные соединения. Хакеры на телетайпе вбивали информацию, а PDP‐6 в Кембридже рассчитывал изменения маршрута. Когда путешественники посещали станцию, Самсон отмечал ее на карте. Идея этих коротко стриженных безумцев резко контрастировала с длинноволосыми протестующими – знаменитостями в других видах деятельности – и привлекла внимание средств массовой информации на целый день. Великий взлом метро был отмечен как одно из запоминающихся применений PDP‐6.

Это подчеркивало то, что Гринблатт, Госпер и остальные считали существенным, – волшебство, которое могло исходить только от программ, использующих весь компьютер. Хакеры работали над PDP‐6 один за другим, как будто это был их собственный персональный компьютер. Они часто запускали программы отображения, которые работали в реальном времени и требовали, чтобы компьютер постоянно обновлял экран; совместное использование времени заставляло машину работать медленнее. И хакеры привыкли к небольшим ухищрениям, которые исходили от полного контроля над PDP‐6, например, возможность отслеживать программу по мигающим огонькам (указывающим, какие регистры в машине работают). Эти привилегии исчезнут вместе с разделением времени.

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

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

Фредкину предстояла тяжелая борьба. Его стратегия состояла в том, чтобы переманить на свою сторону самого ярого противника разделения времени – Гринблатта. Между ними была определенная привязанность. Фредкин был единственным человеком на девятом этаже, который называл Гринблатта «Рикки». Он обхаживал Гринблатта, умолял его, рассказывал, как увеличится мощность PDP‐6 с помощью новой аппаратной части, которая расширит его память до размера большего, чем у любого другого компьютера. Он пообещал, что система разделения времени будет лучше, чем любая другая, существующая в данный момент, и хакеры будут контролировать ее. Он уговаривал Гринблатта в течение нескольких недель, и наконец Рикки Гринблатт согласился, что система разделения времени должна быть реализована на PDP‐6.

Вскоре после этого Фредкин сидел в своем кабинете, когда вошел Билл Госпер в сопровождении нескольких хакеров. Они выстроились перед столом Фредкина и одарили его ледяным взглядом.

– Что случилось? – спросил Фредкин.

Посмотрев на него все тем же ледяным взглядом еще некоторое время, они наконец заговорили.

– Мы хотели бы знать, что вы сделали с Гринблаттом, – ответили они. – У нас есть основания полагать, что вы его загипнотизировали.

Госперу, в частности, было трудно принять совместное управление PDP‐6. Его поведение напомнило Фредкину Рурка, архитектора из «Источника» Айн Рэнд, который спроектировал красивое здание; когда начальство Рурка взяло проект под свой контроль и изменило его, Рурк взорвал здание. Фредкин позже вспоминал, как Госпер говорил ему, что если бы разделение времени было реализовано на PDP‐6, Госпер был бы вынужден физически уничтожить машину. «Совсем как Рурк, – вспоминал позже Фредкин. – Он чувствовал, что если это все же случится, у него не будет другого выхода. И я понимал это чувство. Поэтому я нашел компромисс». Компромисс позволил машине работать поздно ночью в однопользовательском режиме, чтобы хакеры могли запускать гигантские программы отображения и иметь PDP‐6 в своем полном распоряжении.

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

*****

Ядро системы было написано Гринблаттом и Нельсоном в течение нескольких недель бесконечных взломов. После того как часть программного обеспечения была сделана, Том Найт и другие хакеры начали вводить необходимые настройки PDP‐6 и совершенствовать новое дополнение памяти – большой шкаф размером с две стиральные машины в прачечной, прозванный Moby Memory. Хотя администрация одобрила работу хакеров над системой, Гринблатт и его коллеги сами решали, как она будет работать. Свидетельством того, чем эта система отличалась от других (например, «Совместимая система разделения времени»), было название, которое Том Найт дал хакерской программе: «Несовместимая система разделения времени» (ITS).

Название было особенно ироничным, так как с точки зрения отношения к другим системам и программам ITS была гораздо более совместимой, чем CTSS. Используя принципы хакерской этики, она легко могла быть связана с другими вещами, таким образом ее можно было бесконечно расширить, чтобы пользователи могли более эффективно исследовать мир. Как и в любой системе с разделением времени, несколько пользователей смогут запускать на ней программу одновременно. Но, помимо этого, пользователь мог запускать несколько программ одновременно. Она также предполагала активное использование дисплеев и довольно продвинутую для того времени систему редактирования, которая работала в полноэкранном режиме («Мы намного опередили свое время», – хвастался Гринблатт позже). Поскольку хакеры хотели, чтобы машина работала так же быстро, как если бы на ней не было системы разделения времени, Гринблатт и Нельсон написали код машинного языка, который предоставлял беспрецедентный контроль в системе разделения времени.

Внутри нее находилось еще более поразительное воплощение хакерской этики. В отличие от почти любой другой системы разделения времени, ITS не использовала пароли. Она была разработана, по сути, для того, чтобы предоставить хакерам максимальный доступ к файлу любого пользователя. Старая практика хранения бумажных лент в ящике стола – коллективная библиотека программ, в которой люди могут использовать и улучшать ваши программы, – была встроена в новую систему; каждый пользователь мог открыть набор личных файлов, хранящихся на диске. Открытая архитектура системы поощряла пользователей просматривать эти файлы, видеть, какие хаки использовали другие люди, искать ошибки в программах и исправлять их. Если вам нужна программа для вычисления синусоидальных функций, например, вы можете посмотреть файлы Госпера и найти его десятиэтапный синусоидальный хак. У пользователей появилась возможность изучить программы блестящих хакеров, посмотреть их идеи и восхититься кодом. Идея состояла в том, что компьютерные программы принадлежат не отдельным людям, а всем пользователям в целом.

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

Эта функция могла быть использована различными способами. Позже, после того как Найт создал несколько сложных графических терминалов, пользователь мог ломать голову над программой, и вдруг на экране появлялся шестиногий… жук. Он заползал на экран и начинал жевать ваш код, оставляя маленькие фосфорные крошки. За другим терминалом можно было найти истерически смеющегося хакера, который таким необычным образом сообщил вам, что программа глючит. Но хотя любой пользователь имел возможность не только делать подобные вещи, но и заходить в ваши файлы и удалять («пожинать плоды», как они это называли) взломанные вами программы и ценные заметки, никто так не делал. Хакеры дорожили своей честью.

В ITS проявлялась вера хакеров в пользователей, особенно в решении проблемы преднамеренных системных сбоев. Раньше у хакеров был такой обряд посвящения: новобранец должен был взломать систему разделения времени и вызвать цифровой хаос, возможно, подавляя регистры циклическими вычислениями. В конечном счете система должна была зависнуть. Через некоторое время хакер отходил от этой разрушительной деятельности, однако подобные инциденты случались достаточно часто и стали серьезной проблемой для людей, работающих над системой. Чем больше у системы будет способов обезопасить себя от этого, тем сложнее будет какому-нибудь случайному хакеру сделать подобный прикол. Multics, например, требовала действительно изощренного взлома. Но всегда найдутся увлеченные программисты, которые смогут ее взломать.

У ITS, напротив, была команда, специфической задачей которой был сбой системы. Все, что вам нужно было сделать, это ввести систему уничтожения, и PDP‐6 зависнет. Идея состояла в том, чтобы убрать всё удовольствие от сбоя системы, сделав его тривиальным. В редких случаях какой-нибудь неудачник смотрел на доступные команды и говорил: «Интересно, смогу ли я сломать систему?» – и делал это. Но по большому счету это доказывало, что лучшая защита – это ее отсутствие.

Конечно, как только это дополнение установили на PDP‐6, началась его отладка – процесс, который, возможно, затянулся бы на десятилетия. Гринблатт был самым выдающимся из тех, кто проводил целые дни, взламывая систему, – искал ошибки, добавлял новые функции, заставлял части программы работать быстрее… Работы было так много, что хакеры проводили за ней все свое время.

В Лаборатории ИИ системные хакеры занимали центральное место. Хакерская этика позволяла любому человеку работать над системой, но публичные последствия взлома систем сказывались на качестве работы, если вы пытались улучшить ассемблер MIDAS или отладчик ITS-DDT и сделали ужасную ошибку, все программы рухнули бы, а люди узнали бы, кто именно в этом виноват. С другой стороны, не было более высокого призвания в хакерстве, чем взлом качественных систем.

Планировщики не относились к взлому систем с таким же уважением. Они занимались прикладными вопросами – использовали компьютеры, чтобы выйти за рамки вычислений, создать полезные концепции и инструменты на благо человечества. Для хакеров система была самоцелью. Большинство хакеров, в конце концов, были очарованы системами с раннего детства. Они отбросили почти все остальное в жизни, как только осознали, что главный инструмент в создании систем – это компьютер, с его помощью не только можно сотворить фантастически сложную систему, но и сама машина могла стать системой, например, при использовании ITS. Вся прелесть ITS заключалась в том, что она открывала перед вами возможности, позволяя легко писать программы, которые органично в нее вписывались, и буквально умоляла о добавлении новых функций и всевозможных примочек. Это была хакерская гостиная, и каждый желающий мог сделать все возможное, чтобы устроиться поудобнее – найти и усовершенствовать свою маленькую нишу. Это была идеальная система для создания… системы!

Это была бесконечная логическая спираль. Когда люди использовали ITS, они могли восхищаться той или иной особенностью, но все равно думали о способах ее улучшения. Это вполне естественно, поскольку важный принцип хакерства гласит, что ни одна система или программа никогда не завершается. Вы всегда можете сделать их лучше. Системы – это органические, живые создания: если люди перестают работать над ними и улучшать их, они умирают.

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

Процитирую отчет о ходе работы, написанный хакером Доном Истлейком через пять лет после первого запуска системы:

«Система ITS – это не результат ударной работы или какого-то аврала. Эта система развивалась, постепенно прогрессируя с момента своего создания. Действительно, большие системы никогда не бывают законченными… В целом можно сказать, что система ITS была разработана и реализована пользователями. Проблема нереалистичного проектирования программного обеспечения значительно уменьшается, когда проектировщик – сам исполнитель. Легкость программирования и гордость за результат увеличиваются, когда пользователь, по сути, является создателем. Функции с меньшей вероятностью окажутся малопригодными или трудными в использовании, если их разработчики – сами пользователи».

Его отчет был объемным, но его суть ясна – это было самое сильное воплощение принципов хакерской этики. Многие считали, что она должна стать национальным стандартом для систем распределения времени во всем мире.

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

В 1968 году крупнейшие компьютерные институты провели совещание в Университете Юты, чтобы разработать стандартную систему распределения времени, которая будет использоваться на последней машине DEC, PDP‐10. PDP‐10 будет очень похожа на PDP‐6, и одной из двух рассматриваемых операционных систем была «Несовместимая система разделения времени». Другой была система TENEX, написанная Болтом Беранеком и Ньюманом, которая еще не была реализована. Гринблатт и Найт представляли на конференции МТИ. Это была странная картина – два хакера, пытающиеся убедить бюрократию дюжины крупных учреждений вложить миллионы долларов в систему, которая, помимо всего прочего, не имела встроенных функций обеспечения безопасности.

Они потерпели неудачу.

Найт позже скажет, что причиной была политическая наивность. Он предположил, что решение было принято еще до начала конференции – система, основанная на принципах хакерской этики, была слишком радикальным явлением для этих учреждений. Но Гринблатт позже настаивал на том, что они могли бы победить, если бы действительно этого хотели. Но они, как он выразился, «рвались вперед». Распространение хакерской этики далеко за пределы Кембриджа просто не входило в число приоритетов Гринблатта. Он считал гораздо более важным сосредоточиться на обществе из «Тек-сквер» – хакерской утопии, – которое ошеломит мир, применяя хакерскую этику для создания все более совершенных систем.


Страницы книги >> Предыдущая | 1 2 3 4 5 6 7 8 9 10 11 12 | Следующая
  • 4.4 Оценок: 5

Правообладателям!

Данное произведение размещено по согласованию с ООО "ЛитРес" (20% исходного текста). Если размещение книги нарушает чьи-либо права, то сообщите об этом.

Читателям!

Оплатили, но не знаете что делать дальше?


Популярные книги за неделю


Рекомендации