LINUX.ORG.RU

Вопрос про виртулизацию возможно оффтопик извиняюсь .


0

0

Зашел как то на чате спор насчет виртулизации в Mono и Java .Спорили долго , упорно немало килловат часов сожгли ....Дощли аж до майфремов S/900 и CELL (аппаратная часть ) ,оберона и D (языки такие ) . Ну и такой вопрос ,действительно ли можно написать такой компилятор допустим для среды моно - который бы сразу компилировал в двоичный код ,минуя среду виртулизацию и при этом был безопасен ? Говорят можно просто компилятору исключить (заменить ценой ухудшения скорости ) опасные инструкции и использовать 3 уровень кольца (+биты неисполняемости и запрещен напрямую при компиляции вызов api/ функциий Mono/....или использовать промежуточное безопасное api),ну и какого хрена тогда это не реализовано ?

Ответ на: комментарий от anonymous

Спасибо ,дошли уже до mono-gсс ,делает тоже самое только статически слинковано в один охренелый файл и нехренна не работает mono-aot уже проскочили ,переживали ,сказали небезопасно в контексте функций, теперь спорят насчет безопасности dos сеансов в nt ,пошел за чаем :-)
Вопрос именно в безопасности ... сошлись только в одном что с аппаратнной потдержкой виртулизации возможно при отсуствии глюков в самом аппарате :-) .

maximnik0 ★★
() автор топика

а смысл спора?

1. есть интерпретатор Си ch, есть Kawa. Можно что-то небезопасное под ним пускать

2. По поводу опасности указателей -- есть Cyclone, в котором контекст использования указателя можно проконтролировать. Вообще указатели не нужны, нужны типизированные ссылки с возможностью проконтролировать контекст использования. См. например, указатели и ссылки в Ксерионе -- /"Указательные и ссылочные типы"/ http://lib.ru/CTOTOR/XERION/xerion.txt

-- язык типобезопасный несмотря на наличие указателей.

то есть, вместо опасных GPF-ом указателей даём только ссылки с тегами, есть ссылка (выдана) -- указатель по ссылке валиден, нет -- результат null и смысла не имеет.

> Ну и такой вопрос ,действительно ли можно написать такой компилятор допустим для среды моно - который бы сразу компилировал в двоичный код ,минуя среду виртулизацию и при этом был безопасен ?


действительно, действительно. Нужно только убрать все небезопасные операции.
Можно например невалидные указатели отменить, выдавать ссылки. И контролировать их валидность на уровне MMU процесса.

anonymous
()

а смысл спора?

1. есть интерпретатор Си ch, есть Kawa. Можно что-то небезопасное под ним пускать

2. По поводу опасности указателей -- есть Cyclone, в котором контекст использования указателя можно проконтролировать. Вообще указатели не нужны, нужны типизированные ссылки с возможностью проконтролировать контекст использования. См. например, указатели и ссылки в Ксерионе -- /"Указательные и ссылочные типы"/ http://lib.ru/CTOTOR/XERION/xerion.txt

-- язык типобезопасный несмотря на наличие указателей.

то есть, вместо опасных GPF-ом указателей даём только ссылки с тегами, есть ссылка (выдана) -- указатель по ссылке валиден, нет -- результат null и смысла не имеет.

> Ну и такой вопрос ,действительно ли можно написать такой компилятор допустим для среды моно - который бы сразу компилировал в двоичный код ,минуя среду виртулизацию и при этом был безопасен ?


действительно, действительно. Нужно только убрать все небезопасные операции.
Можно например невалидные указатели отменить, выдавать ссылки. И контролировать их валидность на уровне MMU процесса.

anonymous
()

[безумная идея]

делать save-point с использованием fork... т.е. форкаемся и выполняем несколько функций, что-то сдохло... убиваем процесс, нет... это новый валидный процесс

как-то так... детали надо додумать

dimon555 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.