Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
c#_theoretical_1.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
1.07 Mб
Скачать

Загальна характеристика платформи .Net Framework

У 2002 році компанія Microsoft створила нову платформу розробки та виконання програм, яка одержала назву .NET Framework1. Це повністю об’єктно-орієнтована платформа, яка дозволяє використовувати вже наявні й створювати власні типи даних (в .NET під терміном “тип” розуміють: класи, структури, переліки та інші форми даних), забезпечує спільне використання різних мов програмування, безпеку та переносність програм. Ці та інші можливості платформи .NET Framework забезпечуються завдяки трьом ключовим складовим (компонентам): CLR, CTS та CLS.

Мал. 1. Структурна схема виконання .NET-додатку.

Єдине середовище виконання clr

До розробки платформи .NET додатки компілювались2 у команди конкретного процесора. Із використанням платформи .NET, усі створені додатки компілюються в команди спільної проміжної мови (байт-код або псевдокод , називаний Common Intermediate Language, скорочено CIL або MSIL3) і виконуються під керуванням CLR − основної ідеї (компоненту) технології .NET Framework. Це єдине середовище виконання (Common Language Runtime, звідси і скорочення CLR) для всіх додатків .NET, незалежно від мови, на якій вони написані, та програмно-апаратної платформи, на якій вони повинні виконуватися. У зв’язку із цим увесь код (програми, бібліотеки) був розділений на дві групи:

  • некерований (unmanaged) – який виконується під керуванням ОС (Windows);

  • керований (managed code) – виконуваний під керуванням CLR.

Для створення керованого коду можуть використовуватися будь-які .NET-cумісні мови (C#, VB.NET, MC++ і т.д.)

Основний механізм середовища CLR фізично має вигляд бібліотеки із назвою mscoree.dll та діє за наступним принципом (див. мал. 1).

Результатом компіляції програми на одній .NET-сумісних мов програмування, зокрема мови С#, є збірка (assembly) − програмна одиниця, що містить скомпільований код для .NET Framework. Кожна збірка крім MSIL-коду містить метадані (інструкції, які описують типи, визначені всередині збірки − класи, структури, інтерфейси, опис властивостей і методів). Крім цього у головному модулі збірки (такий буде у випадку, коли збірка складається із декількох керованих програмних одиниць) міститься інформація про всю збірку в цілому – версія, обмеження по безпеці, список зовнішніх збірок, необхідних для запуску даної і т.д. (цей розділ називається маніфестом). У такий спосіб кожне збірка описує саму себе.

Сама CLR складається із двох основних компонентів:

  • ядро (фізично це файл mscoree.dll)

  • бібліотека базових класів (mscorlib.dll) – містить уже готові до використання типи, що описують дуже широку предметну область. При запуску якого-небудь .NET-додатку в оперативну пам’ять автоматично завантажується, якщо воно не було завантажено до цього, ядро платформи. Після цього процес керування додатком повністю передається ядру. Ядро керує процесом завантаження збірки у пам’ять у відповідності до відомостей маніфесту, а також процесом завантаження інших збірок, необхідних для роботи даної.

Після того як збірка завантажена, починається виконання однієї з основних задач CLR − трансляція проміжного коду у платформо-залежний машинний код по мірі виконання програми. Це реалізується за допомогою JIT-компілятора (Just-in-time compilation, компіляція «на льоту», компіляція за вимогою). Процес трансляції коду відбувається в такий спосіб. При виконанні програми середовище CLR активізує JIT-компілятор, який транслює псевдокод MSIL у машинний код за вимогою для кожної частини програми. Відкомпільовані таким чином збірки завантажуються у кеш та при повторному зверненні будуть викликатися звідти, тобто повторна компіляція не потрібна.

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