.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
  • thesis.bystrickaya.ru/poznavatelnij-realizm-stefan-svezhavski.html
  • uchitel.bystrickaya.ru/psihologiya-byulleten-novih-postuplenij-2008-god.html
  • thesis.bystrickaya.ru/pozvolte-ot-imeni-komiteta-gosudarstvennoj-dumi-po-promishlennosti-stroitelstvu-i-naukoemkim-tehnologiyam-privetstvovat-vas-na-etom-znachimom-i-vazhnom-sobitii-stranica-4.html
  • pisat.bystrickaya.ru/traktoristi-ii-aleksandr-fedorov.html
  • literatura.bystrickaya.ru/scenarij-koncerta.html
  • laboratory.bystrickaya.ru/vidi-reshenij-prinimaemih-sudom-nadzornoj-instancii-puti-obzhalovaniya-reshenij.html
  • letter.bystrickaya.ru/milana-shtejnberg-s-papoj-zhestoko-raspravilis-iz-za-ego-raboti-pervij-kanal-novosti-12-10-2005-neroznak.html
  • tetrad.bystrickaya.ru/variant-2-primernaya-programma-po-fizike-na-profilnom-urovne-sostavlena-na-osnove-federalnogo-komponenta-gosudarstvennogo.html
  • lektsiya.bystrickaya.ru/prilozhenie-k-buhgalterskomu-balansu-v-n-yashin-predsedatel-soveta-direktorov.html
  • doklad.bystrickaya.ru/vozmozhnosti-podklyucheniya-ipv6-rukovodstvo-po-ekspluatacii-directaccess-semejstvo-operacionnih-sistem-microsoft-windows.html
  • gramota.bystrickaya.ru/zashita-po-ugolovnomu-delu-lvova.html
  • kontrolnaya.bystrickaya.ru/rabochaya-programma-po-vneurochnoj-deyatelnosti-zanimatelnaya-himiya.html
  • znanie.bystrickaya.ru/a-e-abramov-professor-kafedri-fondovogo-rinka-i-rinka-investicij-gu-vshe.html
  • writing.bystrickaya.ru/klassicizm-v-zhivopisi.html
  • composition.bystrickaya.ru/plan-vospitatelnoj-raboti-shkoli-v-2015-2016-uchebnom-godu-klassnie-vospitatelnie-chasi.html
  • thesis.bystrickaya.ru/prikaz-19-01-2012-46-ob-organizacii-i-provedenii-municipalnoj-integrirovannoj-olimpiadi-dlya-obuchayushihsya-4-klassov.html
  • essay.bystrickaya.ru/erezhe-pnn-ou-dstemelk-keshen-turali.html
  • university.bystrickaya.ru/glava-2-kuchnee-sazhat-selskohozyajstvennuyu-produkciyu-priklyucheniya-shuri-holmova-i-feldshera-vacmana-bred-lunnoj-rosi.html
  • thescience.bystrickaya.ru/informacionnij-byulleten-190-aprel-2010-g.html
  • turn.bystrickaya.ru/otchet-po-vedomstvennoj-nauchnoj-programme-razvitie-nauchnogo-potenciala-visshej-shkoli-m-2005.html
  • klass.bystrickaya.ru/akusherstvo-ginekologiya-bibliograficheskij-ukazatel-novih-postuplenij-v-rnmb-yanvar-fevral-2007-g.html
  • college.bystrickaya.ru/313-nacionalnij-istoricheskij-arhiv-belarusiv-g-grodno-spravochnik-minsk.html
  • lecture.bystrickaya.ru/9-uslovnie-fakti-hozyajstvennoj-deyatelnosti-polozhenie-obshestva-v-otrasli-3-prioritetnie-napravleniya-deyatelnosti-obshestva-4.html
  • bukva.bystrickaya.ru/sto-velikih-kompozitorov-stranica-9.html
  • zanyatie.bystrickaya.ru/sovremennoe-sostoyanie-predprinimatelstva-v-rf.html
  • uchitel.bystrickaya.ru/razdel-ii-socialnoe-partnerstvo-v-sfere-truda-n-n-gricenko-predsedatel.html
  • laboratornaya.bystrickaya.ru/promishlennoe-primenenie-lazerov.html
  • ekzamen.bystrickaya.ru/referatov-rgr-po-discipline-razrabotka-prilozhenij-v-srede-oracle.html
  • composition.bystrickaya.ru/plan-ugrozi-v-seti-1-uyazvimie-mesta-setevih-resursov-podklyuchennih-k-seti-internet-1.html
  • laboratornaya.bystrickaya.ru/rabochaya-programma-disciplina-uchyot-i-analiz-bankrotstv-specialnost-080109-buhgalterskij-uchyot-analiz-i-audit.html
  • education.bystrickaya.ru/12kompleksnaya-ocenka-territorii-generalnij-plan-gorodskogo-okruga-sovremennoe-sostoyanie-territorii.html
  • lecture.bystrickaya.ru/52-mimika-referat-neverbalnie-elementi-v-obshenii-27-stranic.html
  • upbringing.bystrickaya.ru/kurs-lekcij-ekspertnie-sistemi-dlya-studentov-zaochnogo-obucheniya-yuridicheskogo-fakulteta-kgu.html
  • znanie.bystrickaya.ru/a-k-platonov-a-a-kirilchenko-m-a-kolganov.html
  • writing.bystrickaya.ru/goncharov-i-a-hudozhestvennoe-svoeobrazie-romana-goncharova-oblomov.html
  • © bystrickaya.ru
    Мобильный рефератник - для мобильных людей.