Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

TMiYaP

.pdf
Скачиваний:
6
Добавлен:
01.06.2015
Размер:
508.85 Кб
Скачать

системными программами маршаллинга. Их работа заключается в установлении сетевых соединений, согласовании форматов и протоколов передачи данных Обмен, таким образом, реализуется «прозрачно» для обеих сторон.

«прозрачно»=незаметно

Технология .NET.Многоязыковая среда.

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

Общеязыковая среда исполнения. (CLR)

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

исполнения.Если возникнут обращения к этой же функции, компиляция не выполняется, а используется готовый процессорный код. С одной стороны, такой механизм требует дополнительного времени. Однако с другой стороны JITкомпилятор для конкретного процессора способен дать максимально эффективный код. Такой результат не возможен в случае использования компилятора любой среды программирования. Причина: ни один компилятор не учитывает особенности конкретных процессоров. Скорее наоборот: компилятор должен сгенерировать код, который гарантированно выполнится без учета особенностей процессора.

Язык ILявляется объектно-ориентированным типизированным языком. Это означает, что предусмотрен контроль типов данных и выполняемых над ними операций. Целый ряд опасных ситуаций могут выявляться исполняющей системой, которая анализирует код перед исполнением. Программы в этом случае аварийно завершаются выбросами исключений. Пользователь может блокировать такой контроль исполнения. Считается, что всю ответственность за последствия работы программы он берет на себя.

Механизмы обеспечения безопасности позволяют говорить об управляемых языках. Управляемость понимается, как получение безопасного кодана промежуточном языке IL. Управляемый с++ это модификация. В которой не допускается использование традиционных указатлей. Указатели считаются опасными.

Управляемая куча (сборка мусора)

gcnew new delete

Технология .NETу исполняющей системы использует процедуру сборки мусора. Сборка мусора – это выявление неиспользуемых объектов и освобождение занимающей ими памяти. Специальная процедура сборщик мусора фиксирует по ILкоду цепочки ссылок функций и переменных. С помощью цепочек удаляются целые группы причинно-связанных объектов. Все объекты размещаются в управляемой куче. Это специальная область программы, указатель на которую обозначается: ^ Всѐ, что выделяется с помощью оператора newc++ помещается в неуправляемую кучу, в которой не работает сборщик мусора. В неуправляемой куче возможны утечки памяти.

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