Jump to content

Кваджект

В информатике квадект это объектно -подобная структура данных , содержащая как данные, так и код (или указатели на код), представленная как интерфейс в форме вызовов и способная принимать список вызовов к другим кваджектам для обратных вызовов и вызовов . Они были разработаны Алексией Массалин в 1989 году для ядра Synthesis . [1] и назван в честь Qua! Machine — уникальная аппаратная платформа, созданная Massalin. Происхождение термина «ква» неясно; Массалин с юмором утверждает, что этот звук издают коалы . [2]

Основная цель quajects — предоставить абстракцию для управления самомодифицирующимся кодом , позволяя оптимизировать код во время выполнения для каждого объекта отдельно. Хотя исходное ядро ​​Synthesis требовало написания квадектов на разработанном вручную языке ассемблера , это было сделано для того, чтобы избежать разработки сложного компилятора; Массалин отметила, что компиляция «точно в срок» (JIT) для языка программирования высокого уровня , который позволяет генерировать код во время выполнения , как в Lisp или Smalltalk , также может применять этот подход, хотя она также утверждала, что сложность такого компилятора, вероятно, была быть запретительным.

Кважекты отличаются от более традиционных объектов двумя ключевыми моментами: во-первых, они всегда используют форму шаблона внедрения зависимостей для управления как интерфейсами с другими кваджектами, так и продолжениями из кважекта; список ссылок на вызовы для этого является частью создания quaject и может обновляться в течение срока службы quaject. Во-вторых, что более важно, набор методов данного кваджекта может быть уникальным для конкретного кваджекта; методы для типа или класса квектов хранятся как один или несколько шаблонов, а не как фиксированный код. Хотя доступ к общим методам можно получить через общую таблицу указателей, отдельные кваджекты также могут иметь методы, созданные специально для адаптации производительности к поведению этого кваджекта.

  1. ^ Пу, Калтон ; Массалин, Генри ; Иоаннидис, Джон (1992). Синтез: эффективная реализация фундаментальных служб операционной системы (PDF) (кандидатская диссертация). Нью-Йорк: Департамент компьютерных наук Колумбийского университета . Номер заказа UMI GAX92-32050. Архивировано (PDF) из оригинала 4 июля 2017 г. Проверено 25 апреля 2012 г. [1] Архивировано 12 марта 2016 г. на Wayback Machine.
  2. ^ Пул, Гэри Эндрю (1 декабря 1996 г.). «Ква» . Проводной . Конде Наст. Архивировано из оригинала 4 июля 2017 г. Проверено 23 августа 2016 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: dc814cacf1a54c05a256427d675bc2b3__1692573240
URL1:https://arc.ask3.ru/arc/aa/dc/b3/dc814cacf1a54c05a256427d675bc2b3.html
Заголовок, (Title) документа по адресу, URL1:
Quaject - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)