Symbolics, Inc. — частная американская компания-производитель компьютеров , которая приобрела активы бывшей компании и продолжает продавать и поддерживать систему Open Genera Lisp и систему компьютерной алгебры Macsyma . [2]
Домен symbolics.com был первоначально зарегистрирован 15 марта 1985 года, [3] что сделало его первым .com -доменом в мире. В августе 2009 года он был продан компании Towels.com (ранее XF.com) Investments. [4]
Symbolics, Inc. [5] была производителем компьютеров со штаб-квартирой в Кембридже, штат Массачусетс , а позже в Конкорде, штат Массачусетс , с производственными мощностями в Чатсворте, Калифорния (пригород Лос-Анджелеса ). Её первым генеральным директором, председателем и основателем был Рассел Нофтскер . [6] Symbolics разработала и изготовила линейку машин Lisp , однопользовательских компьютеров, оптимизированных для работы с языком программирования Lisp . Symbolics также добилась значительных успехов в области технологий программного обеспечения и предложила одну из ведущих сред разработки программного обеспечения 1980-х и 1990-х годов, которая теперь продаётся на коммерческой основе как Open Genera для Tru64 UNIX на Hewlett-Packard (HP) Alpha . Lisp Machine была первой коммерчески доступной рабочей станцией , хотя это слово ещё не было придумано.
Symbolics была ответвлением MIT AI Lab , одной из двух компаний, основанных сотрудниками AI Lab и связанными с ними хакерами с целью производства машин Lisp. Другой была Lisp Machines , Inc., хотя Symbolics привлекла большую часть хакеров и больше финансирования.
Первоначальный продукт Symbolics, LM-2, представленный в 1981 году, был переупакованной версией конструкции машины MIT CADR Lisp . Операционная система и среда разработки программного обеспечения, более 500 000 строк, были написаны на Lisp, начиная с микрокода , на основе Lisp Machine MIT .
Позднее программный пакет был переименован в ZetaLisp , чтобы отличить продукт Symbolics от других поставщиков, которые также лицензировали программное обеспечение MIT. Текстовый редактор Zmacs от Symbolics , вариант Emacs , был реализован в пакете обработки текста под названием ZWEI , акронимом для Zwei изначально был Eine , при этом Eine был акронимом для Eine Is Not Emacs . Оба являются рекурсивными акронимами и каламбурами на немецких словах, обозначающих один ( eins , eine ) и два ( zwei ).
Системное программное обеспечение Lisp Machine тогда было защищено авторским правом MIT и лицензировано как Symbolics, так и LMI. До 1981 года Symbolics делилась всеми своими защищенными авторским правом улучшениями исходного кода с MIT и хранила их на сервере MIT. По словам Ричарда Столлмана , Symbolics занималась деловой тактикой, в которой она вынуждала MIT сделать все защищенные авторским правом исправления и улучшения Symbolics в ОС Lisp Machine доступными только для Symbolics (и MIT, но не для конкурентов Symbolics), и тем самым подавляла своего конкурента LMI, у которого в то время было недостаточно ресурсов для независимой поддержки или разработки ОС и среды. [7]
Symbolics почувствовали, что у них больше нет достаточного контроля над своим продуктом. В этот момент Symbolics начала использовать собственную копию программного обеспечения, размещенную на серверах их компании, в то время как Столлман говорит, что Symbolics сделала это, чтобы предотвратить попадание своих улучшений Lisp в Lisp Machines, Inc. На этой основе Symbolics внесла значительные улучшения в каждую часть программного обеспечения и продолжила поставлять почти весь исходный код своим клиентам (включая MIT). Однако политика запрещала сотрудникам MIT распространять версию программного обеспечения Symbolics другим лицам. С окончанием открытого сотрудничества пришел конец и хакерскому сообществу MIT. В ответ на это Столлман инициировал проект GNU по созданию нового сообщества. В конечном итоге Copyleft и GNU General Public License гарантировали, что программное обеспечение хакера может оставаться свободным программным обеспечением . Таким образом, Symbolics сыграла ключевую, хотя и враждебную, роль в инициировании движения за свободное программное обеспечение .
В 1983 году, на год позже запланированного, Symbolics представила семейство машин Lisp 3600. Имевшее внутреннее кодовое название «L-machine», семейство 3600 было инновационным новым дизайном, вдохновленным архитектурой CADR, но разделявшим лишь немногие детали ее реализации. Основной процессор имел 36- битное слово (разделенное на 4 или 8 бит тегов и 32 бита данных или 28 бит адреса памяти). Слова памяти были 44 бита, дополнительные 8 бит использовались для кода исправления ошибок (ECC). Набор инструкций был таким же, как у стековой машины . Архитектура 3600 предоставляла 4096 аппаратных регистров, из которых половина использовалась в качестве кэша для верхней части стека управления ; остальные использовались микрокодом и критичными ко времени процедурами операционной системы и среды выполнения Lisp. Аппаратная поддержка была предоставлена для виртуальной памяти , что было обычным для машин этого класса, и для сборки мусора , что было уникальным.
Оригинальный процессор 3600 представлял собой микропрограммируемую конструкцию, как и CADR, и был построен на нескольких больших печатных платах из стандартных интегральных схем TTL , обе функции были обычными для коммерческих компьютеров этого класса в то время. Тактовая частота центрального процессора (ЦП) варьировалась в зависимости от того, какая инструкция выполнялась, но обычно составляла около 5 МГц. Многие примитивы Lisp могли быть выполнены за один такт . Дисковый ввод-вывод (I/O) обрабатывался многозадачностью на уровне микрокода . Процессор 68000 (называемый процессором интерфейса , (FEP)) запускал главный компьютер и обрабатывал более медленные периферийные устройства во время нормальной работы. Интерфейс Ethernet был стандартным оборудованием, заменив интерфейс Chaosnet LM-2.
3600 был размером примерно с бытовой холодильник. Это было отчасти из-за размера процессора (карты были широко разнесены, чтобы прототипы карт с проволочной накруткой могли вставляться без помех), а отчасти из-за размера технологии дисководов в начале 1980-х годов. На момент появления 3600 наименьший диск, который мог поддерживать программное обеспечение ZetaLisp, имел ширину 14 дюймов (360 мм) (большинство 3600 поставлялись с 10½-дюймовым Fujitsu Eagle ). 3670 и 3675 были немного короче по высоте, но по сути представляли собой ту же машину, упакованную немного плотнее. Появление 8 дюймов (200 мм), а позднее и 5+Дисковые накопители размером 1 ⁄ 4 дюйма (130 мм), способные хранить сотни мегабайт , привели к появлению моделей 3640 и 3645, которые были размером примерно с двухящичный картотечный шкаф.
Более поздние версии архитектуры 3600 были реализованы на индивидуальных интегральных схемах, что сократило пять карт оригинального дизайна процессора до двух, что дало большую экономию на производстве и немного лучшую производительность, чем у старого дизайна. 3650, первая из машин G , как их называли в компании, была размещена в корпусе, полученном от 3640. Более плотная память и меньшие дисковые накопители позволили представить 3620, размером примерно с современный полноразмерный ПК в корпусе Tower. 3630 был толстым 3620 с местом для большего количества памяти и видеокарт. 3610 был более дешевым вариантом 3620, по сути идентичным во всех отношениях, за исключением того, что он был лицензирован для развертывания приложений, а не для общей разработки.
Различные модели семейства 3600 были популярны для исследований искусственного интеллекта (ИИ) и коммерческих приложений в течение 1980-х годов. Бум коммерциализации ИИ 1980-х годов привел непосредственно к успеху Symbolics в течение десятилетия. Компьютеры Symbolics широко считались лучшей доступной платформой для разработки программного обеспечения ИИ. LM-2 использовал версию сложной клавиатуры space-cadet под брендом Symbolics , [8] в то время как более поздние модели использовали упрощенную версию (справа), известную просто какКлавиатура Symbolics .[9]Клавиатура Symbolics имела множествоклавиш-модификаторов, используемых в Zmacs, в частности Control/Meta/Super/Hyper в блоке, но не имела сложного набора символов клавиатуры космического кадета.
Также успеху серии 3600 способствовала линейка цветных видеоинтерфейсов с растровой графикой в сочетании с чрезвычайно мощным программным обеспечением для анимации. Подразделение Symbolics Graphics Division, головной офис которого находится в Вествуде, Лос-Анджелес , Калифорния, недалеко от основных голливудских кино- и телестудий, превратило свое программное обеспечение S-Render и S-Paint в лидеров отрасли в анимационном бизнесе, а его 24-кадровики в секунду были показаны в фильмах Star Trek. [10] [11] [12] [13] [14]
Symbolics разработала первые рабочие станции, способные обрабатывать видео высокой четкости (HDTV), что стало популярным в Японии. 3600 со стандартным черно-белым монитором сыграл эпизодическую роль в фильме « Настоящий гений» . Компания также упоминается в романе Майкла Крайтона « Парк Юрского периода ».
Подразделение Symbolics Graphics было продано Nichimen Trading Company в начале 1990-х годов, а программный пакет S-Graphics (S-Paint, S-Geometry, S-Dynamics, S-Render) был портирован на Franz Allegro Common Lisp на Silicon Graphics (SGI) и ПК под управлением Windows NT . Сегодня он продается как Mirai компанией Izware LLC и продолжает использоваться в крупных кинофильмах (наиболее известный из которых — «Властелин колец» компании New Line Cinema ), видеоиграх и военных симуляторах.
Компьютеры Symbolics серии 3600 также использовались в качестве первых компьютеров -контроллеров переднего плана для компьютеров Connection Machine с массовым параллелизмом, производимых Thinking Machines Corporation , еще одним ответвлением MIT, базирующимся в Кембридже, штат Массачусетс. Connection Machine запускала параллельный вариант Lisp и изначально использовалась в основном сообществом ИИ, поэтому машина Symbolics Lisp особенно хорошо подходила в качестве машины переднего плана.
Долгое время операционная система не имела названия, но в конце концов была названа Genera около 1984 года. Система включала несколько продвинутых диалектов Lisp. Ее наследием был Maclisp на PDP-10, но он включал больше типов данных и множественное наследование функций объектно-ориентированного программирования . Этот диалект Lisp назывался Lisp Machine Lisp в MIT. Symbolics использовала название ZetaLisp. Позже Symbolics написала новое программное обеспечение на Symbolics Common Lisp , своей версии стандарта Common Lisp .
В конце 1980-х годов (на 2 года позже запланированного) семейство однокристальных процессоров Lisp Machine Ivory заменило системы G-Machine 3650, 3620 и 3630. Реализация транзисторной СБИС Ivory 390k, разработанная в Symbolics Common Lisp с использованием NS, пользовательского языка проектирования оборудования Symbolics (HDL), адресовала 40-битное слово (8 бит тег, 32 бита данные/адрес). Поскольку она адресовала только полные слова, а не байты или полуслова, это позволяло адресовать 4 гигаслова (ГВ) или 16 гигабайт (ГБ) памяти; увеличение адресного пространства отражало рост программ и данных по мере удешевления полупроводниковой памяти и дискового пространства. Процессор Ivory имел 8 бит ECC, прикрепленных к каждому слову, поэтому каждое слово, извлеченное из внешней памяти на чип, фактически имело ширину 48 бит. Каждая инструкция Ivory имела ширину 18 бит, и в каждом слове инструкции, извлеченном из памяти, содержалось две инструкции, а также 2-битный код CDR и 2-битный тип данных. Извлечение из памяти двух слов инструкций за раз повышало производительность Ivory. В отличие от микропрограммной архитектуры 3600, набор инструкций Ivory по-прежнему был микрокодированным, но хранился в ПЗУ размером 1200 × 180 бит внутри чипа Ivory. Первые процессоры Ivory были изготовлены компанией VLSI Technology Inc в Сан-Хосе, Калифорния , по 2- мкм КМОП-технологии, а более поздние поколения были изготовлены компанией Hewlett-Packard в Корваллисе, Орегон , по 1,25-мкм и 1-мкм КМОП-технологии. Ivory имел стековую архитектуру и управлял 4-ступенчатым конвейером: выборка, декодирование, выполнение и обратная запись. Процессоры Ivory продавались в автономных Lisp Machines (XL400, XL1200 и XL1201), headless Lisp Machines (NXP1000) и на дополнительных картах для компьютеров Sun Microsystems (UX400, UX1200) и Apple Macintosh (MacIvory I, II, III). Lisp Machines с процессорами Ivory работали на скоростях, которые были от двух до шести раз быстрее, чем 3600, в зависимости от модели и версии чипа Ivory.
Набор инструкций Ivory был позже эмулирован в программном обеспечении для микропроцессоров , реализующих 64-битную архитектуру Alpha . Эмулятор "Virtual Lisp Machine" , объединенный с операционной системой и средой разработки программного обеспечения от машин XL, продается как Open Genera.
Sunstone был процессором, похожим на компьютер с сокращенным набором команд (RISC), который должен был быть выпущен вскоре после Ivory. Он был разработан группой Рона Лебеля в офисе Symbolics Westwood. Однако проект был отменен в день, когда он должен был быть выпущен.
Так же быстро, как коммерческий бум ИИ середины 1980-х годов привел Symbolics к успеху, зима ИИ конца 1980-х и начала 1990-х годов в сочетании с замедлением Стратегической оборонной инициативы администрации Рональда Рейгана , широко известной как «Звездные войны» , программы противоракетной обороны , для которой Агентство перспективных исследовательских проектов обороны ( DARPA ) вложило значительные средства в решения ИИ, серьезно повредила Symbolics. Внутренняя война между Нофтскером и генеральным директором, которого совет директоров нанял в 1986 году, Брайаном Сиром, по поводу того, следовать ли предложенному Sun примеру и сосредоточиться на продаже своего программного обеспечения или вновь подчеркнуть свое превосходное оборудование, и последовавшее за этим отсутствие фокуса, когда и Нофтскер, и Сир были уволены из компании, привели к резкому падению продаж. Это, в сочетании с некоторыми необдуманными сделками с недвижимостью, совершенными руководством компании в годы бума (они заключили крупные долгосрочные обязательства по аренде в Калифорнии), привело Symbolics к банкротству . Быстрое развитие технологии микропроцессоров массового рынка ( революция ПК ), достижения в технологии компиляторов Lisp и экономика производства микропроцессоров на заказ серьезно снизили коммерческие преимущества специализированных машин Lisp. К 1995 году эра машин Lisp закончилась, а вместе с ней и надежды Symbolics на успех.
Symbolics продолжала существовать как предприятие с очень ограниченными доходами, поддерживаемое в основном контрактами на обслуживание оставшихся MacIvory, UX-1200, UX-1201 и других машин, которые все еще использовались коммерческими клиентами. Symbolics также продавала программное обеспечение Virtual Lisp Machine (VLM) для рабочих станций DEC, Compaq и HP на базе Alpha ( AlphaStation ) и серверов ( AlphaServer ), восстановленных MacIvory II и клавиатур Symbolics.
В июле 2005 года Symbolics закрыла свой центр технического обслуживания в Чатсворте, Калифорния . Владелец компании, Эндрю Топпинг, умер в том же году. Текущий правовой статус программного обеспечения Symbolics неопределен. [15] Ассортимент оборудования Symbolics все еще был доступен для покупки по состоянию на август 2007 года [обновлять]. [16] В 2011 году Министерство обороны США (US DoD) заключило с Symbolics 5-летний контракт на техническое обслуживание, который заканчивался в сентябре 2016 года. [17]
15 марта 1985 года symbolics.com стал первым (и в настоящее время, поскольку он все еще зарегистрирован, старейшим) зарегистрированным доменом .com в Интернете . [18] Домен symbolics.com был куплен Napkin.com в 2009 году.
Genera также представила самое обширное программное обеспечение для взаимодействия сетей, которое было на тот момент. Система локальной сети Chaosnet была изобретена для Lisp Machine (еще до коммерческой доступности Ethernet ). Система Symbolics поддерживала Chaosnet, но также имела одну из первых реализаций TCP/IP . Она также поддерживала сетевые протоколы DECnet и SNA от IBM . Протокол Dialnet использовал телефонные линии и модемы . Genera, используя подсказки из своей распределенной базы данных пространства имен (несколько похожей на систему доменных имен (DNS), но более полной, как части Grapevine от Xerox), автоматически выбирала лучшую комбинацию протоколов для использования при подключении к сетевой службе. Прикладная программа (или пользовательская команда) указывала только имя хоста и желаемую службу. Например, имя хоста и запрос на «Терминальное соединение» могли привести к соединению по TCP/IP с использованием протокола Telnet (хотя было много других возможностей). Аналогично, запрос файловой операции (например, команды «Копировать файл») может выбрать NFS , FTP , NFILE (сетевой протокол доступа к файлам Symbolics) или один из нескольких других, и запрос может быть выполнен по TCP/IP, Chaosnet или любой другой наиболее подходящей сети.
Самой популярной прикладной программой для Symbolics Lisp Machine была система автоматизированного проектирования ICAD . Одна из первых сетевых многопользовательских видеоигр, версия Spacewar , была разработана для Symbolics Lisp Machine в 1983 году. Электронное программное обеспечение САПР на Symbolics Lisp Machine использовалось для разработки первой реализации архитектуры Hewlett-Packard Precision Architecture ( PA-RISC ).
Сотрудники отдела исследований и разработок Symbolics (сначала в Массачусетском технологическом институте, а затем и в самой компании) создали несколько крупных инноваций в области технологий программного обеспечения:
Подразделение Symbolics Graphics Division (SGD, основано в 1982 году, продано Nichimen Graphics в 1992 году) разработало программный пакет S-Graphics (S-Paint, S-Geometry, S-Dynamics, S-Render) для Symbolics Genera.
Это программное обеспечение также использовалось для создания нескольких компьютерных анимационных фильмов и использовалось для некоторых популярных фильмов.