История операционных систем Apple. Часть 2

Для любого поклонника Apple 1984 год примечателен тем, что именно тогда был представлен легендарный компьютер Macintosh. В некотором смысле он был преемником модели Lisa, появившейся годом раньше. Однако, рассказывая о программной начинке этих компьютеров, было бы несправедливо не упомянуть о том, чем вдохновлялись их создатели во время творческого процесса. Для этого мы вернемся в 1968 год, когда еще не было UNIX, а Apple и Microsoft не существовали даже в проекте.

История операционных систем Apple. Часть 2. Фото.

NLS: oNLine System

9 декабря 1968 года в Конференц-центре Сан-Франциско состоялось ошеломительное технологическое представление. Инженер Дуглас Энгельбарт (Douglas Engelbart) и его команда из 17 сотрудников, работавших в его научном центре при Стэнфордском исследовательском центре, продемонстрировали систему NLS (oNLine System), над которой они работали с 1962 года. Прилагательное «ошеломительное» здесь подходит максимально точно, поскольку количество инноваций, представленных за один день, было поистине поразительным.

История операционных систем Apple. Часть 2. NLS: oNLine System. Фото.

В начале своей презентации Энгельбарт заявил:

«Исследовательская программа, которую я собираюсь описать сегодня, может быть охарактеризована следующим образом. Если вы работаете в офисе, ваша деятельность сопряжена с интеллектуальным трудом, и в ваше распоряжение поступил компьютерный дисплей, соединенный с компьютером, который способен работать постоянно и всегда доступен, когда он вам потребуется, насколько ценным был бы для вас такой помощник? И это характеристики нашего изобретения, над которым мы работали много лет»

Компьютерная мышь

История операционных систем Apple. Часть 2. Компьютерная мышь. Фото.

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

5-аккордная клавиатура

История операционных систем Apple. Часть 2. 5-аккордная клавиатура. Фото.

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

Обработка документов

Энгельбарт продемонстрировал, что текст можно вводить, перетаскивать, копировать и вставлять, прокручивать, группировать иерархически и так далее. Отформатированный текст можно было сохранять в файлы вместе с мета-данными (автор файла, время создания и т.п.). Благодаря использованию мыши эта работа стала намного легче. Энгельбарт назвал весь этот механизм «управление видом» (view control).

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

Гипертекст и карты ссылок

История операционных систем Apple. Часть 2. Гипертекст и карты ссылок. Фото.

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

Термин «гипертекст» придумал программист Тед Нельсон (Ted Nelson), а саму концепцию описал инженер Ванневар Буш (Vannevar Bush), который в 1945 году успел поработать научным советником президента США Франклина Рузвельта. Буш рассматривал этот метод как альтернативу индексированию, которая состояла в «связывании» двух элементов информации.

Поиск

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

Окна

История операционных систем Apple. Часть 2. Окна. Фото.

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

Совместная работа

Система также отслеживала, кто, когда и что делал с документами. Например, люди могли совместно работать над файлами, давать описание текстам друг друга или оставлять в документе своего коллеги какие-либо пометки. Этот функционал можно сравнить с системой версий документов в новейшей Mac OS X 10.7 Lion. Кроме того, была возможность оставлять сообщения одному или нескольким конкретным людям. Специальный язык, которым обычно являлся программируемый фильтр, позволял «тесту» ассоциироваться с конкретными участками текста. Таким образом, читатель мог видеть только то, что ему разрешалось видеть, в соответствии с результатами теста контекстной чувствительности.

Интерактивное сотрудничество

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

Результат

Энгельбарт заявил, что разработанная его командой система позволит людям «работать» (творить, учиться и производить) в рамках сложных информационных структур, где контент является определением концепций. Система NLS была призвана осуществлять навигацию по сложным структурам, на что не был способен простой линейный текст.

Дуглас Энгельбарт также принимал участие в создании сети ARPANet, осуществлявшемся при поддержке Управления перспективных исследовательских проектов США. Данная сеть известна как предвестница появления интернета. Его команда разрабатывала службу для ARPANet, которая предоставляла важную информацию о сетях, способную ответить на следующие вопросы: Кто какие услуги предоставляет? Какой мне нужно использовать протокол, чтобы попасть в эту сеть? Кто в настоящий момент находится в сети, а кто от нее отключен?

История операционных систем Apple. Часть 2. Результат. Фото.

Базовая философия, которой с самого начала следовал Энгельбарт, состояла в самонастройке, которая позволяла более эффективно и качество создавать свои инструменты. Одним из очень успешных воплощением этой философии стала платформа UNIX.

Даже несмотря на такое большое количество инноваций, система NLS довольно быстро канула в Лету. Многие члены команды разработчиков перешли в только что сформированную в тот момент лабораторию Xerox PARC, где они надеялись создать сетевую версию NLS (вместо ЭВМ в режиме разделения времени). Однако их идее не суждено было реализоваться: Стэнфордский университет закрыл эту программу, а финансирования для ее самостоятельной реализации найти не удалось. Энгельбарт впоследствии ушел в телефонную компанию Tymshare, которая располагалась в городе Купертино, недалеко от места рождения Macintosh.

Smalltalk

Работа, проделанная в Xerox PARC, оказала огромное влияние на облик (и, разумеется, интерфейс) вычислений. Первая версия языка программирования Smalltalk была выпущена в PARC в 1972 году. Вдохновленный Simula – первым программным языком, использовавший объектную концепцию, Smalltalk стал языком программирования, целиком ориентированным на объекты. Также он представлял собой рабочую среду с интегрированным интерфейсом, накладывающимися друг на друга окнами, функцией копирования и вставки, интегрированными документами и т.д. Такая конфигурация позволяла пользоваться такими полезными и интересными инструментами как WYSIWYG-редактор, система захвата и редактирования музыки, анимационная система и т.п. Поздней Smalltalk был одним из языков, которыми вдохновлялись разработчики Objective-C во время создания своего продукта.

Главным разработчиком языка Smalltalk является Алан Кей (Alan Kay), который также был основателем PARC. В конце 1960-х он прославился тем, что выступил с идеей создания мощного и в то же время компактного персонального компьютера под названием Dynabook. Впоследствии Кей стал работать в компании Apple. Вдохновленные работой Алана, в 1972 году инженеры Xerox PARC начали создавать свое самое известное изобретение – персональный компьютер, интерфейс которого послужил прообразом и Mac OS, и Windows.

Xerox Alto

История операционных систем Apple. Часть 2. Xerox Alto. Фото.

В начале семидесятых компания Xerox задалась идеей создания персонального компьютера, и «персональность» здесь заключалась в самодостаточности системы, обладающей достаточной вычислительной мощностью, внушительным пространством встроенной памяти и широкими возможностями ввода-вывода. В результате получился легендарный компьютер Alto: система, состоявшая из встроенного 16-битного процессора, растрового графического экрана с разрешением 606 x 808 пикселей, клавиатуры с пятипальцевым комплектом клавиш, трехкнопочной мыши (на этот раз с одним колесиком) и корпуса, где находился процессор, диск(и) и система электропитания. Машина оснащалась портами для подключения принтеров и плоттеров, а также портом интерфейса ETHERNET со скоростью 2,94 Мбит/с для подключения к другим компьютерам Alto и лазерным принтерам. Процессор компьютера не поддерживал использование виртуальной памяти. К 1979 году было выпущено более 1500 таких машин, которые использовались как внутри компании Xerox, так и за ее пределами.

Alto OS

Alto запускал задание с минимальным приоритетом (задание 0) под названием Emulator, микрокод которого хранился в стандартной памяти ROM компьютера. Он эмулировал стандартный набор команд, обеспечивая машине портативность. В число других стандартных задач входили задачи для дисков (задача дискового сектора, задача слова Disk), сетевые задачи (ETHERNET), монитора (слово Display, задача Cursor, горизонтальная задача Display, вертикальная задача Display), а также памяти (задача обновления Memory, задача Parity).

История операционных систем Apple. Часть 2. Alto OS. Фото.

Операционная система Alto была реализована в BCPL. Она включала в себя драйверы для дисков, клавиатуры и монитора, функцию управления памятью, часами, прерываниями и другими событиями, среду BCPL и другие функции. Дебаггер этой системы, получивший название Swat, сохранял текущее состояние системы в файле под названием Swatee. Alto Executive был эквивалентом оболочки UNIX. Его сетевая версия NetExec загружала программы не с локального диска, а с загрузочного сервера посредством ETHERNET.

Приложения

С самого начала Alto был дополнен высокопроизводительными приложениями, такими как Bravo (для эффективной многооконной обработки текста), Laurel (экранная система сообщений с возможностью отображать, отправлять, классифицировать, сохранять и распечатывать сообщения и ответы на них), Markup (приложение для создания иллюстраций к документам), Draw (интерактивный иллюстратор для создания изображений из линий, кривых и текстовых вставок), Neptune (файловый менеджер для управления файловыми директориями на дисках Alto) и так далее. На Alto можно было работать с различными языками программирования, в числе которых Mesa (аналог Pascal), Smalltalk и Lisp.

Вышеописанные приложения обычно были очень сложными по структуре. Например, в программе Draw экран делился на несколько участков: меню кисти, меню команд, меню шрифтов, зона рисунка и зона уведомлений, где отображались сообщения об ошибках и различные подсказки. Приложение Officetalk, представлявшее собой экспериментальную систему обработки данных из форм в Alto, вдохновило создателей вышедшей чуть позже системы STAR System.

Xerox STAR System

Xerox официально представил компьютер 8010 STAR Information System на чикагской выставке в апреле 1981 года. Аппаратное обеспечение STAR было основано на Alto, но имело улучшенные компоненты (больше памяти, более вместительные диски, увеличенное разрешение дисплея, более высокая скорость ETHERNET и т.д.). Еще одним важным моментом является, что пользовательский интерфейс STAR создавался до аппаратного и программного обеспечения.

История операционных систем Apple. Часть 2. Xerox STAR System. Фото.

Интерфейс STAR обеспечивал пользователя электронной метафорой физического офиса. В него входили электронные аналоги обычных офисных предметов: бумаги, папки, шкафы для документов, почтовые ящики, калькуляторы и т.д. Не будет преувеличением сказать, что интерфейс STAR повлиял на многие другие системы, которые появились позднее. Выделим лишь несколько моментов:

  • Первое, что видел пользователь после включения системы, это рабочий стол, на котором отображались небольшие картинки (иконки) с такими знакомыми предметами как документы, папки, шкафы для документов, мусорные корзины и т.п.
  • Пользователь мог щелкнуть по иконке и выбрать пункт меню «открыть», после чего открывается отдельное окно с содержимым иконки. При этом эти иконки могли быть привязаны не только к документам или папкам, но и к каким-либо функциям. Функциональные иконки были в основной массе аналогичны сегодняшним иконкам приложений и включали в себя: Шкаф документов, Корзину, Принтер, Дисковод, Пользователя, Группу пользователей, Калькулятор, Эмулятор терминала и Сетевую директорию.
  • Окна включали в себя панель заголовка, где отображалось название иконки, а также была возможность вызвать контекстное меню, нажав клавишу «?». Кроме того, в окнах имелись горизонтальные и вертикальные полосы прокрутки для более удобной навигации. Однако в отличие от Alto, в STAR окна были созданы так, чтобы примыкать друг друга без возможности наложения одного окна на другое.
  • Понятие «Страница свойств» являлось аналогом сегодняшних панелей свойств, а «Страница опций» позволяла более эффективно выполнять некоторые команды. Например, страница опций для функции «Поиск» была достаточно мощным инструментом для поиска текста, поскольку позволяла задавать такие параметры как регистр текста, его шрифт, размер, расположение и т.д.

История операционных систем Apple. Часть 1