.RU

Три вопроса о .NET - Учебное пособие для студентов специальности 051312 по дисциплине «Высокоуровневые методы инорматики...


^ Три вопроса о .NET

Начнем с определения платформы .NET , а затем обратимся к общему описанию архитектуры .NET Framework и деталям ее реализации.



Рис. 1. Архитектура .NET Framework


Дадим следующее определение платформы .NET: Платформа .NET— это совокупность программных средств, обеспечивающих разработку приложений на основе промежуточного кода и их выполнение в специализированной операционной среде .NET Framework.


Теперь поставим три вопроса:

  1. Что такое .NET

  2. Необходимость создания новой технологии

  3. Как она работает в целом.



^ Что такое .NET

Платформа .NET — это совокупность всех средств разработки, распространения и выполнения приложений .NET, включая операционные системы, серверы, сервисы, стандарты, спецификации и документацию.

В состав платформы входят следующие программные средства.

В первую очередь это средства разработки приложений. Microsoft специально для этого выпустила Visual Studio .NET. Также можно применять любое средств разработки, разработанное другими фирмами, в частности, Borland.

Созданные приложения выполняются при помощи операционной среды .NET Framework (рассмотрим ниже) — и это второй элемент платформы. Специально для нужд .NET разработано семейство серверных операционных систем Windows .NET Server 2003, также новейшая операционная система Windows Vista. И наконец, расширяемый набор служб .NET Building Block Services объединяет службы со стандартными функциями, используемыми приложениями.



^ Зачем нужен .NET

Для примера рассмотрим проект сложного распределенного приложения, включающего клиентские приложения с Web- и Windows-интерфейсом, разнообразные службы, серверы баз данных и т. д. Полный цикл создания подобных приложений— процесс трудоемкий и непростой. Составные части такого приложения очень часто разрабатываются при помощи различных языков программирования и инструментариев. Различаются и подходы к разработке уровней приложения. Поэтому здесь всегда существовали трудности интеграции составных частей, проблемы с управляемостью кода и его верификацией, недоразумения с контролем версий и т. д.

Платформа .NET позволяет упростить процесс и повысить эффективность разработки распределенных приложений. Приведем несколько примеров:



^ Как работает технология .NET

Теперь посмотрим в общих чертах, как работает технология .NET, за счет чего, каких новшеств достигаются все заявленные преимущества и новые возможности.



Рис. 2. Схема работы .NET Framework


Сначала разработчик выбирает среду разработки, компилятор которой обеспечивает создание промежуточного кода на языке MSIL. При помощи инструментов Microsoft разработчик может работать с языками С#, C++, Visual Basic. Помимо этого еще около 20 независимых компаний анонсировали собственные продукты или планы их разработки.

Итак, разработчик выбрал инструментарий, разработал некое приложение и откомпилировал его. В результате получается код приложения на промежуточном языке MSIL, который не интерпретируется в машинные команды. Поэтому приложение .NET получается независимым от конкретных реализаций операционной системы и аппаратной платформы.

Готовое приложение .NET состоит из сборок. Сборка — это один или несколько файлов, в которых помимо собственно кода MSIL приложения также включены метаданные — разнообразная служебная информация о самом приложении. В результате отпадает необходимость в регистрации приложения в системном реестре, подобно приложениям СОМ, ведь вся необходимая информация доступна вместе с приложением. Сюда же, к примеру, можно добавить сведения о версии приложения и т. д.

Готовое приложение должно выполняться на компьютере, на котором установлена операционная среда .NET Framework. Код приложения взаимодействует только с операционной средой, абстрагируясь от уровня операционной системы. Все упоминаемые в дальнейшем инструменты и механизмы являются ее составными частями.

При запуске приложения в дело вступает среда выполнения приложения Common Language Runtime, которая при помощи загрузчика загружает сборки приложения и обеспечивает его выполнение. Но для этого необходимо преобразовать код MSIL в машинные команды процессора.

Описанный механизм далеко не нов и неоднократно использовался в более ранних технологиях. К примеру, ранние версии Visual Basic генерировали интерпретируемый или Р-код, или байт-код (разные наименования одной сущности), который затем преобразовывался в машинные команды специальным интерпретатором. Виртуальные машины Java также реализуют подобный подход и берут на себя исполнение Java-кода. Безусловный и принципиальный недостаток подобных решений — дополнительные затраты вычислительных ресурсов на преобразование кода и в этом смысле обычные исполняемые двоичные ЕХЕ-файлы эффективнее. Безусловные преимущества такого подхода — абстрагирование кода приложения от реализации функций операционной системы и возможность реализовать "интеллектуальное выполнение" кода, управляя интерпретируемым кодом.

Разработчики .NET постарались решить проблему эффективности интерпретируемого кода. Для этого в составе .NET Framework имеется Just In Time (JIT) компилятор, который выполняет преобразование кода MSIL в машинные команды по мере вызова подпрограмм. Как только в коде встречается вызов подпрограммы, загрузчик CLR находит и загружает необходимый фрагмент кода в компилятор JIT. В результате ненужная в данный момент часть кода приложения может быть вообще не откомпилирована. Откомпилированный в ходе одного сеанса выполнения приложения код можно использовать многократно, CLR позаботится о том, чтобы сохранить его на протяжении сеанса работы с приложением. Кроме этого, CLR может хранить однажды откомпилированный код подпрограмм на жестком диске и вызывать его при повторных обращениях к приложению.

На выходе компилятора создается так называемый управляемый код, который затем исполняется в среде CLR. Код называется управляемым, т. к. он содержит метаданные, позволяющие CLR, кроме очевидной функции управлением компиляцией, выполнять и многие другие операции, к которым относятся проверка безопасности, проверка прав, контроль версий, сборка мусора и т. д. Напомним, что все это делается с помощью метаданных, содержащихся в сборке приложения .NET.

Таким образом, разработка приложений .NET выполняется в специализированных средах, а выполнение подразумевает использование операционной среды .NET Framework. Новизна архитектуры .NET базируется на "трех технологических китах":



^ Сборки, метаданные и промежуточный код
Согласно рассмотренной схеме разработки и выполнения приложений .NET, компиляторы исходных языков программирования, используемых разработчиками, компилируют приложение не в машинный код для конкретной операционной системы и процессора, а в промежуточный код на языке MSIL. Полученный таким образом исполняемый файл, помимо собственно кода приложения, содержит и метаданные — служебную информацию о приложении. Такие исполняемые файлы называются сборками и являются аналогами файлов EXE и DLL для обычных приложений. Затем при выполнении приложения сборка загружается операционной средой .NET Framework и уже там компилируется в машинный код. Такая схема выполнения приложения в архитектуре .NET дает существенные преимущества:


Но, конечно, у такого подхода есть и недостатки. Разработчики Microsoft, разумеется, знали об этом и постарались ликвидировать или минимизировать большинство проблем. Наиболее очевидные из них:




tehnika-voobrazheniya-psihofizicheskaya-problema-10.html
tehnikali-bajaudi-haliarali-sertifikatin-beru-memlekettk-krsetletn-izmet-standarti.html
tehnikali-tapsirma-ultradibisti-diagnostikali.html
tehnikali-zhne-ksptk-blm-beru-mamanditari-bojinsha-lglk-ou-zhosparlari-men-lglk-blm-beretn-ou-badarlamalarin-bektu-turali.html
tehnikali-zhne-ksptk-orta-blmnen-kejng-blm-beretn-jimdara-zhattar-abildau-memlekettk-krsetletn-izmet-standarti.html
tehnikatehnicheskie-nauki-matematika.html
  • lesson.bystrickaya.ru/tema-1-arifmeticheskij-sposob-resheniya-obrazovatelnie-programmi-teoriya-i-metodika-nachalnogo-obshego-obrazovaniya.html
  • learn.bystrickaya.ru/glava-23-vo-vlasti-otliva-starij-morskoj-volk-v-traktire-admiral-benbou.html
  • paragraf.bystrickaya.ru/zakonodatelnaya-baza-rossijskoj-reklami-stranica-11.html
  • uchenik.bystrickaya.ru/gumanizaciya-otnoshenij-mladshih-shkolnikov-chast-3.html
  • testyi.bystrickaya.ru/analiz-riskov-vliyayushih-na-reshenie-takticheskih-zadach-i-dostizhenie-strategicheskih-celej.html
  • knigi.bystrickaya.ru/sobornie-slushaniya-vera-i-znanie-nauka-i-tehnika-na-rubezhe-stoletij.html
  • abstract.bystrickaya.ru/17germanskij-standart-bsi-petrenko-s-a-simonov-s-v.html
  • doklad.bystrickaya.ru/vliyanie-internet-na-razvitie-sovremennogo-obshestva.html
  • studies.bystrickaya.ru/boris-semenovich-yakobi-chast-2.html
  • tetrad.bystrickaya.ru/uchebnoj-i-uchebno-metodicheskoj-literaturi-rekomenduemoj-dlya-izucheniya-disciplin-stranica-2.html
  • abstract.bystrickaya.ru/-4-kratkosrochnie-programmi-vospitaniya-metodicheskoe-posobie-moskva-2003-cvetkova-i-v-kak-sostavit-i-uspeshno.html
  • reading.bystrickaya.ru/literatura-kursi-dlya-sistemi-srednego-professionalnogo-obrazovaniya-po-aktualnim-problemam-svyazannim-s-izmeneniyami.html
  • literature.bystrickaya.ru/doklad-gbou-brgi-3-tema-nad-kotoroj-rabotaet-uchrezhdenie-stranica-2.html
  • grade.bystrickaya.ru/oboznachim-uporyadochennuyu-posledovatelnost-iz.html
  • obrazovanie.bystrickaya.ru/press-reliz-koncerta-tvorcheskih-kollektivov-gruzinskoj-i-armyanskoj-diaspor-ritmi-kavkaza.html
  • literature.bystrickaya.ru/dopusheno-k-zashite-v-gak-nachalnik-kafedri-ugolovnogo-processa-k-yu-n-docent-2007-g-vipusknaya-kvalifikacionnaya-rabota-polnomochiya-suda-na-dosudebnih-stadiyah-ugolovnogo-processa-stranica-5.html
  • education.bystrickaya.ru/2kontrol-za-prohozhdeniem-programmnogo-materiala-i-stepenyu-obuchennosti.html
  • books.bystrickaya.ru/dlya-rukovoditelej-fgou-grafik-provedeniya-obektovih-trenirovok-v-obrazovatelnih-uchrezhdeniyah-moskovskoj-oblasti-v-period-s-1-po-28-fevralya-2012-goda-stranica-2.html
  • shpora.bystrickaya.ru/zagadki-velikogo-okeana-stranica-9.html
  • shpora.bystrickaya.ru/zakon-o-nagradah-i-pooshreniyah-v-respublike-komi.html
  • ucheba.bystrickaya.ru/poyasnitelnaya-zapiska-razdel-otoplenie-ventilyaciya-i-kondicionirovanie-73-40-01-11-ov-pz-direktor-morozov-m-g-gip-borisov-a-v.html
  • kolledzh.bystrickaya.ru/63-raschet-tokov-korotkogo-zamikaniya-diplomnij-proekt-studenta-gr-er-98-rodchenko-t-a-na-temu-proektirovanie.html
  • ucheba.bystrickaya.ru/pravila-vnutrennego-rasporyadka-dlya-obuchayushihsya-vospitannikov-s-ogranichennimi.html
  • student.bystrickaya.ru/35-obsluzhivanie-vspomogatelnih-mehanizmov-i-uhod-za-oborudovaniem-1-naznachenie-i-oblast-primeneniya-4.html
  • turn.bystrickaya.ru/po-dannim-koordinacionnogo-centra-domena-ru-hotya-bi-raz-v-mesyac-operatori-svyazi-dolozhili-o-gotovnosti-k-shtormovim.html
  • nauka.bystrickaya.ru/v-s-bezrukova-osnovi-duhovnoj-kulturi-stranica-9.html
  • lecture.bystrickaya.ru/6-gosudarstvennij-nadzor-reshenie-idti-na-risk.html
  • predmet.bystrickaya.ru/sistema-standartov-bezopasnosti-truda-stranica-4.html
  • klass.bystrickaya.ru/6-pravovoe-regulirovanie-razvitie-grazhdanskoj-morskoj-tehniki.html
  • essay.bystrickaya.ru/chempionat-rossii-po-gornolizhnomu-sportu-2012.html
  • control.bystrickaya.ru/druzya-ne-nado-etih-zvukov-stranica-17.html
  • uchenik.bystrickaya.ru/36-inie-prakticheskie-rekomendacii-sovershenstvovaniya-sistemi-obespecheniya-bezopasnosti-dorozhnogo-dvizheniya.html
  • exchangerate.bystrickaya.ru/logicheskij-tip-dannih-operacii-sravneniya.html
  • student.bystrickaya.ru/28-netradicionnie-sredstva-ozdorovleniya-uchebnoe-posobie-izdatelstvo-tpu-tomsk-2006.html
  • exchangerate.bystrickaya.ru/5-kachestvo-podgotovki-specialistov-otchet-po-rezultatam-samoobsledovaniya-fakulteta-sociologii-po-napravleniyu.html
  • © bystrickaya.ru
    Мобильный рефератник - для мобильных людей.