Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LEKTsII_VMSR_Denpisal.docx
Скачиваний:
61
Добавлен:
13.04.2015
Размер:
233.39 Кб
Скачать

2.3 Приложение и платформа .Net Framework

Достоинства приложений:

  1. для всех приложений используются согласованные концепции и службы. Такая согласованность значительно сокращает процесс изучения новых компонентов, которые могу предлагаться для открытого использования

  2. расширяются возможности повторного использования компонентов

  3. поддержка нескольких языков программирования

2.4 Взаимодействие платформы .Net Framework с ос и приложениями пользователя

Общеязыковая Среда выполнения выполняет туже самую роль что и виртуальная машина Javaв технологияхSUN, она загружает код и обеспечивает для него множество сервисов во время выполнения, это управление памятью, потоками, безопастностью, удаленный вызов методов и другие формы управления процессом запуска и работы кода гарантирующий безопасность и надежность.

Управляемый код - код который может использовать службы предоставляемые общеязыковой средой выполнения (CLR)

Неуправляемый код – код, не предназначенный для среды выполнения.

Схема взаимодействия элементов .Net Framework с приложениями ОС и пользователя

  1. ОС

  2. CRL – посредник между управляемым кодом и ОС

  3. Managedcodeуправляемый код

  4. Unmanaged codeнеуправляемый код

  5. Управляемое web приложение (Managed Web Application)

  6. Неуправляемое web приложение (Unmanaged Web Application) (Internet Information Services)

  7. Среда выполнения ASP NET (Runtime ASP NET)

  8. Библиотека классовClassLibrary

  9. Библиотека объектов пользователя CustomobjectsLibrary

Для работы 5. ОС (1.) запускает неуправляемое приложение (6.) кот в свою очередь запускает среду выполнения, под управлением которой выполняется управляемый код webприложений

В отличие от других сред разработки CLR не интерпретирует код и не выполняет его внутри виртуальной машины, в данной технологи управляемый код для исполнения компилируется в машинный исполняемый код, в который встроены механизмы взаимодействия с CLR. Но такой код не является интерпретируемым.

3. Процедуры преобразования управляемого кода .Net

Для того что бы управляемый код прошел все ступени до запуска под управлением CLRнеобходимо выполнить следующие 4 шага

  1. выбор компилятора

  2. трансляция исходного кода в промежуточный

    1. исходный код транслируется в промежуточный платформенно-независимый код на языкеMSI(CIL) код на этом языке содержит команда загрузки и инициализации объектов, вызова методов, инструкции арифметических и логических операций, инструкции по выполнению кода программы, обработки исключительных ситуацій и другие необходимые команда на промежуточном языке.

    2. В этот файл на языке MSIвключаются метаданные которые создаются на этом этапе. Они несут в себе информацию о том, какие типы определены в данном модуле о сигнатурах методов, зависимостях, и другую информацию, которая используетсяCLRдля управления кодом. Присутствие метаданных дает возможность коду идентифицировать себя, что делает ненужным использование библиотек типов и использования языка IDL (InterfaceDefinitionLanguage)

  3. компиляция промежуточного кода в исполняемый машинный код

режимы такой компиляции:

    1. JITкомпиляция (Just-in-timeCompilation) компиляция по требованию, по мере обращения к тем или иным данным в коде происходит компиляция соответствующих фрагментов кода в машинный код, а затем этот код загружается и исполняется. После исполнения данного фрагмента кода код сохраняется в кэше и при повторном обращении происходит только извлечение кода их хранилища, а не компиляция.

    2. ITCJ(InstallTimeCodeGeneration) генерация кода во время установки. Тут происходит компиляция большого функционально связанного фрагмента кода целиком, называемого сборкой.

Во время компиляции промежуточного кода в исполняемый происходит верификация на соответствие кода назначенной политике безопасности проверка корректности доступа к памяти соответствие типов, соответвие сигнатуры вызовов методов их обьявлению

  1. загрузка и выполнение кода. Управляемый код использует службы предоставляемые CLRв число которых входят службы обеспечения безопасности взаимодействия с неуправляемым кодом, «сборщик мусора», служба автоматического управления памятью

Лекция №5 02.10.2012

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]