CLR via C#. Быстрый взгляд

Термины

  • CLR - Common Language Runtime, общеязыковая среда выполнения
  • IL - Intermediate Language,ассемблер
  • DEP - Data Execution Prevention,предотвращение выполнения данных
  • ASLR - Address Space Layout Optimization
  • WoW64 - Windows on Windows64
  • JITCompiler - Just-In-Time compiler

Глава 1. Модель выполнения кода в среде CLR

  • Фактически во время выполнения программы в среде CLR неизвестно, на каком языке программирования разработчик написал исходный код.
  • Вне зависимости типа используемого компилятора результатом будет являться управляемый модуль (managed module) -> (IL и метаданные).
  • Среда CLR работает не с модулями, а со сборками (assembly).
  • Сборка - это способ объединения группы файлов в единую сущность.
  • В Сборку включается сбор данных, называемых манифестом. Обычный набор таблиц метаданных.
  • Сборка позволяет разделять логическое и физическое представления компонента, поддерживающего многократное использование, безопасность и управление версиями.
  • Для выполнения какого-либо метода его IL-код должен быть преобразован в машинные команды. Этим занимается JITCompiler среды CLR.
  • CLR выделяет
  • JITCompiler хранит машинные команды в динамической памяти. Это значит, что скомпилированный код уничтожается по завершении работы приложения.