ПО, ЭВМ и АСУ из Таможенного Союза

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » ПО, ЭВМ и АСУ из Таможенного Союза » Проект "Виртуальные машины" » Сколько стеков нужно языковой виртуальной машине?


Сколько стеков нужно языковой виртуальной машине?

Сообщений 1 страница 6 из 6

1

Как раз подошел к моменту реализации стека в ВМ.
Вспомнилась идея Юрия по использованию двух стеков. Вот думаю, может ли двухстековая модель быть полезной в ВМ...

0

2

В машине важна минимальная работоспособность и простота. Там много и других сложных мест.

Кроме того, конкретно двухстековая идея Юрия меня не порадовала, я не проникся.
Попробуй объяснить мне, зачем её учить школьникам, какое от неё будет преимущество в рантайме, и т.д.

0

3

Возможность решить проблему сборки мусора в двустековой модели я тоже не нашел. Но у меня не хватает опыта в этой области, чтобы быть уверенным, поэтому советуюсь.

Отредактировано Евгений (2023-04-04 16:52:55)

0

4

Я ещё вспомнил про иерархию усложняющихся языков и соответствующих им виртуальных машин.
Нет ничего плохого в том, чтобы иметь сложный язык и сложную виртуальную машину.

Проекты так же полезно делать по этапам. Вначале первые этапы реализовывают более простую функциональность,
следующие этапы - более сложную. Например сначала детей учат в школе, потом совершеннолетних (взрослых) в ВУЗе.

В общем, прям сейчас стек нужен один (и сначала на единственное ядро).

0

5

Лис написал(а):

Я ещё вспомнил про иерархию усложняющихся языков и соответствующих им виртуальных машин.

В рамках импортозамещения можно написать виртуальную машину или ОС
для российского процессора.
Но тогда придется реализовать нормальный пиксельный графический адаптер
(может от РАДИО-86РК сойдёт?).
И поверх разработать виртуальную машину для приложений MS-DOS,
сначала для текстовых приложений,
а затем и для приложений, пользующих графические режимы.

И можно сделать типа графического гипервизора,
для него выделить клавиши на клавиатуре (джойстик),
чтобы экран монитора перемещать по плоскости графического интерфейса приложения.
Так как Разрешение графического режима приложения больше используемого малого разрешения экрана
(у РАДИО-86РК разрешение 128 на 60 пикселей).

Тогда мы сможем получить пользу от приложений MS-DOS,
на которые уже по истечении времени не распространяются права производителей.
Потом уже реализуем графическую систему на языке SoloTable (разработка NuShaman).

0

6

Был учебник по информатике, не помню какой,
там была картинка, как тележка ездит по рельсам от остановки к остановке,
а адреса, куда перемещаться она складывает себе наверх, или снимает оттуда
(ну, вроде того, как делают боты манипулятором с батарейками в игре Colobot)
В этом примере стек растёт вверх, потому что
дело происходит на суше, а для удержания элементов стека используется сила гравитации (и силы трения или стенки, но это неважно).

Если бы созданием стека занимались разумные осьминоги под руководством Ктулху (а у некоторых осьминогов бывает по восемь мозгов в одной туше),
то вместо гравитации могла бы использоваться архимедова сила (выталкивания на поверхность).
И тогда стек бы рос вниз.

Но что если дело происходит на космической станции, где псевдогравитация создаётся вращением?
Стеки могли бы быть направлены в разные стороны!

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

См. также
Существует команда вызова подпрограммы и выхода их неё?
Что если в регистре стека хранить число использованных байтов?

Отредактировано Лис (2023-04-20 00:30:01)

0


Вы здесь » ПО, ЭВМ и АСУ из Таможенного Союза » Проект "Виртуальные машины" » Сколько стеков нужно языковой виртуальной машине?