Содержание

Определения

На странице расположены определения (понятия), относительно которых далее будут идти рассуждения и описания. Они могут существенно не совпадать с существующими определениями (понятиями), на что следует обратить самое пристальное внимание.

Платформа

Комплексное решение, как единое целое "язык → аппаратура → ОС → прикладное ПО". Проектирование платформы должно проходить именно в таком порядке. Если выпадает хотя бы один компонент – фактически, такое техническое решение не является платформой.

Язык высокого уровня

Язык высокого уровня (ЯВУ) предлагает высокоуровневые абстракции для выражения алгоритмов и структур данных. Такой язык предлагает достаточное число абстракций, чтобы полностью избегать обращения непосредственно к аппаратным средствам.

Подвал ЯВУ

Подвал – это нештатные средства ЯВУ, которые приходится вводить в ЯВУ по причине наличия семантического разрыва между аппаратными средствами и ЯВУ. Подвал тем больше, чем хуже:

Контролируемый подвал

Любой язык, который явно разграничивает безопасные возможности от небезопасных обладает контролируемым подвалом. Такие языки как:

полностью или вполне удовлетворяют определению контролируемого подвала.

Неконтролируемым подвалом обладают языки:

Их возможности по бесконтрольному доступу к аппаратуре (либо непредсказуемому поведению) приводят к невозможности построения безопасной языковой среды.

Референсная виртуальная машина

Программно-реализованная виртуальная машина, правильность которой протестирована с высоким покрытием тестами (95% и более). Необходима для проверки правильности работы кода на других архитектурах. Если сторонние архитектуры исполняют код с тем же результатом, что и референсная ВМ – значит портирование кода выполнено верно.

Фронт-процессор

Специальный процессор, который исполняет команды ЯВУ. Он изолирует системные и пользовательские процессы от аппаратуры. Транслирует команды ЯВУ в инструкции бэк-процессора. Если фронт-процессор аппаратно недоступен, то его функции исполняет модуль ядра.

Бэк-процессор

(Возможно) процессор общего назначения, который исполняет инструкции от фронт-процессора. В зависимости от типа бэк-процессора инструкции могут относиться как к семейству CISC, так и к семейству RISC.

Герметичность ЯВУ

Способность языка наиболее полно отражаться на аппаратную часть. Если в ЯВУ удаётся избежать нештатных средств языка (например, псевдомодуль SYSTEM в Oberon-7 или пакет unsafe в Go) – такой язык полностью герметичен (т. е. подвал отсутствует).

Достижение такого показателя крайне сложная задача, поэтому на практике следует принять правило 20/80 – "20% усилий дают 80% результата".

Классификация языков по степени герметичности:

Единая система архитектуры процессоров

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

p78su 2023-10-25 10:49:08