Первое сообщение
Определения
На странице расположены определения (понятия), относительно которых далее будут идти рассуждения и описания. Они могут существенно не совпадать с существующими определениями (понятиями), на что следует обратить самое пристальное внимание.
Платформа
Комплексное решение, как единое целое “язык -> аппаратура -> ОС -> прикладное ПО”. Проектирование платформы должно проходить именно в таком порядке. Если выпадает хотя бы один компонент – фактически, такое техническое решение не является платформой.
Язык высокого уровня
Язык высокого уровня (ЯВУ) предлагает высокоуровневые абстракции для выражения алгоритмов и структур данных. Такой язык предлагает достаточное число абстракций, чтобы полностью избегать обращения непосредственно к аппаратным средствам.
Подвал ЯВУ
Подвал – это нештатные средства ЯВУ, которые приходится вводить в ЯВУ по причине наличия семантического разрыва между аппаратными средствами и ЯВУ. Подвал тем больше, чем хуже:
- спроектирован ЯВУ;
- ЯВУ не соответствует аппаратной архитектуре;
- ЯВУ не соответствует программной архитектуре.
Контролируемый подвал
Любой язык, который явно разграничивает безопасные возможности от небезопасных обладает контролируемым подвалом. Такие языки как:
- Oberon-7
- Modula-2
- Go
- Rust
- C#
полностью или вполне удовлетворяют определению контролируемого подвала.
Неконтролируемым подвалом обладают языки:
- ассемблер
- Си
- С++
Их возможности по бесконтрольному доступу к аппаратуре (либо непредсказуемому поведению) приводят к невозможности построения безопасной языковой среды.
Референсная виртуальная машина
Программно-реализованная виртуальная машина, правильность которой протестирована с высоким покрытием тестами (95% и более). Необходима для проверки правильности работы кода на других архитектурах. Если сторонние архитектуры исполняют код с тем же результатом, что и референсная ВМ – значит портирование кода выполнено верно.
Фронт-процессор
Специальный процессор, который исполняет команды ЯВУ. Он изолирует системные и пользовательские процессы от аппаратуры. Транслирует команды ЯВУ в инструкции бэк-процессора. Если фронт-процессор аппаратно недоступен, то его функции исполняет модуль ядра.
Бэк-процессор
(Возможно) процессор общего назначения, который исполняет инструкции от фронт-процессора. В зависимости от типа бэк-процессора инструкции могут относиться как к семейству CISC, так и к семейству RISC.
Герметичность ЯВУ
Способность языка наиболее полно отражаться на аппаратную часть. Если в ЯВУ удаётся избежать нештатных средств языка (например, псевдомодуль SYSTEM в Oberon-7 или пакет unsafe в Go) – такой язык полностью герметичен (т. е. подвал отсутствует).
Достижение такого показателя крайне сложная задача, поэтому на практике следует принять правило 20/80 – “20% усилий дают 80% результата”.
Классификация языков по степени герметичности:
- 100% – герметичен; сверх-критичные сферы применения;
- 95% – высоко-герметичный; критичные сферы применения (военпром, авионика. медицина);
- 82% – практическая герметичность; промышленное применение (роботы общего назначения, массовая автоматизация, носимая элктроника);
- 66% – низкая герметичность; широкое потребление (игрушки, световая реклама и т.п. – всё, что не имеет критического влияния).
Единая система архитектуры процессоров
Единая система архитектуры процессоров (ЕСАП) – набор архитектурных решений, для построения максимально совместимой сери процессоров различного применения. Подробно ЕСАП описан на [[плоскость:есап|соответствующей странице]].
— //[[robo.help@yandex.ru|p78su]] 2023-10-25 10:49:08//