БудДен писал(а): ↑05.01.21 21:19
Да, другие российские ОС есть, и это осложняет наше дело. Из них Фантом мне категорически не понравился тем, что он построен на байткоде. Идея персистентной памяти тоже выглядит не знаю как бы это сказать, но странноватой. Впрочем, если эта система достаточно маленькая, то можно перевести её вместо A2. Потому что A2 всё же великовата, для полного перевода в одно лицо в хобби-режиме потребуется несколько десятилетий труда.
Думаю, эта система должна жить своей отдельной жизнью. Природа любит разнообразие. Из всех возможных путей развития она выбирает наиболее оптимальные, но не всегда самые простые. Не стоит смешивать A2 и Phantom OS в одну кучу именно потому, что у них разная идеология и задачи.
Байткод Фантома — это аналог Java-машины. Сам автор признавался, что они оказались похожи друг на друга. Но задача ставилась — обеспечить переносимость исполняемого кода между узлами машин, имеющих различную архитектуру ЦП. Более приближенным к ЦП решением является LLVM и Mit. Искать середину между ними трудно. Всё-таки, вопрос "безопасности" кода во многом противоречит функциональной свободе. Потому желательно разделять сферы применения кода и не пихать всё в одну ОС. Упоминаемый мной выше проект Deeptown.Org не ставил задачи брать на себя функции ОС, установленной на ПК. Он и рассчитывался как надстройка, не имеющая прямого доступа к данным пользователя без его дозволения. Кстати, в этом проекте так же применялась виртуальная машина со своим байт-кодом.
Персистентная память — просто замечательная концепция для энергонезависимой ОЗУ. Технические наработки в этом направлении в мире имеются. Это и MRAM-, и FeRAM-память. Был ещё какой-то третий вариант помоложе, но сейчас не припомню. В случае появления такой ОЗУ, классическая модель памяти в ОС становится уже не самой оптимальной, а механизм виртуализации памяти постепенно теряет свою актуальность. Другой вопрос, что текущая реализация персистентной памяти Фантома действительно странновата, но она — лишь попытка виртуальной реализации ещё не достигнутого результата.
БудДен писал(а): ↑05.01.21 21:19
Всё же мне нравится Оберон, т.к. это машкод, я по своему темпераменту прихожу в ярость от тормознутости байт-кода. А A2 довольно быстро работает, но мало того, она ещё и полностью перекомпилируется за 2 минуты. Хотя, если честно сказать, то вполне может быть, что система на байт-коде ближе к кибербезопасности, ввиду того, что она ещё проще. Но тогда это должно быть без JIT, и это будет работать в 100 раз медленнее Си. С JIT уже никакой безопасности не будет.
Тут играет роль противоречие двух концепций. Мне тоже не сильно нравится смешение одного с другим. Однако, если встроить виртуальную машину в ядро ОС и грамотно расставить слои абстракции, безопасность не будет нарушаться, т.к. сама виртуальная машина будет подчинена "правилам игры" этого ядра. Хотя такие приложения всё равно будут уступать по скорости исполнения.
Кстати, пользователям нет никакой разницы до времени компиляции ОС, если они сами не интересуются этим вопросом.
БудДен писал(а): ↑05.01.21 21:19
Что касается объектно-ориентированной парадигмы, то она, внезапно, тоже мешает изучению на безопасность. По той простой причине, что вместо конкретного объекта у нас имеется только некая заглушка, и мы не знаем, что к нам придёт в рантайме. Такие случаи в программировании, вообще говоря, неизбежны, бывают всякие функции обратного вызова в тех же сях. Но эти случаи нужно минимизировать, а в ООП они рассыпаны по всему коду.
Опять же — вопрос качества архитектурного построения ОС и ПО. А в целях защиты от "неизвестного" кода стоит разделять среды исполнения. Всё-таки это ПО для разных задач.