Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 2 - Симон Робертс и др.docx
Скачиваний:
7
Добавлен:
19.11.2019
Размер:
1.65 Mб
Скачать

Часть 3. Основные определения и термины, связанные с .Net

  • Среда исполнения .NET (.NET runtime), также известная как общая среда исполнения или CLR, - это набор служб, управляющих кодом. Её тоже можно рассматривать как код, который обеспечивает загрузку программы, ее выполнение и предоставление всех необходимых служб.

  • Управляемый код (managed code). Любой код, который разработан для исполнения в .NET, называется управляемым. Неуправляемый код (unmanaged code) – приложения, напрямую взаимодействующие с Windows и Windows API.

  • Промежуточный язык (IL). При компиляции управляемого кода компилятор генерирует код па промежуточном языке (IL), a CLR выполняет заключительную стадию компиляции непосредственно перед исполнением кода. Язык IL разработан таким образом, чтобы обеспечить быструю ком­пиляцию в машинный код, но в то же время он поддерживает все особенности .NET. Таким образом, IL – это промежуточный язык, в который транслируется код перед загрузкой и запуском в среде средой исполнения .NET.

  • Общая система типов (Common Type System, CTS). Для обеспечения совместимости языков необходимо иметь согласованный набор основных типов данных, чтобы все языки могли быть стандартизированы. Этим целям и служит CTS (Common Type System). Кроме того, CTS предоставляет правила для определения пользовательских классов.

  • Базовые классы .NET. Это обширная библиотека классов, которая содержит коды для выполнения большого числа задач в Windows, начиная от отображения окон и форм и заканчивая базовыми службами Windows, чтением и записью в файлы, доступом к сети и интернету и доступом к источникам данных.

  • Сборка. Это модуль, в котором хранится откомпилированный управляемый код. Она похожа на классический исполняемый файл или DLL, но имеет важное свойство - она полностью сама себя описывает. Сборка содержит метаданные, которые включают в себя сведения о сборке и обо всех определенных внутри нее типах, методах и т.п. Сборка может быть частной (доступной только одному приложению) и разделяемой (доступной любому приложению Windows).

  • Кэш сборок. Место на диске, где хранятся разделяемые сборки.

  • Общая спецификация языка (Common Language Specification, CLS). Это минимальный набор стандартов, который гарантирует, что доступ к коду может быть осуществлен из любого языка. Все компиляторы, предназначенные для .NET, должны поддерживать CLS.

CLS формирует подмножество функций, доступных в .NET и IL. Если в сборке присутствуют какие-либо не CLS особенности, они могут быть недоступны в некоторых языках.

  • Отражение. То, что сборки полностью описывают сами себя, открывает теоретиче­скую возможность программного доступа к метаданным сборки. На самом деле существует несколько базовых классов, которые разработаны с этой целью. Технология такого доступа известна как отражение (возможно, из-за того интригующего факта, что программа может использовать эту технологию для доступа к собственным метаданным).

  • Компиляция Just-In-Time (JIT). Этот термин обозначает процесс выполнения заключительной стадии компиляции с промежуточного языка в машинный код. Название определяется тем, что части кода компилируются по мере необходимости.

  • Манифест. Область сборка, содержащая только метаданные.

  • Область приложения. Это способ, с помощью которого CLR позволяет различ­ным программам исполняться в одном и том же пространстве процессов. Изоля­ция модулей кода достигается путем использования безопасности типов IL для проверки того, что каждый сегмент кода ведет себя правильно.

  • Сборка мусора. CLR применяет этот способ для очистки памяти, которая больше не требуется приложению. Таким образом, приложение не несет ответственно­сти за освобождение памяти.