RPGman
Ну почему люди приписывают мне то что я не говорил.
>Скажи, в чем сила .net? Разве не в jit?
Именно в Jit. Но, пока нет MSIL процессора он ничего не стоит без NGEN.
> Ты же обрезаешь это самое преимущество на корню.
Я ничего не обрезаю, я просто указываю на возможность прекомпиляции из исходников в MSIL на ЛЮБОЙ машине
>Просто ради факта написания лишнего уровня абстракции на произвольном языке.
Просто ради осознания факта, что такая операционная система имеет право на существование.
SlavaGorbacheff
>Ну почему люди приписывают мне то что я не говорил
Пост 148, предложение провести jit-компиляцию заранее, что автоматически отменяет весь смысл jit.
Sbtrn. Devil
Согласен.
Но вот тебе утверждение: Первый ассемблер невозможно написать на ассемблере.
Но отсюда не следует, что: Все ассемблеры невозможно написать на ассемблере.
И также не следует, что: Ядро операционной системы невозможно написать на ассемблере.
RPGman
Извините.
Очень прошу прощения.
Я имел в виду не JIT-прекомпиляцию а MSIL-прекомпиляцию. Именно MSIL-прекомпиляцию можно произвести заранее.
Sbtrn. Devil
+1, истину глаголишь...
SlavaGorbacheff
-1
развел тут флуда на тему а как написать ось на .нет - хотя никто и не спрашивал...
SlavaGorbacheff
>Я имел в виду не JIT-прекомпиляцию а MSIL-прекомпиляцию. Именно MSIL-прекомпиляцию можно произвести заранее.
А это еще зачем? Винда будет в исходниках распространяться? :)
Уточняю: под "MSIL-прекомпиляцией" я понял преобразование проги из любого .NET языка в MSIL.
Зачем еще раз прекомпилять, если MSIL - уже универсальный псевдо-код виртуальной .NET машины, пригодный для jit-компиляции в момент запуска?
to ALL
Пошел читать книги и писать ОС на .NET.
SlavaGorbacheff
>Sbtrn. Devil
>Согласен.
>Но вот тебе утверждение: Первый ассемблер невозможно написать на ассемблере.
>Но отсюда не следует, что: Все ассемблеры невозможно написать на ассемблере.
>И также не следует, что: Ядро операционной системы невозможно написать на
>ассемблере.
Дык тут не совсем то. .Нет машина - это ж не просто некий ассемблер, а скрывающий под собой толстую весьма прослойку, которая принципиально не может быть написана на этом же ассемблере.
Если смысл моего поста выразить языком примеров и формализьма, то ассемблер фрамеворка соотносится с ассемблером процессора примерно вот так:
class TMicroprocessorLevel { THardware hardware; public: x86Opcode1 () { ... } x86Opcode2 ( ) { ... } x86Opcode3 ( ) { ... } }; class TBablOSKernelLevel { TMicroprocessorLevel proc public: KernelService1 ( ) { proc.x86Opcode1 ( ); proc.x86Opcode3 ( ); } KernelService2 ( ) { proc.x86Opcode2 ( ); proc.x86Opcode3 ( ); proc.x86Opcode1 ( ); } KernelService3 ( ) { proc.x86Opcode1 ( ); proc.x86Opcode2 ( ); } }; class TFrameworkLevel { // без поддержки ядра никак - слишком сложными объектами // оперируем на этом уровне... TBablOSKernelLevel kern; public: MSILCommand1 ( ) { kern.KernelService2 ( ); kern.KernelService1 ( ); kern.KernelService1 ( ); kern.KernelService2 ( ); } MSILCommand2 ( ) { kern.KernelService3 ( ); kern.KernelService2 ( ); } MSILCommand3 ( ) { kern.KernelService2 ( ); kern.KernelService1 ( ); kern.KernelService2 ( ); } };
И задача написания ядра ОСа на ассемблере фрамеворка - это как если бы мы захотели написать реализацию класса TBablOSKernelLevel, используя только класс TFrameworkLevel. Т. е., арихитектурно абсурдно и в общем случае невыполнимо.
Sbtrn. Devil
Повторю: я пошел читать книги и писать ОС на .NET.
Но чтобы не оставлять без ответа скажу: Никто не мешает написать NGEN, который как я уже писал ранее собирает native image из intermediate language в тот вид, который нужен.
PS. Очень прошу открыть MSDN и прочитать назначение Ngen.Exe
SlavaGorbacheff
у меня мсдн для 6й студии, 2001 года...
к сожелению, там такого нет:)))
Хозяин
>у меня мсдн для 6й студии, 2001 года...
>к сожелению, там такого нет:)))
http://msdn.microsoft.com/library/rus/default.asp?url=/library/RU… orngenexe.asp
_ShaMan_
гм :)
------------------------------------------------------------------------------------------
MSIL исполняемы аппаратно - "деградация" к машинным кодам...
при этом "деградация" - в смысле не потому что машинные коды это плохо, а потому что изобрели если и не колесо, то велосипед, и вернулись к тому, с чего начали...
Почему же нынче не делают процы, исполняющие "новое поколение" ассемблера, раз это настолько "круто"?... неужто все такие олухи, которые не знают в чем на самом деле фишка, а тут собрались такие "гении"?.. А может Вам премия за это положена?... за такое-то изобретение =) а Вы тут сидите и ничего не подозреваете?.. :)
ps: ничего личного
pps:
"Пускай ассемблер уж давно не в моде,
Но сила все же в нем - в машинном коде!"
гламурных дилфиноф звали?
крези... гламурные делфини любят c#,
и это тако, тсс... гламурные дельфины любят с++
любят джава унд акшен скрипт, тащяться от луа, развлекаются с питонам...
make love not war
:crazy:
0
бухохо...
14
>Сам сибе противоречиш 0_о Пробовал я ентот доднед, но С# - это же мутант, там делфи из всех щелей лезет.
>Блевал. Открыл проект на С++, написал немного кода, вроде отпустило. Как бальзам на душу.
ууу батенька... у вас фобия развилась... а у вас там Вирт не вылазить в придачу из щелей?
вот значить недавно аткрываю значить так вот... проэктик на цпп, пабливал... спасиба...
17
>C# хороший язык. Да и вся платформа .NET весьма приятная на ощупь.
мммммм.... да... какая... так бы щюпал и щюпал
+1
ну и т.д. и т.п.
холивар, холивар никогда не меняется
пашёл в тёмных глубинах пакланяться бальшой саламандр... ой.. э... тоесть... Вирту пашёл покланятся...
чиорт...
~X~
-1000
Ничо ты непонимаешь...
Тута вопрос не в том, что кто-то там мсил в чего-то пересобирает, а в том, что, если мсил изначально опирается на некую более базовую функциональность (ядро некоего ОСа), то и в конструкцию, которая будет из него собрана, тоже придётся прилинковать эту самая более базовую функциональность. Иными словами, можно на некоем ЖабаАссемблере написать и откомпилировать нечто, функционально аналогичное ядру Блинукса. Но, если этот ЖабаАссемблер требует фрамеворка в виде ядра виндовса, то в какой нативнй код его не компилируй - в этот код будет запрятано ядро Виндовса, как ни извращайся. И получится у нас не ядро Блинукса, а эмулятор ядра Блинукса на ядре виндовса. Со всеми вытекающими.
А ещё веселее получится, если не ядро Блинукса будем писать, а, скажем, загрузчик. Получится так: сначала грузится ядро виндовса, а потом из-под него эмулируется загрузка с нуля нашей системы... %)
Тема в архиве.