<<< | >>> |
К тому времени, Минский переложил большое количество своих обязанностей, как руководителя лаборатории ИИ на своего друга, Эда Фредкина, который был шефом Нельсона в Тройном-I, к этому времени ушедшего с головой в бизнес и преподаванием в МТИ. (Фредкин был самым молодым профессором в МТИ, имевшим докторскую степень на факультете, и единственным доктором, не имевшим диплома о высшем образовании.) Будучи хорошим программистом, Фредкин в свое время плотно общался с хакерами. Он благосклонно относился к невмешательству в дела хакеров, что позволяло им быть невероятно продуктивными. Но он думал, что иногда хакеры могли бы только выиграть от организованной работы. Тем не менее, одна из его первых попыток организовать "человеческую волну" при решении проблем в робототехнике, когда он пытался раздать хакерам конкретные задачи для решения, с позором провалилась. "Все думали, что я сумасшедший", - позднее говорил Фредкин. Он окончательно убедился в том, что наилучший способ заставить хакера чем-нибудь заняться, это просто сделать им предложение, в надежде что для них это будет в достаточной степени интересно. Затем вы можете получить продукт, ранее невиданный ни в индустрии, ни в институтах. Минский и Фредкин считали что разделение времени является важной задачей. PDP-6 рвали на части хакеры и Официально Санкционированные Пользователи. Ожидание своего времени утомляло и тех и других. Но хакеры считали разделение времени неприемлемым. Они показывали пальцами на CTSS, Multics, даже на более дружественную систему Джека Денниса, работавшую на PDP-1, как на примеры более медленной и менее продуктивной работы, что неизбежно получалось при разделении ресурсов между несколькими пользователями одновременно. Они также заметили, что некоторые большие программы не могут быть запущены в режиме разделения времени. Над одной из таких монстрообразных программ работал Питер Самсон. Это было продолжение одного из его хаков, который он делал еще на TX-0. Это была программа, в которой можно было набрать названия двух станций метро, после чего вам сообщалось какие линии следует использовать, а также где делать пересадки с одной линии на другую. Теперь Самсон работал над всей системой Нью-Йоркского метрополитена. Он хотел чтобы в памяти компьютера помещалась вся схема подземки, а на диске размещалось расписание поездов, с которым мог работать компьютер. В один из дней он запустил программу, для того, чтобы узнать по какому маршруту следует ехать в подземке так, чтобы полностью объехать всю систему, потратив всего один жетон. Это привлекло внимание средств массовой информации, а затем кто-то поинтересовался, а что если они воспользуются компьютером, для того чтобы проделать это на самом деле, и побить рекорд студента из Гарварда, который проехал по всем остановкам Нью-Йоркской подземки. Через несколько месяцев хакинга, Самсон представил соответствующую схему, и в один из дней два хакера спустились в метро. В клубе выпускников МТИ, в Манхеттене, стоял телетайп, подсоединенный к PDP-6. Вдоль маршрута было расставлено около двух дюжин курьеров, которые периодически звонили на телетайп, непрерывно сообщая об изменениях в расписании, сообщая об опоздавших поездах, задержках с выходом, и неработающих ветках. Хакеры сидевшие за телетайпом, вбивали поступившую информацию, а в Кембридже PDP-6 пересчитывала маршрут и вносила в него изменения. По мере того как путешественники проезжали станции, Самсон их зачеркивал на большой карте висевшей в "штабе операции". Идея этих коротко постриженных сумасшедших полностью контрастировала с длинноволосыми протестантами - хиппи, о которых собирались новости совсем другого рода, и привлекла на целый день внимание средств массовой информации. Великий Подземный Хак был признан как самое запомнившееся использование PDP-6. Это частично объясняло тот факт, что Гринблатт, Госпер и остальные рассматривали весьма важным максимальную отдачу от программ, которая может быть получена при использовании всего компьютера. Хакеры работали на PDP-6 по очереди, как если бы это был их собственный персональный компьютер. Они часто запускали дисплейные программы, которые работали в "реальном времени" и требовали от компьютера постоянного обновления изображения на экране. Разделение времени неминуемо бы заставило все дисплейные хаки работать медленнее. Также, хакеры привыкли использовать маленькие излишества, являющиеся следствием полного контроля над PDP-6, такие, например, как возможность отслеживать программу по миганию огней (которые показывали какие регистры у машины используются в конкретный момент времени). При разделении времени этими приятными мелочами пользоваться было бы нельзя. По существу, проблема с разделением времени была скорее вопросом эстетики. Основная идея заключалась в том, что нарушалось общее управление компьютером. Даже если система с разделением времени позволяла бы отвечать машине в точности также как если бы это было в однопользовательском режиме, вы все равно знали что целиком она вам не принадлежит. Это было примерно тоже самое как заниматься любовью с женой, зная, что она одновременно занимается сексом еще с шестью мужчинами! Упрямство хакеров в этом вопросе показывало их преданность качеству вычислений: они не были готовы идти на уступки, используя систему низкого качества, которая могла бы обслуживать больше людей и возможно нести в народ идею хакерства. С их точки зрения, использование наилучшей системы было более правильной идеей служения хакерству. Система с разделением времени сюда не укладывалась. Фредкину пришлось ввязаться в сложную политическую борьбу. Его стратегией было обработать самых яростных противников разделения времени из лагеря Гринблатта. С самим Гринблаттом у него были весьма дружеские отношения, он был единственным на девятом этаже, который называл Гринблатта – Рики. Поэтому он ему всячески льстил и обхаживал его. Он рассказывал Гринблатту как можно будет увеличить мощность PDP-6, установив в нее дополнительную память, так что у нее будет памяти больше у любого другого компьютера в мире. Он обещал, что система с разделением времени будет лучше любая виденная ранее, и хакеры будут иметь над ней полный контроль. Он обрабатывал Гринблатта в течение многих недель, и, в конце концов, Рики Гринблатт согласился с тем, что на PDP-6 следует реализовать разделение времени. Спустя некоторое время, Фредкин сидел в своем кабинете, когда открылась дверь и внутрь зашел Билл Госпер во главе группы из нескольких хакеров. Они встали в линию перед столом Фредкина и дружно вперились в него ледяным взглядом. "Что случилось?", - спросил Фредкин. Некоторое время они продолжали на него смотреть. В конце концов, они начали говорить. "Мы хотели бы знать, что ты сделал с Гринблаттом", - сказали они, - "У нас есть причины полагать, что ты его загипнотизировал". Госпер особенно тяжело воспринимал идею совместного управления PDP-6. Его поведение напоминало Фредкину о архитекторе по имени Рурк из книги Эйна Рэнда "The Fountainhead", который сделал проект прекрасного здания, а когда начальники Рурка вмешались в проект и испортили его прекрасный замысел, Рурк в итоге взорвал здание. Фредкин позднее вспоминал, что Госпер говорил ему, что если на PDP-6 будет сделано разделение времени, то он уничтожит машину. "Так же как Рурк", - говорил Фредкин, - "Он чувствовал, что если эта ужасная вещь все-таки случиться, то вам следует все это взорвать и разломать. Я понимал его чувства, а поэтому придумал компромисс". Компромисс заключался в том, что ночью машина могла работать в однопользовательском режиме, так что хакеры могли продолжать запускать на ней гигантские дисплейные программы и полностью управлять PDP-6. Полностью эксперимент в разделении времени завершился не так уж и плохо. Причиной этому было создание новой системы с разделением времени, системы, душой которой была Хакерская Этика. .Ядро системы было написано Гринблаттом и Нельсоном за несколько недель упорного хакинга. После того как некоторая часть программного обеспечения была написана, Том Найт и остальные сделали необходимую для него настройку оборудования, а также добавили память – состоявшую из большого шкафа, шириной в обхвате как две стиральных машины Landromat, которая немедленно получила прозвище Moby Memory. Администрация одобряла работу хакеров над системой, поэтому Гринблатт и остальные пользовались полной властью в отношении того как ее следует делать. Признаком того что эта система отличается от остальных (такой, например, как Совместимая Система с Разделением Времени CTSS) было название, которое дал этой хакерской программе Том Найт: Несовместимая система с разделением времени (Incompatible Time-sharing System (ITS). Название было ироничным, в плане дружественности остальных систем и программ, ITS была куда как более совместима, чем CTSS. В соответствии с Хакерской Этикой, ITS могла быть легко связана с другими вещами, таким образом, что она могла бесконечно расширяться, а пользователи могли пробовать этот мир более эффективным способом. Как и в любой системе расширения времени, на ITS несколько пользователей могли запускать несколько программ одновременно. Но в этой системе один пользователь мог одновременно запускать несколько программ. В ITS делался сильный акцент на использование преимуществ дисплеев, в частности была реализована весьма продвинутая система редактирования, которая работала в полноэкранном режиме ("за несколько лет до того как этим начался пользоваться весь остальной мир",- позднее хвастался Гринблатт). Так как хакеры хотели, чтобы машина работала максимально быстро (так же как и в однопользовательском режиме), Гринблатт и Нельсон написали код на машинном языке, который позволял осуществлять беспрецендентный контроль над системой разделения времени. Внутри ITS было еще более сильное олицетворение Хакерской Этики. В отличие от остальных систем с разделением времени ITS не использовала паролей. Она была сделана так, что позволяла хакерам иметь доступ к любому пользовательскому файлу. Старая практика держать ленты в ящике, в коллективной программной библиотеке, которая позволяла остальным пользоваться ими и совершенствовать их, была реализована и в ITS. Каждый пользователь мог иметь набор персональных файлов, которые хранились на диске. Открытая архитектура ITS подталкивала пользователей просматривать эти файлы, смотреть какими интересными хаками занимаются остальные, искать ошибки в программах и устранять их. Если, к примеру, вам нужна была функция, которая рассчитывает косинус, вы могли полазить по файлам Госпера и найти его хак, который считал синус при помощи десяти команд. Вы могли бы посмотреть программы признанных хакеров, посмотреть идеи, в них содержащиеся, и восхититься тем, что они сделали. Идея была в том, что программы принадлежали не конкретным людям, а всему миру пользователей. В ITS также сохранялось чувство сообщества, которое было у хакеров, когда на машине работал только один пользователь, а все остальные грудились вокруг и смотрели что он кодирует. Посредством хитрой координатной коммутационной системы, пользователь не только мог определить, кто еще работал в системе, просто набрав команду, но и переключиться на монитор пользователя. Можно было работать одновременно с другим пользователем. Например, Найт мог войти в систему, обнаружить что Госпер сидит на другом порту, вызвать его программу, а затем писать свой код в программу, которую хачил Госпер. | |
<<< | >>> |