Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 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; просмотров: 487; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.176 (0.006 с.) |