Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Загально мовне середовище виконання – CLR – динамічна складова MS.NET Framework
Базовий рівень підсистеми MS.NET Framework складає загальномовне середовище виконання (Common Language Runtime або CLR). В Windows XP його код міститься в mscorlib.dll. Це головна бібліотека.NET CLR. Середовище виконання CLR реалізує управління пам'яттю, типами даних, міжмовною взаємодією, розгортанням (deployment) застосувань. Середовище CLR активізує виконуваний код, виконує для нього перевірку безпеки, розташовує цей код в пам'яті і виконує його. Важливою частиною роботи середовища CLR є управління пам'яттю, а саме автоматичне вивільнення пам'яті, що звільняється при роботі програм (збірка сміття). Для забезпечення можливості багатомовної розробки програмний код, після компіляції на одній з алгоритмічних мов платформи MS.Net, представляється на спеціально розробленій спільній проміжній мові (Common Intermediate Language або CIL). Ця мова, з одного боку, достатньо близька до машинно-залежних мов – асемблерів, з іншого боку, CIL забезпечує вищий рівень представлення різних комп'ютерних платформ. Як результат, програма на мові CIL залишається платформо-незалежною, проте вимагає деякої додаткової настройки (компіляції) перед початком свого виконання. В ході компіляції програма на.NET-сумісній мові програмування трансформується відповідно до наперед заданої узагальненої специфікації типів Common Type System (CTS). Система типів CTS повністю описує всі типи даних, які підтримуються середовищем виконання, визначає їх взаємозв'язки і зберігає їх відображення в систему типів.NET.
Програмні файли на мові CIL, одержувані після компіляції програм на алгоритмічних мовах платформи MS.Net, називаються збірками (assembly), інше їх найменування - переносимі виконувані файли (Portable Executable або PE). Збірки є файлами з розширеннями exe або dll і складаються з безпосередньо програмного коду на мові CIL і додаткових службових даних, які називаються метаданими (у складі метаданих необхідна інформація про збірку – відомості про типи, дані про версію, посилання на зовнішні збірки і т.п.). Збірки перед своїм виконанням повинні пройти певну настройку для роботи в умовах конкретної вибраної платформи – для виконання таких настройок у складі середовища CLR є ряд JIT-компіляторів (Just-Іn-Time compilers), що викликаються для перекладу програмного коду на проміжній мові (CIL-кода) в машинний (native) код платформи виконання.
Таким чином, має місце 2-етапна компіляція модулів: 1. На першому етапі створюється незалежний від платформи PE-файл (керований модуль). Цей файл містить код на проміжній мові MSIL (Microsoft Intermediate Language) і метадані, які містять всю необхідну інформацію про програму для її подальшого використання. 2. На другому етапі за допомогою JIT (Just In Time Compiler) виконується компіляція і верифікація модулів, формування збірок для конкретної платформи та їх виконання. Система типів даних в Microsoft.NET Cистема типів Microsoft.NET утворює ієрархію із зростанням спільності знизу вгору, в якій явно виділяються дві великі групи типів, а саме, типи-значення ( value type) і типи-посилання ( reference type). Ця система типів спільна для всіх мов, які підтримуються в.NET. Існує також механізм відображення типів з CTS (Common Type System) на типи конкретних мов і навпаки. Типи даних також об’єднуються в простори імен (namespace).
Рис. 5.1. Структура системи типів Microsoft.NET Типи-значення є статичними типами, пам’ять для них виділяється у стеку і вивільняється після завершення роботи програми. Типи-значення не беруть участь в наслідуванні. Крім того, типи-значення копіюються при привласненні значення. Посилкові типи потребують використовування покажчиків на об’єкти, що типізуються, а також централізованого зберігання і вивільнення пам'яті. Отже, об’єкти цього типу є динамічними, пам’ять під них виділяється з «кучі» і вивільняється після знищення об’єкти («збірка сміття»). Посилкові типи можуть приймати одну з трьох форм: 1) об'єктні типи (object type); 2) інтерфейсні типи (interface type); 3) типи-покажчики (pointer type). Управління типами в CTS • Типи можуть використовуватися після ініціалізації (з урахуванням методу виклику, властивостей get і set і т.д.). • Над типами можуть виконуватися перетворення (як явним, так і неявним чином).
|
|||||
Последнее изменение этой страницы: 2017-02-21; просмотров: 354; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.139.78.149 (0.004 с.) |