Общеязыковая среда выполнения

Общеязыковая среда выполнения

В дополнение к спецификациям CTS и CLS, последней на данный момент аббревиатурой, которую мы рассмотрим, будет аббревиатура CLR (Common Language Runtime – общеязыковая среда выполнения). Для программирования термин среда, выполнения можно понимать, как набор внешних сервисов, необходимых для выполнения данной скомпилированной единицы программного кода. Например» когда разработчик при создании нового приложения использует библиотеку базовых классов Microsoft (MFC), он знает, что для выполнения его программы потребуется соответствующий выполняемый модуль библиотеки MFC (т.е. mfc42.dll). Другие популярные языки также предлагают соответствующие выполняемые модули. Программисты VB6 привязаны к одному или двум выполняемым модулям (например, msvbvm60.dll). Разработчики Java привязаны к виртуальной машине Java (JVM) и т.д.

Платформа .NET предлагает совсем другой принцип организации среды выполнения. Разница между средой выполнения .NET и средой выполнения, о которой говорилось выше, заключается в том, что среда выполнения .NET обеспечивает единый и вполне определенный "слой" выполнения, общий для всех языков и платформ, совместимых с .NET.

Основной механизм CLR физически заключается в библиотеке, называемой mscoree.dll (известной также под названием Common Object Runtime Execution Engine – общий объектный модуль механизма выполнения). Когда на компоновочный блок ссылаются для использования, mscoree.dll автоматически загружается и, в свою очередь, загружает в память требуемый компоновочный блок. Механизм выполнения отвечает за целый ряд задач. Прежде всего, и это самое главное, за выяснение расположения компоновочного блока и нахождение запрашиваемого типа в бинарном объекте с помощью чтения содержащихся там метаданных. Затем среда CLR размещает тип в памяти, преобразует CIL-код в соответствующие платформе инструкции, выполняет все необходимые проверки безопасности, а затем выполняет полученный программный код.

Вдобавок к загрузке созданных вами компоновочных блоков и созданию пользовательских типов, CLR также, если это необходимо, взаимодействует с типами, содержащимися в библиотеках базовых классов .NET. Хотя вся библиотека базовых классов разбита на целый ряд отдельных компоновочных блоков, "ключевым" компоновочным блоком является mscorlib.dll. Файл mscorlib.dll содержит множество базовых типов, которые объединяют в себе решения широкого спектра общих задач программирования, а также базовые типы данных, используемые всеми языками .NET. При построении .NET-приложений вы автоматически получаете доступ к этому специальному компоновочному блоку.

На рис. 1.3 показана система связей, возникающих между вашим исходным кодом (использующим типы из библиотеки базовых классов), .NET-компилятором и механизмом выполнения .NET.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

II. ОФИСНАЯ СРЕДА

Из книги Человеческий фактор [Успешные проекты и команды] автора Листер Тимоти


2.19 «КДЕ» (Настольная среда K)

Из книги Прикладные свободные программы и системы в школе автора Отставнов Максим

2.19 «КДЕ» (Настольная среда K) Само название «КДЕ» — явная пародия на CDE — Common Desktop Environment («Общая настольная среда») — последнюю попытку отрасли стандартизовать графическую среду на несвободной основе, предпринятую в конце девяностых годов. «K» в «КДЕ» ничего не


2.19 «КДЕ» (Настольная среда K)

Из книги Свободные программы и системы в школе автора Отставнов Максим

2.19 «КДЕ» (Настольная среда K) Само название «КДЕ» – явная пародия на CDE – Common Desktop Environment («Общая настольная среда») – последнюю попытку отрасли стандартизовать графическую среду на несвободной основе, предпринятую в конце девяностых годов. «K» в «КДЕ» ничего не


Окружающая среда

Из книги Бизнес путь: Yahoo! Секреты самой популярной в мире интернет-компании автора Вламис Энтони


6.4.1 Среда разработки ПО

Из книги ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ВСТРОЕННЫХ СИСТЕМ. Общие требования к разработке и документированию автора Госстандарт России


Среда KDE

Из книги Человеческий фактор в программировании автора Константин Ларри Л

Среда KDE Среда рабочего стола KDE (K Desktop Environment, http://www.kde.org/) построена на основе кроссплатформенных библиотек Qt от Trolltech. Обилие программ, практически не отличающихся функционально, но зато сильно отличающихся внешним видом и поведением, только отпугивало пользователей от


Среда GNOME

Из книги Основы объектно-ориентированного программирования автора Мейер Бертран

Среда GNOME Среда GNOME (GNU Network Object Model Environment – сетевая объектная среда GNU, http://www.gnome.org/) возникла как ответ общества GNU на разработку KDE, когда библиотеки Qt еще не были свободны. Новая рабочая среда создавалась на основе инструментария GTK+, созданного ранее для графического


8.1. UNIX-среда

Из книги Могущество и бессилие компьютера автора Кочетков Геннадий Борисович

8.1. UNIX-среда UNIX прост. Но надо быть гением, чтобы понять его простоту. Денис Ритчи (Dennis


45 Новая среда

Из книги Программирование для Linux. Профессиональный подход автора Митчелл Марк

45 Новая среда Конечные пользователи, сидящие перед 19-дюймовыми мониторами, могут даже и не знать о том, является приобретенное программное обеспечение объектно-ориентированным "или нет. Можно даже утверждать, что если пользователи не прочитают об этом на коробке, в


Реализация и среда

Из книги Вопросы истории: UNIX, Linux, BSD и другие автора Федорчук Алексей Викторович

Реализация и среда Мы подошли к важным свойствам среды разработки, поддерживающей создание


2.1.6. Среда выполнения

Из книги автора

2.1.6. Среда выполнения Операционная система Linux предоставляет каждой запущенной программе среду выполнения. Под средой подразумевается совокупность пар переменная-значение. Имена переменных среды и их значения являются строками. По существующему соглашению переменные