Jump to content

Роды (операционная система)

(Перенаправлено из Символики Дженера )
Роды
Разработчик Символика
Написано в Лисп
Семейство ОС Лисп-машинная ОС
Рабочее состояние Поддерживается
Исходная модель Доступен исходный код
Первоначальный выпуск 1982 год ; 42 года назад ( 1982 )
Финальный выпуск Портативная версия Genera 2.0/2021 ; 3 года назад ( 2021 )
Доступно в Английский
Платформы различные символические машины Lisp ,
ДЭК Альфа ,
х86-64 ,
Арм64 ,
Apple, кремниевая серия M
ядра Тип Объектно-ориентированный
По умолчанию
пользовательский интерфейс
Динамический графический интерфейс Windows
Лицензия Собственный
Официальный сайт символика-дкс

Genera коммерческая операционная система и интегрированная среда разработки для машин Lisp, созданная компанией Symbolics . По сути, это ответвление более ранней операционной системы, созданной на Массачусетского технологического института (MIT) Лаборатории искусственного интеллекта машинах Lisp , которые символика использовала совместно с Lisp Machines , Inc. (LMI) и Texas Instruments (TI). Genera также продавалась компанией Symbolics как Open Genera , которая запускала Genera на компьютерах на базе Digital Equipment Corporation (DEC) Alpha процессора с использованием Tru64 UNIX . В 2021 году была выпущена новая версия под названием Portable Genera , которая работает на Tru64 UNIX на Alpha, Linux на x86-64 и Arm64 Linux , а также на macOS на x86-64 и Arm64 ( Apple Silicon M Series ). Оно распространяется и лицензируется как проприетарное программное обеспечение .

Genera — пример объектно-ориентированной операционной системы, основанной на языке программирования Lisp .

Genera поддерживает поэтапную и интерактивную разработку сложного программного обеспечения, используя сочетание стилей программирования с широкой поддержкой объектно-ориентированного программирования .

Машинная операционная система Lisp от MIT

[ редактировать ]

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

Это уже была полноценная однопользовательская операционная система и среда разработки на основе Lisp.

Машинная операционная система MIT Lisp разрабатывалась с середины 1970-х до начала 1980-х годов.

В 2006 году исходный код этой машинной операционной системы Lisp от MIT был выпущен как бесплатное программное обеспечение с открытым исходным кодом . [2]

Генеральная операционная система

[ редактировать ]

Компания Symbolics разработала новые машины Lisp и опубликовала операционную систему под названием Genera . Последняя версия 8.5. Символика Родов была разработана в начале 1980-х и начале 1990-х годов. В последние годы разработка велась в основном патчами с очень небольшим количеством новых функций.

Компания Symbolics разработала Genera на основе машинной операционной системы MIT Lisp. Он продает операционную систему и многоуровневое программное обеспечение . Некоторая часть многоуровневого программного обеспечения была интегрирована в Genera в более поздних выпусках. Символика улучшила программное обеспечение операционной системы оригинальной машины MIT Lisp и расширила ее. Операционная система Genera была доступна только для машин с символикой Lisp и виртуальной машины Open Genera .

Символика Дженера имеет множество функций и поддерживает все версии различного оборудования, созданного Символикой за свою жизнь. Его исходный код состоит из более миллиона строк; количество зависит от версии и количества установленного программного обеспечения. Символика Родов была издана на магнитной ленте и компакт-диске . В выпуске операционной системы также предоставлена ​​большая часть исходного кода операционной системы и ее приложений. Пользователь имеет свободный доступ ко всем частям работающей операционной системы и может писать изменения и расширения. Исходный код операционной системы разделен на системы . Эти системы объединяют исходные файлы, двоичные файлы и другие файлы. Инструментарий построения системы (SCT) поддерживает зависимости, компоненты и версии всех систем. Система имеет два номера: основной и дополнительный номер версии. Основной номер версии подсчитывает количество полных конструкций системы. Второстепенная версия подсчитывает количество исправлений для этой системы. Патч это файл, который можно загрузить для устранения проблем или расширения конкретной версии системы.

Компания Symbolics разработала версию под названием Open Genera , которая включала виртуальную машину, позволяющую запускать Genera на рабочих станциях на базе DEC Alpha, а также несколько расширений и приложений Genera, которые продавались отдельно (например, пакет Symbolics S-Graphics ). Кроме того, они создали новую операционную систему под названием Minima для встраиваемых систем на Common Lisp . Последняя версия — Portable Genera , в которой виртуальная машина портирована на процессоры x86-64 , Arm64 и Apple M1 — дополнительно на процессор DEC Alpha . Затем виртуальная машина работает под управлением Linux и macOS , а также Tru64 UNIX .

Исходная машинная операционная система Lisp была разработана на Lisp Machine Lisp с использованием объектно-ориентированного расширения Flavors для этого Lisp. Символика предоставила преемника Flavors под названием New Flavors . Более поздние версии символики также поддерживали Common Lisp и объектную систему Common Lisp (CLOS). Затем символика Common Lisp стала диалектом Lisp по умолчанию для написания программного обеспечения с помощью Genera. Программное обеспечение операционной системы было написано в основном на Lisp Machine Lisp (названном ZetaLisp ) и Symbolics Common Lisp. Оба этих диалекта Lisp предоставлены Genera. Также в некоторых частях программного обеспечения использовались либо Flavors, New Flavors, либо Common Lisp Object System. Некоторые из старых частей операционной системы Genera были переписаны в символической системе Common Lisp и системе Common Lisp Object. Многие части операционных систем остались написанными на ZetaLisp и Flavors (или New Flavors).

Пользовательский интерфейс

[ редактировать ]

Ранние версии Symbolics Genera были созданы с использованием оригинальной графического пользовательского интерфейса (GUI) оконной системы машинной операционной системы Lisp. Затем компания Symbolics разработала радикально новую оконную систему под названием Dynamic Windows с пользовательским интерфейсом на основе презентаций . [3] Эта оконная система была представлена ​​в Genera 7 в 1986 году. [4] Многие приложения Genera затем использовали Dynamic Windows в качестве пользовательского интерфейса . В конце концов произошел переход к портированию частей оконной системы для работы в других реализациях Common Lisp от других поставщиков в качестве диспетчера интерфейса Common Lisp (CLIM). Версии CLIM доступны (среди прочих) для Allegro Common Lisp , LispWorks и Macintosh Common Lisp . Доступна версия с открытым исходным кодом ( McCLIM ).

Динамическая Windows использует типизированные объекты для вывода на экран. Вся отображаемая информация сохраняет связь с отображаемыми объектами ( запись вывода ). Это работает как для текстового, так и для графического вывода. Во время выполнения операции, применимые к этим объектам, вычисляются на основе иерархии классов и доступных операций ( команд ). Команды организованы в иерархические таблицы команд с типизированными параметрами. Команды можно вводить с помощью мыши (широко используя мышь ), нажатиями клавиш и с помощью интерфейса командной строки. Все приложения используют одну реализацию интерпретатора командной строки, которая адаптируется к различным типам использования. Графические возможности оконной системы основаны на графической модели PostScript .

Пользовательский интерфейс в основном монохромный ( черно-белый ), поскольку это обычно обеспечивает аппаратная консоль. Но существует обширная поддержка цвета с использованием буферов цветных кадров или серверов X Window System (X11) с поддержкой цвета. Действия ( приложения ) используют весь экран с несколькими панелями, хотя окна также могут быть меньше. Расположение этих окон активности адаптируется к разным размерам экрана. Действия также могут переключаться между различными макетами панелей.

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

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

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

Документация

[ редактировать ]

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

Документация была создана с помощью отдельного приложения, которое не поставлялось с Genera: Symbolics Concordia . Concordia предоставляет расширение редактора Zmacs для редактирования записей документации, графический редактор и средство предварительного просмотра страниц.

В документации представлены руководства пользователя, инструкции по установке и ссылки на различные конструкции и библиотеки Lisp.

Язык разметки основан на языке разметки Scribe и также может использоваться разработчиком.

Genera поддерживает печать на принтерах Postscript, предоставляет очередь печати, а также интерпретатор PostScript (написанный на Lisp).

Genera также поддерживает различные сетевые протоколы и приложения, использующие их. Он имеет обширную поддержку TCP/IP .

Genera поддерживает однопроцессорные машины с несколькими потоками (называемыми процессами ).

Genera поддерживает несколько различных типов сборки мусора (GC): полный сборщик мусора, сборщик мусора на месте, инкрементный сборщик мусора и эфемерный сборщик мусора. Эфемерный сборщик использует только физическую память и использует блок управления памятью для получения информации об измененных страницах в физической памяти. Коллектор использует поколения, а виртуальная память делится на области. Области могут содержать объекты определенных типов (строки, растровые изображения, имена путей и т. д.), и каждая область может использовать разные механизмы управления памятью.

Genera реализует две файловые системы : файловую систему FEP для больших файлов и машинную файловую систему Lisp (LMFS), оптимизированную для множества маленьких файлов. Эти системы также поддерживают разные версии файлов. Если файл изменен, Genera по-прежнему сохраняет старые версии. Genera также обеспечивает доступ, чтение и запись к другим, локальным и удаленным файловым системам, включая: NFS, FTP, HFS, CD-ROM, ленточные накопители .

Genera поддерживает загрузку по сети.

Genera предоставляет клиент для Statice базы данных объектов от компании Symbolics.

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

Genera имеет обширные инструменты отладки.

Genera может сохранять версии работающей системы в миры . Эти миры можно загрузить, и тогда они будут содержать все сохраненные данные и код.

Языки программирования

[ редактировать ]

Символика предоставила несколько языков программирования для использования с Genera:

  • ZetaLisp , символическая версия Lisp Machine Lisp.
  • Common Lisp в нескольких версиях: Символика Common Lisp, Future Common Lisp (ANSI Common Lisp), CLtL1.
  • Символический Паскаль, версия Паскаля, написанная на Лиспе (исходный код Лиспа включен в дистрибутив Genera)
  • Символика C, версия C, написанная на Lisp (исходный код Lisp включен в дистрибутив Genera)
  • Символика Fortran, версия Fortran, написанная на Lisp (исходный код Lisp включен в дистрибутив Genera)

Символика Common Lisp предоставляет большую часть стандарта Common Lisp с очень большим количеством расширений, многие из которых взяты из ZetaLisp.

Другие языки из символики

[ редактировать ]
  • Символика Пролог — версия Пролога, написанная и интегрированная на Лиспе.
  • Символика Ада — версия Ады, написанная на Лиспе.

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

Сторонние разработчики предоставили больше языков программирования, таких как OPS5 , и инструментов разработки, таких как Knowledge Engineering Environment (KEE) от IntelliCorp).

Приложения

[ редактировать ]

Symbolics Genera поставляется с несколькими приложениями. Приложения называются действиями . Некоторые из мероприятий:

  • Zmacs Emacs. , похожий на текстовый редактор
  • Zmail, программа для чтения почты, также предоставляющая календарь
  • Браузер файловой системы с инструментами для обслуживания файловой системы
  • Прослушиватель Lisp с интерфейсом командной строки
  • Document Examiner для просмотра документации
  • Восстановите дистрибутив для установки программного обеспечения.
  • Distribute Systems для создания дистрибутивов программного обеспечения.
  • Просмотрите системную информацию (процессы, окна, сетевые подключения и т. д.)
  • Отладчик
  • Редактор пространства имен для доступа к информации об объектах в сети (пользователях, компьютерах, файловых системах и т. д.)
  • Converse, чат-клиент
  • Терминал
  • Инспектор для просмотра структур данных Lisp.
  • Уведомления
  • Frame-Up для разработки пользовательских интерфейсов.
  • Flavor Examiner — для изучения классов и методов объектно-ориентированного расширения Flavor для Lisp.

Другие приложения от Symbolics

[ редактировать ]

Компания Symbolics продала несколько приложений, работающих на символике Genera.

  • Symbolics Concordia, пакет для создания документов
  • Символика Джошуа, экспертной системы оболочка
  • Символика Macsyma — система компьютерной алгебры.
  • Символика NS, инструмент для проектирования микросхем
  • Символика Plexi, инструмент разработки нейронных сетей
  • Символика S-Graphics, набор инструментов: S-Paint, S-Geometry, S-Dynamics, S-Render.
  • Символика S-Utilities: S-Record, S-Compositor, S-Colorize, S-Convert.
  • Символика Scope, цифровая обработка изображений с помощью компьютера Pixar Image
  • Символика Statice, база данных объектов

Сторонние приложения

[ редактировать ]

Несколько компаний разработали и продали приложения для Symbolics Genera. Некоторые примеры:

  • Ascent Technology Gatekeeper, основанный на правилах менеджер ресурсов для аэропортов и авиакомпаний.
  • Automated Reasoning Tool (ART), оболочка экспертной системы от Inference Corporation.
  • ICAD , параметрическая 3D-система САПР.
  • Иллюстрировать, графический редактор
  • Knowledge Engineering Environment (KEE), оболочка экспертной системы от IntelliCorp.
  • Knowledge Craft, оболочка экспертной системы от Carnegie Group.
  • Металл, система машинного перевода от Siemens

Основные моменты

[ редактировать ]
  • Genera полностью написана на Lisp с использованием ZetaLisp и Symbolics Common Lisp, включая весь системный код низкого уровня, такой как драйверы устройств, сборка мусора, планировщик процессов, сетевые стеки и т. д.
  • Исходный код состоит из более чем миллиона строк Lisp, но при этом относительно компактен по сравнению с предоставляемыми функциями из-за широкого повторного использования. Пользователи также могут проверять и изменять его.
  • Операционная система в основном написана в объектно-ориентированном стиле с использованием Flavors, New Flavors и CLOS.
  • Он имеет обширную онлайн-документацию, которую можно прочитать с помощью Document Examiner.
  • Динамическая Windows предоставляет пользовательский интерфейс на основе презентаций.
  • Пользовательский интерфейс можно использовать локально (на машинах Lisp и MacIvories) и удаленно (с использованием X11).
  • Группы разработчиков могут работать вместе в сетевой среде.
  • Центральный сервер пространства имен предоставляет каталог компьютеров, пользователей, служб, сетей, файловых систем, баз данных и т. д.
  • Защита от смены операционной системы невелика. Вся система полностью доступна и изменяема.

Ограничения Дженеры включают в себя:

  • Работает только на машинах с символикой Lisp или эмуляторе Open Genera.
  • Одновременно в систему может войти только один пользователь.
  • Одновременно может работать только одна система Lisp. Данные и код совместно используются приложениями и операционной системой. Однако на одном DEC Alpha можно запускать несколько экземпляров Open Genera.
  • Развитие фактически остановилось в середине 1990-х годов.
  • 1982 – Выпуск 78
  • 1982 – Выпуск 210
  • 1983 – Выпуск 4.0
  • 1984 – Выпуск 5.0
  • 1985 - Версия 6.0 включает в себя символику Common Lisp, сборщик мусора эфемерных объектов и средство проверки документов.
  • 1986 - Genera 7.0 представляет динамические окна.
  • 1990 - Genera 8.0, представляет CLOS.
  • 1991 - Genera 8.1, представляет CLIM.
  • 1992 – Род 8.2
  • 1993 – Род 8.3
  • 1993 - Open Genera 1.0 представляет виртуальную машину Lisp.
  • 1998 – Открытое поколение 2.0
  • 2021 — Portable Genera 2.0, виртуальная машина Lisp, портированная на дополнительные платформы.

стабильная версия Open Genera, которая может работать на x86-64 или Arm64 Linux и Apple M1 MacOS . Выпущена [5]

Существует взломанная версия Open Genera, которая может работать на x86-64 Linux . [6] [7]

  1. ^ Гринблатт, Ричард Д.; Найт, Томас Ф.; Холлоуэй, Джон Т.; Мун, Дэвид А. (1980). «Лисп-машина». Материалы пятого семинара по архитектуре компьютеров для нечисловой обработки . Ассоциация вычислительной техники – Специальная группа по поиску информации: 137–138. дои : 10.1145/800083.802703 . S2CID   10081363 .
  2. ^ «Ретрокомпьютеры – Lisp-машины MIT CADR» . Unlambda.com . Проверено 1 декабря 2018 г.
  3. ^ Сиссарелли, Юджин К. (1 августа 1984 г.). «Пользовательский интерфейс на основе презентаций» . DSpace@MIT. hdl : 1721.1/6946 .
  4. ^ «Брошюра Genera 7» (PDF) . Битсейверы .
  5. ^ Палтер, Гэри (17 февраля 2021 г.). "И вот оно!" . твиттер . Проверено 9 января 2022 г.
  6. ^ Вигли, Джон (23 октября 2007 г.). «Символическая машина Lisp в Linux» . Адвокато. Архивировано из оригинала 30 июня 2017 года . Проверено 22 ноября 2011 г.
  7. ^ Коллисон, Патрик (апрель 2008 г.). «Лисп-машины» . Архивировано из оригинала 27 августа 2009 г. Проверено 31 августа 2009 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 52d76383abcfbcf9bcce7f99ebb99a98__1722514560
URL1:https://arc.ask3.ru/arc/aa/52/98/52d76383abcfbcf9bcce7f99ebb99a98.html
Заголовок, (Title) документа по адресу, URL1:
Genera (operating system) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)