Здравствуйте, OCTAGRAM, Вы писали:
OCT>kochetkov.vladimir пишет: >> >> Здравствуйте, OCTAGRAM, Вы писали: >> >> OCT>Pzz пишет: >>> > >>> > А статически доказывать тоже самому, из исходников? >> >> OCT>А в чём проблема? Если ограничиться доказательством целостности, обычно >> OCT>там несложные проверки, и для всего есть готовые инструменты. >> >> А если я не верю производителю?
OCT>Какому?
kochetkov.vladimir пишет: > > Здравствуйте, OCTAGRAM, Вы писали: > > OCT>kochetkov.vladimir пишет: >> > >> > Здравствуйте, OCTAGRAM, Вы писали: >> > >> > OCT>Pzz пишет: >> >> > >> >> > А статически доказывать тоже самому, из исходников? >> > >> > OCT>А в чём проблема? Если ограничиться доказательством целостности, > обычно >> > OCT>там несложные проверки, и для всего есть готовые инструменты. >> > >> > А если я не верю производителю? > > OCT>Какому? > > Любому
Здравствуйте, Pzz, Вы писали:
НС>>Не согласен, можно, если статически доказано, что выполняемый код не портит чужую память. Pzz>Во-первых, в общем случае эта задача по-видимому алгоритмически неразрешима.
Разрешима для подавляющей части кода.
В тех местах где нет можно и проверку вставить.
Благо у нас есть вся метаинформация.
Pzz>Во-вторых, программа может не портить чужую память, и при этом быть вредной. Например, она может открывать документы, и заменять приличные слова на неприличные. Я не могу придумать компьютерно-проверяемый формальный критерий, позволяющий отличить такую программу от программы, которая делает с документами что-то полезное.
Очень просто.
Все программы живут в персональных песочницах.
Если программе понадобился доступ за пределами ее персональной папки то она просит ОСь о том чтобы ОСь попросила юзера открыть нужный файл.
Pzz>Во-третьих, возникает организационный аспект. Когда пользователь ставит программу на систему, откуда система знает, что для этой программы что-то там статически доказано? Очевидно, что эта задача разрешима только если ввести обязательное гослицензирование всех поставщиков программ. Я не хотел бы жить в таком мире
У нас все управляемое.
И ОСь сама может все проверить.
Если программе нужны права которых у нее нет по умолчанию то автор в инсталяторе прописывает соответствующие требования.
А система при установке спрашивает пользователя действительно ли он хочет дать этой программе данные права.
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Здравствуйте, Pzz, Вы писали:
OCT>>Если из дистрибутива, то подпись дистростроителя, если чужая — то из исходников собрать. Pzz>А статически доказывать тоже самому, из исходников?
Вобще говоря бинарник с управляемым кодом имеет очень интересное свойство: В нем есть вся информация которая есть в исходниках. За исключением форматирования и комментариев.
Те исходники нам и не нужны.
... << RSDN@Home 1.2.0 alpha rev. 745>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Интересная перспектива. Если привязывать к реальности, то будет что-то вроде мега-развитого EFI, поверх которого будет работать легковесная ОС, основная задача которой — реализация ФС... Ничего не напоминает?
Здравствуйте, kochetkov.vladimir, Вы писали:
TC>>>3)Драйверов, которые могут в любой момент уронить все систему или сожрать все память RO>>И точно, компьютеры будут вещами в себе, без клавиатур и мониторов.
KV>Подразумевалось, что драйверы потребуются только для гипервизора.
The fact is, the absolute last place you want to see drivers is in the hypervisor
(c) угадай кто.
Кстати, MS тоже придерживаются этого мнения и пеняют в этом смысле на VMWare.
Здравствуйте, kochetkov.vladimir, Вы писали:
KV>Здравствуйте, kochetkov.vladimir, Вы писали:
TC>>>>1) Один процесс — одна операционная система. Куча операционных систем будет жить на одном гипервизоре. RO>>>А гипервизор на чем?
KV>>Аппаратный.
KV>Тут забыл смайлик поставить
Кстати, VMWare ESX 3i будет встроено в качестве firmware в хулитовые сервера следующего поколения — это можно назвать аппаратным гипервизором?
RO>Хорошо. Вот тебе псевдокод на некоем управляемом языке:
RO>
RO>Thread t1 = new Thread(LargePrimeComputer.Compute);
RO>Thread t2 = new Thread(LargePrimeComputer.Compute);
RO>t1.Join();
RO>t2.Join();
RO>
RO>Как идеологически правильная ОС распределит процессорное время между этими задачами, если их больше, чем процессоров?
Я ниже по ветке уже писал об этом. Данный случай ( долгие вычисления ) очень не типичен для современной десктопной машины. Этим я думаю занимается не более 1% потоков на машине. Большинство работает в стиле обработчика события — проснулся, пукнул, заснул. Либо может быть легко сведен к такой модели. Поэтому планировка должна в первую очередь ориентироваться на такие "потоки", а по сути просто последовательный вызов некого обработчика. А делают такие "потоки" в виде нити только потому, что так устроена система. А если истема будет устроена по другому, данный псевдокод мог бы выглядеть как то так:
Sheduler s = new Sheduler( LongTask );
Thread t1 = new Thread(LargePrimeComputer.Compute);
Thread t2 = new Thread(LargePrimeComputer.Compute);
s.Attach( t1 );
s.Attach( t2 );
System.Shedulers.Add( s );
RO>
Т.е это некий особый случай, требующий неких извращений.
WolfHound пишет: > > Здравствуйте, Pzz, Вы писали: > > OCT>>Если из дистрибутива, то подпись дистростроителя, если чужая — то > из исходников собрать. > Pzz>А статически доказывать тоже самому, из исходников? > Вобще говоря бинарник с управляемым кодом имеет очень интересное > свойство: В нем есть вся информация которая есть в исходниках. За > исключением форматирования и комментариев. > Те исходники нам и не нужны.
А что такое управляемый код? Компилировать исходники в байт–код или нет,
это не принципиально. Исходники сами по себе тоже могут быть
производными от чего–то другого.
Исходники, однако же, имеют тенденцию быть инвариантными относительно
байт–кодирования, которое может и поменяться (в Erlang вот поменяли).
Поэтому я говорю об исходниках.
Здравствуйте, Pzz, Вы писали:
Pzz>Во-первых, в общем случае эта задача по-видимому алгоритмически неразрешима.
А в общем и не нужно, нужно в частном, подходящем для создания ядра.
Pzz>Во-вторых, программа может не портить чужую память, и при этом быть вредной. Например, она может открывать документы, и заменять приличные слова на неприличные.
Аппаратная защита от таких программ тоже не спасает.
Pzz>Во-третьих, возникает организационный аспект. Когда пользователь ставит программу на систему, откуда система знает, что для этой программы что-то там статически доказано?
Смотри Сингуларити.
Pzz> Очевидно, что эта задача разрешима только если ввести обязательное гослицензирование всех поставщиков программ.
Здравствуйте, Ночной Смотрящий, Вы писали:
Pzz>>Во-вторых, программа может не портить чужую память, и при этом быть вредной. Например, она может открывать документы, и заменять приличные слова на неприличные.
НС>Аппаратная защита от таких программ тоже не спасает.
Я что-то несколько потерял нить. Аппаратная защита помогает эффективно изолировать программы друг от друга и контроллировать доступ к аппаратуре. Того же самого можно добиться, запретив нативный код и гоняя все программы на интерпретаторе. Но это в любом случае будет медленнее, чем при использовании аппаратной защиты. Аппаратная поддержка играет такую же роль для построения защиты, как хорошая видеокарта — для рисования гуя. В принципе, можно и гуй по точкам рисовать, у пентиума мегагерцев много.
Так что в чем ваш тезис, собственно? Что вообще защита не нужна, или что аппаратная не нужна?
Pzz>>Во-третьих, возникает организационный аспект. Когда пользователь ставит программу на систему, откуда система знает, что для этой программы что-то там статически доказано?
НС>Смотри Сингуларити.
Я тут немного буду хихикать, потому что сингулярити — это игрушка, предназначенная показать, что из .Net можно тоже сделать операционную систему. Сингулярити не является, и никогда не будет прототипом настоящей ОС.
В игрушечной системе можно, конечно, гонять весь код в интерпретаторе. В настоящей системе это слишком дорогое удовольствие, и код должен исполняться на железе.
Pzz>> Очевидно, что эта задача разрешима только если ввести обязательное гослицензирование всех поставщиков программ.
НС>Узко мыслишь.
Здравствуйте, Pzz, Вы писали: Pzz>Так что в чем ваш тезис, собственно? Что вообще защита не нужна, или что аппаратная не нужна?
Что аппаратная не нужна. НС>>Смотри Сингуларити.
Pzz>Я тут немного буду хихикать, потому что сингулярити — это игрушка, предназначенная показать, что из .Net можно тоже сделать операционную систему. Сингулярити не является, и никогда не будет прототипом настоящей ОС.
Pzz>В игрушечной системе можно, конечно, гонять весь код в интерпретаторе. В настоящей системе это слишком дорогое удовольствие, и код должен исполняться на железе.
А можно я тоже буду хихикать? Потому, что
а) в сингулярити код не гоняется в интерпретаторе. Учите матчасть, дотнет вообще никогда не гоняется в интерпретаторе.
б) сингулярити (естественно) показывает более высокое быстродействие, чем linux или windows. Учите матчасть.
... << RSDN@Home 1.2.0 alpha rev. 677>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Sinclair однажды (24 июня 2008 [Вторник] 07:31) писал:
> а) в сингулярити код не гоняется в интерпретаторе. Учите матчасть, дотнет вообще никогда не гоняется в интерпретаторе.
Мантра? Ты кстати это все время твердиш. Покажи ка более другой источник. Желательно независимый от M$
> б) сингулярити (естественно) показывает более высокое быстродействие, чем linux или windows. Учите матчасть.
Мне пожалуйста с собой заверните... В смысле сравнительных тестов производительности.
Здравствуйте, Sheridan, Вы писали:
S>Sinclair однажды (24 июня 2008 [Вторник] 07:31) писал:
>> а) в сингулярити код не гоняется в интерпретаторе. Учите матчасть, дотнет вообще никогда не гоняется в интерпретаторе. S>Мантра? Ты кстати это все время твердиш. Покажи ка более другой источник. Желательно независимый от M$
Шеридан, покажи источник утверждающий что .net интерпертируется. Желательно не зависимый от ЛОРа
Константин Б. однажды (24 июня 2008 [Вторник] 09:20) писал:
> Шеридан, покажи источник утверждающий что .net интерпертируется. Желательно не зависимый от ЛОРа
Я первый спросил
Здравствуйте, Sheridan, Вы писали:
>> а) в сингулярити код не гоняется в интерпретаторе. Учите матчасть, дотнет вообще никогда не гоняется в интерпретаторе. S>Мантра? Ты кстати это все время твердиш. Покажи ка более другой источник. Желательно независимый от M$
Возьми дебаггер, подключись к приложению на .NET, да посмотри, что там реально исполняется.
WFrag однажды (24 июня 2008 [Вторник] 09:36) писал:
> Возьми дебаггер, подключись к приложению на .NET, да посмотри, что там реально исполняется.
Купи мне винду и студию...