Re[3]: Очередная русская ОС
От: Aleх  
Дата: 28.07.10 14:53
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>Здравствуйте, okman, Вы писали:


O>>С другой — трудно представить работоспособную архитектуру, которая не поддерживается

O>>аппаратно и вообще базируется на виртуальных машинах. А как же драйверы устройств и
O>>вообще системные сервисы типа переключения контекстов или управление виртуальной
O>>памятью ? Это тоже отдается Java ? Наверное, я отстал от жизни.
O>>Нет ни безопасности, ни переходов в режим ядра. Ну и что в этом хорошего ?
O>>Разработчики современных архитектур тоже не дураки ведь.

G>Главное преимущество managed кода знаешь?

G>Это простая верифицируемость на клиенте. То есть непосредственно перед исполнением можно статически проверить что код не делает ничего криминального. Таким образом не нужны становятся аппаратные средства защиты, так как они рассчитаны на отлов тех же самых проблем, но в процессе исполнения.


G>Остается в таком случае одна проблема, которая сродни первенству яйца или курицы. Драйверы должны подниматься до виртуальных машин, но для управляемого кода нужна та самая виртуальная машина. Это решается статической компиляцией в нативный код (с той же самой верификацией) при установке драйвера. В итоге драйвер нативный, но при этом гарантированно не делает ничего криминального (и не может порушить работу системы и других драйверов).


G>Конечно часть ОС останется написана на низкоуровневом языке, но довольно малая часть по сравнению с современными ОС.


G>Так работает Singularity.


Если бы драйвер не делал ничего потенциально криминального, его не надо было бы и компилировать как то отлично от другого кода. Вообще бы не нужно было делать различия на программы и драйверы.
А если его компилировать статически в нативный код, то верификацию произвести не получится.

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

Некоторые (не помню кто) на этом форуме считают, что и x86 код можно верифицировать, но это не правда.

Так что по любому в драйвере будут потенциально опасные места.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.