янв 08
Microsoft .NET Framework
Почему .NET?
В чем проблема современных приложений? Мы им не верим. Откуда администратору знать, что пробная версия архиватора, бесплатная программа обмена сообщениями или проигрыватель видеофильмов не содержат в себе невыявленных проблем безопасности: программных закладок, ошибок переполнения буфера, неизвестных вирусов, которые могут нарушить нормальную работу других программ пользователя или даже операционной системы. Да, линейка Windows NT/2000 является защищенной операционной системой, но не бывает абсолютно защищенных систем, всегда будет оставаться шанс, что в системе остались невыявленные проблемы безопасности, которыми смогут воспользоваться чьи-то программы. Кроме того, ошибки бывают не только в программных системах, но и в аппаратуре, например в процессоре. Некоторые процессоры семейства Pentium содержали ошибку, получившую название F00F-bug, приводившую к полной блокировке процессора при попытке выполнить несуществующую инструкцию, код которой начинался с F00F. Тем не менее, выход из данной ситуации тотального недоверия чужому коду есть, и заключается он в исполнении кода в виртуальной среде выполнения, позволяющей контролировать и ограничивать права выполняемого кода в отношении абсолютно всех ресурсов: памяти, процессора, сети, файловой системы, других программ. Такой виртуальной средой является .NET Framework.
Обзор
.NET Framework — это среда выполнения для приложений нового поколения. Эта среда может быть установлена в любые версии Windows, начиная с Windows 98, и обеспечить виртуальную систему исполнения (Virtual Execution System) для приложений, созданных с помощью инструментов платформы .NET.
Особенность приложений для .NET Framework заключается в том, что они содержат не инструкции процессоров Intel, а инструкции виртуальной машины. Как показал опыт Java, вместо интерпретации кода виртуальной машины лучше транслировать его в инструкции реального процессора, такого как Intel Pentium, даже если это приходится делать непосредственно при исполнении приложения (Just In Time — JIT). Поэтому .NET Framework вместо интерпретатора MSIL содержит его JIT-компилятор. Кроме того, существует возможность однократно выполнить прекомпиляцию (например, при установке программы) и пользоваться ее результатами в будущем.
В чем проблема современных приложений? Мы им не верим. Откуда администратору знать, что пробная версия архиватора, бесплатная программа обмена сообщениями или проигрыватель видеофильмов не содержат в себе невыявленных проблем безопасности: программных закладок, ошибок переполнения буфера, неизвестных вирусов, которые могут нарушить нормальную работу других программ пользователя или даже операционной системы. Да, линейка Windows NT/2000 является защищенной операционной системой, но не бывает абсолютно защищенных систем, всегда будет оставаться шанс, что в системе остались невыявленные проблемы безопасности, которыми смогут воспользоваться чьи-то программы. Кроме того, ошибки бывают не только в программных системах, но и в аппаратуре, например в процессоре. Некоторые процессоры семейства Pentium содержали ошибку, получившую название F00F-bug, приводившую к полной блокировке процессора при попытке выполнить несуществующую инструкцию, код которой начинался с F00F. Тем не менее, выход из данной ситуации тотального недоверия чужому коду есть, и заключается он в исполнении кода в виртуальной среде выполнения, позволяющей контролировать и ограничивать права выполняемого кода в отношении абсолютно всех ресурсов: памяти, процессора, сети, файловой системы, других программ. Такой виртуальной средой является .NET Framework.
Обзор
.NET Framework — это среда выполнения для приложений нового поколения. Эта среда может быть установлена в любые версии Windows, начиная с Windows 98, и обеспечить виртуальную систему исполнения (Virtual Execution System) для приложений, созданных с помощью инструментов платформы .NET.
Особенность приложений для .NET Framework заключается в том, что они содержат не инструкции процессоров Intel, а инструкции виртуальной машины. Как показал опыт Java, вместо интерпретации кода виртуальной машины лучше транслировать его в инструкции реального процессора, такого как Intel Pentium, даже если это приходится делать непосредственно при исполнении приложения (Just In Time — JIT). Поэтому .NET Framework вместо интерпретатора MSIL содержит его JIT-компилятор. Кроме того, существует возможность однократно выполнить прекомпиляцию (например, при установке программы) и пользоваться ее результатами в будущем.