Пивняка Г.Г. Толковый словарь по информатике. Страница 243
MSIL (Microsoft Intermediate Language - Промежуточный язык Microsoft) (См. Байткод) (См. .NET, CLR)
О Специальный язык, определяющий для полученного от CLR файла набор переносимых между любыми платформами инструкций, независимых от конкретного процессора. По существу, MSIL является «переносимым ассемблером» и воплощает развитие концепции байткода Java, являясь по сути аналогом байт-кода для языка Java. В файле скомпилированной .NET-программы, кроме MSIL-кода, содержится компонент метаданных - с его помощью CLR обеспечивает контроль и безопасность .NET-файлов. Далее CLR-среда, получив на исполнение .NET-программу (универсальный MSIL-код), запускает JIT-компилятор (Just In Time - В Нужный Момент), который и превращает MSIL во внутренний код (машинный язык) конкретного процессора, причем компилирует части программного кода по мере необходимости. Создается своеобразный «динамический вариант» исполняемого кода, а на вход процессора подаётся скомпилированная программа, которая выполняется «на лету» - с той же скоростью, что и обыкновенные программы, но на любом процессоре.
© (.NET) Независимый от типа центрального процессора и структуры его команд набор инструкций (команд), генерируемый компиляторами Microsoft .NET Framework и используемый Общеязыковой средой выполнения (CLR) в среде .NET Framework. Перед тем, как исполнять полученный массив инструкций MSIL, его необходимо конвертировать во внутренний код команд используемого процессора. Эту задачу выполняет Общеязыковая среда выполнения (Common Language Runtime, CLR). Таким образом, для каждого компилятора (будь то компилятор языка C#, csc.exe или Visual Basic, vbc.exe) средой выполнения производится необходимое отображение программного кода в код «абстрактной машины» .NET - MSIL (Microsoft Intermediate Language).