К 1971 году ITS перевели на новую машину – PDP-10. Она была совместима с PDP-6, которую оставили для специальных и личных нужд. В этой PDP-10 было очень много памяти по тем временам – больше 1 мегабайта, и в конце 70-х годов её объём удвоили. В рамках проекта MAC купили ещё 2 PDP-10, их установили также на 9 этаже здания, и на обоих компьютерах вскоре воцарилась ITS. Хакеры, которые занимались оборудованием, разработали и встроили в эти машины механизм страничной организации виртуальной памяти, которого не было в стандартном PDP-10. [34].
Будучи учеником хакеров и впитывая их идеалы, Столлман буквально влюбился в ITS. Эта система имела ряд недоступных для не-хакеров возможностей, которых не было ни в одной коммерческой системе тех лет: многозадачность, отладка любой программы в режиме реального времени, редактирование в полноэкранном режиме.
“В ITS был встроен очень изящный механизм, позволяющий одной программе исследовать другую, – вспоминает Столлман, – вы могли быстро и точно узнать полное состояние любой программы без кучи грязных и утомительных трюков”. Это было удобно не только для отладки, но и просто для управления процессами.
Ещё одна любимая хакерами функция – атомарная заморозка любого процесса. В других операционных системах подобные функции могли остановить процесс прямо посреди системного вызова или какой-нибудь другой инструкции, когда внутреннее состояние процесса остаётся неизвестным для пользователя. В ITS остановка выполнялась гарантированно между инструкциями, что делало пошаговый анализ работы программы очень надёжным и эффективным.
Вот как это описывает Столлман: “Если вы отдавали команду остановить процесс, он останавливался, во-первых, только в пользовательском режиме, а во-вторых – только в тот момент, когда выполнение одной инструкции завершилось, а следующей – ещё не началось. Если вы приказывали процессу продолжить работу, он продолжал работать правильно и предсказуемо. Если вы меняли что-то в остановленном процессе, запускали его дальше, а потом снова останавливали и возвращали всё обратно – всё действительно возвращалось обратно и работало как ни в чём ни бывало. Полная согласованность и никаких скрытых сущностей”.
Начиная с сентября 1971 года, хакерство в Лаборатории ИИ стало постоянной частью недельного расписания Столлмана. С воскресенья по пятницу Ричард был в Гарварде, но уже вечером пятницы он отправлялся в МТИ. После нескольких часов работы за компьютером хакеры вспоминали о том, что неплохо бы поесть. Они прыгали в потрёпанное авто и ехали через Гарвардский мост в Бостон, где колесили по ночному городу в поисках китайской еды. В это время компания обсуждала всё на свете, начиная операционными системами, и заканчивая внутренней логикой китайского языка. Поужинав, они возвращались в Лабораторию, где копались в компьютерах и программах до глубокой ночи, и часа в 3-4 утра снова отправлялись за едой. Спать ложились только на рассвете.
Ричард иногда возвращался в Гарвард аж в воскресенье, но чаще – к вечеру субботы, после того, как отсыпался на диване, ещё немного возился с компьютерами и обедал китайской едой. Эти китайские блюда были не только вкусными, но и сытными, чего нельзя было сказать о питании в столовой Гарварда, где только раз в день Столлман мог нормально поесть (во время завтрака он обычно ещё спал).
После многих лет жизни изгоем в школе он был буквально опьянён времяпрепровождением с людьми, которые так же любили компьютеры, научную фантастику и китайскую еду. “Я помню восходы солнца над кварталами, сквозь которые мы ехали на машине из Чайна-тауна, – ностальгирует Столлман, – заря – это очень красивое зрелище ещё и потому, что раннее утро – самое спокойное время суток. В такой момент хорошо идти домой под пение птиц или ложиться спать, когда душа полна спокойного, нежного удовлетворения от ночной работы”[35].
34
Прошу прощения за этот беглый обзор истории системы ITS, которую многие хакеры считали чистым воплощением хакерской идеологии. Больше информации о политическом значении этой системы можно найти здесь: Simson Garfinkel,