7 лет назад 21 апреля 2012 в 20:19 183

В 1968 году Роберт Тейлор опубликовал работу, в которой предсказал будущие успехи социальных сетей (хотя, разумеется, он про это еще не знал): «В течение ближайших нескольких лет люди через машину смогут общаться более эффективно, чем лицом к лицу».

Соавтором указанной статьи был Джозеф Ликлидер (Joseph Carl Robnett Licklider), которого чаще называли Лик или JCR (по первым буквам имени). Ликлидер с детства увлекался конструированием моделей самолетов. Между учеными было много общего, хотя их возраст разнился почти на 20 лет (JCR родился в 1915 году). Как и Тейлор, Лик был сыном священника. И Боб Тейлор, и JCR оба получили образование в области математики и психологии. Правда, Ликлидер вдобавок еще был бакалавром по физике и занимался вопросами психоакустики, а в 1958 году был избран президентом Акустического общества Америки.

В октябре 1962 года Джозеф Ликлидер возглавил Управление методов обработки информации (IPTO) в ARPA. Через год после этого он написал памятную записку коллегам, в которой изложил мысли о трудностях, возникающих при попытках создать сеть компьютеров с разделением времени. В конечном итоге его видение проблематики привело к созданию ARPANET, предка современного интернета.

В 1968 году Ликлидер стал главой «проекта MAC» в Массачусетском технологическом институте (MIT). Этот проект не имел никакого отношения к Стиву Джобсу и его компании Apple (которой тогда еще не существовало даже в качестве идеи), а являлся простым сокращением от словосочетания «Mathematics Computation». Проект был начат 1 июля 1963 года, получив 2-миллионный грант от ARPA.

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

Система Multics оказалась настолько надежной, что последняя Multics-машина была остановлена только 30 октября 2000 года – она работала в Министерстве обороны Канады.

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

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

Но это еще не было компьютерной сетью. В то же время был достигнут очередной значительный этап в развитии интерфейсов. После того как эта идея была реализована в середине 60-х годов, к одному мейнфрейму смогли подключаться десятки удаленных пользователей. Любопытно, кстати, что в какой-то момент вернулась идея монопольного владения всем процессорным временем одним пользователем, но дальнейшая эволюция этой идеологии привела к тому, что эти «монопольно владеемые» процессоры стали объединяться в сети.

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

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

Вернемся к проекту MAC. В его рамках в 1964 году был запущен субпроект Multics (Multiplexed Information and Computing Service). Над Multics совместно работали MIT, General Electric и Bell Labs. В рамках этого проекта был найден ряд технических решений, которые позднее были использованы при реализации системы Unix.

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

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

Что-то в таком подходе есть. Сегодня, правда, мы используем другой – когда на материнскую плату заведомо ставится огромное количество памяти и камень максимальной мощности (насколько хватает средств у владельца), а операционная система сама решает, когда подключить дополнительные ресурсы проца или памяти.

Между прочим, система Multics оказалась настолько качественной и надежной, что последняя Multics-машина была остановлена только 30 октября 2000 года – она работала в Министерстве обороны Канады. Итого: архитектура, разработка которой началась в 1964 году, просуществовала более 35 лет! Другого такого долгожителя, пожалуй, и не припомнить. Вот что значит качественный интерфейс. Но мы опять забежали вперед (смайл).

Вскоре после того, как в 1968 году Тейлор и Ликлидер опубликовали свое пророчество про близкое будущее глобальных компьютерных сетей, Тейлора отправили во Вьетнам, присвоив ему звание бригадного генерала. В Сайгоне Тейлор создал компьютерный центр, который стал поставлять в Белый дом весьма качественные статистические отчеты о ситуации в этой стране. Но уже в 1970 году (возможно, под влиянием увиденного во Вьетнаме) Тейлор покидает ARPA и переходит в Xerox PARC. В его лице PARC приобрел не только опытного управляющего научной лабораторией, но и специалиста, долгое время занимавшегося многими интересными инновационными (как сказали бы сегодня) проектами в рамках ARPA.

В 70-е годы в PARC был разработан ряд продуктов, которые являлись как продолжением тем, начатых еще в рамках ARPA, так и совершенно новыми изобретениями. Сюда можно отнести: графический пользовательский интерфейс (без которого сегодня в принципе невозможно представить ни компьютер, ни какое-либо хоть сколько-нибудь продвинутое мобильное устройство), объектно-ориентированную модель программирования (ООП сейчас является основной для создания любых программ, и в частности языка J2ME – мобильной версии Java, на которой написано огромное количество апплетов для мобильных телефонов), лазерный принтер, технологию передачи данных в сети Ethernet и, как говорится, много чего еще.

Самое интересное, что было сделано в недрах PARC и что дало мощный толчок дальнейшему развитию интерфейса, был компьютер Xerox Alto, созданный в 1973 году. Некоторые считают, что именно он является первым персональным компьютером. Я бы с этим поспорил. Например, когда в 1975 году IBM анонсировала свою модель 5100, то назвала ее Portable Computer – портативный, но не персональный. Конечно, нюансы тут чисто терминологические. Но внешне Xerox Alto очень сильно походил на те компьютеры, которые с начала 80-х годов начнут завоевывать мир под названием PC.

Не будем детально разбирать аппаратную начинку Xerox Alto, нас интересует в первую очередь интерфейс. Xerox Alto имел черно-белый дисплей, клавиатуру, 3-кнопочную мышь, 5-кнопочную Chorded-клавиатуру (которая, как мы помним, в итоге не прижилась), сетевую карту. Дисплей был графическим, в нем была реализована идея пиксельной графики.

Специально для Xerox Alto было создано ПО Bravo – первая в истории программа, реализующая концепцию WYSIWIG (What You See Is What You Get – «Что ты видишь, то и получаешь»), т. е. она обеспечивала идентичность отпечатка на принтере тому, что изображено на экране. Эта технология позднее стала популярна благодаря программам от Microsoft. Понятно, что для реализации данного интерфейса требовался специальный принтер – лазерный. И он тоже был частью Xerox Alto.

К сожалению, в середине 70-х обычный домашний пользователь не мог «потянуть» стоимость такой машины. Поэтому в серию Xerox Alto не пошла, оставаясь «внутренней машиной» PARC, – несколько сотен экземпляров были изготовлены исключительно для внутренних потребностей лаборатории и небольшого количества сторонних государственных заказчиков. UP

Продолжение следует…

Никто не прокомментировал материал. Есть мысли?