Три вопроса о .NET - Учебное пособие для студентов специальности 051312 по дисциплине «Высокоуровневые методы инорматики...
.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
  • education.bystrickaya.ru/108--dpp08-gosudarstvennij-obrazovatelnij-standart-visshego-professionalnogo.html
  • lektsiya.bystrickaya.ru/programma-meropriyatiya-vklyuchaet-v-sebya-privetstvennij-lanch-a-takzhe-torzhestvennij-priem-po-okonchaniyu-konferencii-programma-konferencii.html
  • thesis.bystrickaya.ru/prilozhenie-7-metodika-obucheniya-podvizhnim-igram-3-igrovoj-i-sorevnovatelnij-metodi-obucheniya-12-igri-dlya-napravlennogo.html
  • writing.bystrickaya.ru/4-plani-zanyatij-v-ramkah-samostoyatelnoj-raboti-magistrantov-i-rekomenduemaya-literatura.html
  • studies.bystrickaya.ru/a-gadzhiev-pomoshnik-sudi-arbitrazhnogo-suda-moskovskoj-oblasti-ponyatie-i-pravovie-osnovaniya-realizacii-prava-apellyacionnogo-obzhalovaniya-resheniya-arbitrazhnogo-su.html
  • tasks.bystrickaya.ru/33-svodka-operatorov-zakonchennij-uchebnik-i-rukovodstvo-po-yaziku.html
  • holiday.bystrickaya.ru/obshestvo-bespokoit-sudba-pensij-kabinet-ministrov-rf-prinyal-antikrizisnij-plan-chto-bi-vi-posovetovali-rossijskaya.html
  • education.bystrickaya.ru/1-ponyatie-o-sisteme-nacionalnih-schetov.html
  • occupation.bystrickaya.ru/novosibirskaya-oblast-v-sovremennih-granicah-sushestvuet-s-1944-goda-territoriya-oblasti-zanimaet-chast-yugo-vostoka-zapadno-sibirskoj-nizmennosti-ploshad-territ.html
  • klass.bystrickaya.ru/42-plani-seminarskih-i-prakticheskih-zanyatij-dlya-studentov-ochno-zaochnoj-formi-obucheniya.html
  • pisat.bystrickaya.ru/stavropolskogo-kraya.html
  • literature.bystrickaya.ru/dohodi-naseleniya-i-potreblenie-kurs-rublya-k-dollaru-po-pps-16-1-17-9-18-9-19-8-20-8-21-8-vvp-po-pps-trln.html
  • shkola.bystrickaya.ru/proishozhdenie-struktura-i-funkcii-politiki.html
  • uchebnik.bystrickaya.ru/v-obektivnuyu-storonu-ch-2-st-146-uk-rf-vklyucheno-ponyatie-predvaritelnij-sgovor-oznachayushij-soglashenie-souchastnikov-o-vipolnenii-dejstvij-do-nachala-vipolneniya-deyaniya.html
  • write.bystrickaya.ru/glava-8-rashodi-na-niokr-nalogovij-uchet-dlya-buhgaltera-2007-n-7.html
  • spur.bystrickaya.ru/koncepciya-tyutorskogo-soprovozhdeniya-v-distancionnom-obrazovanii-shkolnikov-starshih-klassov-pedagogicheskie-tehnologii-metodi-i-formi-ispolzuemie-dlya-postroeniya-informacionno-obrazovatelnoj-internet-sredi.html
  • knowledge.bystrickaya.ru/metodicheskoe-posobie-po-perevodu-sokrashenij-i-virazhenij-chasto-vstrechayushihsya-v-aeronavigacionnih-dokumentah-pervoe-izdanie-stranica-80.html
  • holiday.bystrickaya.ru/novosti-negosudarstvennih-pensionnih-fondov-monitoring-smi-rf-po-pensionnoj-tematike-19-avgusta-2011-goda.html
  • college.bystrickaya.ru/3obem-disciplini--31-obem-disciplini-i-vidi-uchebnoj-raboti-uchebno-metodicheskij-kompleks-specialnost.html
  • essay.bystrickaya.ru/bolezn-i-zdorove-v-psihike-cheloveka-d-m-melihov.html
  • grade.bystrickaya.ru/nestor-stranica-15.html
  • kontrolnaya.bystrickaya.ru/rabochaya-programma-metodicheskie-ukazaniya-i-kontrolnie-zadaniya-dlya-studentov-3-kursa-tehnologicheskih-specialnostej-zaochnoj-polnoj-formi-obucheniya-moskva-2007.html
  • holiday.bystrickaya.ru/obshaya-harakteristika-klassa-metodicheskie-ukazaniya-dlya-studentov-prohodyashih-pedagogicheskuyu-praktiku.html
  • lecture.bystrickaya.ru/5-ot-21-avgusta-2009g-po-proektu-aktualizirovanogo-generalnogo-plana-goroda-moskvi-na-period-do-2025-goda-stranica-27.html
  • kanikulyi.bystrickaya.ru/znachenie-informacionnih-tehnologij-v-obrazovatelnom-processe-i-v-drobisheva-kandidat-pedagogicheskih-nauk-professor.html
  • turn.bystrickaya.ru/osnovnie-sredstva-i-materialno-proizvodstvennie-zapasi-uchet-po-pravilam-pbu-stranica-8.html
  • write.bystrickaya.ru/finansovij-menedzhment-v-strahovoj-organizacii.html
  • report.bystrickaya.ru/i-elektrohimicheskoj-obrabotki.html
  • assessments.bystrickaya.ru/cikl-pro-silnih-mira-sego-stranica-9.html
  • report.bystrickaya.ru/iv2-soizmerenie-rosta-realnih-dohodov-naseleniya-s-rostom-proizvoditelnosti-obshestvennogo-truda-v-masshtabe-soyuznoj-respubliki.html
  • desk.bystrickaya.ru/polozhenie-o-provedenii-festivalya-hudozhestvennogo-tvorchestva-storona-moya-rodnaya-posvyashennij-88-j-godovshine-troickogo-municipalnogo-rajona-sredi-tvorcheskih-kollektivov-obrazovatelnih-uchrezhdenij-i-obedinenij.html
  • testyi.bystrickaya.ru/ajhoe-uchenie-daosskih-voinov-uchenichestvo-aleksandra-medvedeva-pervogo-evropejca-posvyashennogo-v-drevnee-uchenie-besmertnih-moskva-sattva-1-997-stranica-5.html
  • learn.bystrickaya.ru/f-n-ivanov-g-siktivkar-reformi-provodivshiesya-v-rossii-v-pervoj-chetverti-xviii-stoletiya-privnesli-sushestvennie-izmeneniya-v-zhizn-strani-rezultatom-petrovskih-preobrazovanij-stalo-pereustrojstvo-i-zakonodatel.html
  • crib.bystrickaya.ru/informacionnij-byulleten-administracii-sankt-peterburga-14-715-25-aprelya-2011-g-stranica-15.html
  • doklad.bystrickaya.ru/v-narodi-vostochnoj-afriki-uchebno-metodicheskij-kompleks-po-etnologii-dlya-dnevnogo-otdeleniya-sostavitel.html
  • © bystrickaya.ru
    Мобильный рефератник - для мобильных людей.