Рабочим названием платформы .NET было |
Авторы: Андрей Макаров, Сергей Скоробогатов, Андрей Чеповский | Московский государственный технический университет им. Н.Э. Баумана
Форма обучения:
дистанционная
Стоимость самостоятельного обучения:
бесплатно
Доступ:
свободный
Документ об окончании:
Вам нравится? Нравится 110 студентам
Уровень:
Специалист
Длительность:
22:59:00
Студентов:
12464
Выпускников:
339
Качество курса:
4.54 | 3.83
Описаны основы архитектуры платформы .NET и промежуточный язык этой платформы - Common Intermediate Language (CIL). Подробно рассмотрен прием программирования, называемый динамической генерацией кода. Дано введение в многозадачность и описаны подходы к разработке параллельных приложений на базе платформы .NET.
Адресовано всем изучающим вопросы создания метаинструментария и разработки компиляторов для различных операционных систем.
Курс посвящен системному программированию в .NET.
В нем описана архитектура платформы .NET и промежуточный язык этой платформы - Common Intermediate Language (сокращенно CIL).
Рассматривается также прием программирования, называемый динамической генерацией кода. В последних лекциях курса обсуждается параллельное программирование, рассматриваются механизмы многозадачности и создание приложений с параллельным выполнением операций, предоставляемых ядром операционной системы Windows. Обсуждается реализация параллельного выполнения кода в .NET, использование библиотечных средств платформы .NET для создания параллельных приложений.
Для студентов и преподавателей университетов, а также для специалистов, повышающих свою квалификацию.
Темы: Программирование
Специальности: Программист, Разработчик интернет-проектов
ISBN: 978-5-9556-0055-0
Теги: .net, assembler, java, JIT, MAL, metadata, OVF, RVA, TLS, алгоритмы, безопасность, библиотеки, защищенная область, интерфейсы, критическая секция, операционные системы, потоки, приложения, процедуры, процессоры, тело метода, токен, форматы, элементы, ядро
Предварительные курсы
Дополнительные курсы
План занятий
Занятие
Заголовок <<
Дата изучения
Лекция 1
1 час 1 минута
Введение в архитектуру Microsoft .NET Framework
Обзор учебного курса. Предшественники платформы .NET, составные части платформы .NET, спецификация CLI. Роль типизации в языках программирования. Ядро и дополнительные элементы системы типов .NET.
Оглавление
-
Лекция 2
33 минуты
Виртуальная система выполнения. Автоматическое управление памятью
Состояние виртуальной машины .NET. Состояние метода: стек вычислений, локальные переменные и параметры, область локальных данных. Автоматическое управление памятью, алгоритм сборки мусора.
Оглавление
-
Лекция 3
1 час 33 минуты
Структура программных компонентов
Управление памятью в Windows. Обзор структуры исполняемых файлов в формате Portable Executable (PE). Пример генерации PE-файла.
Оглавление
-
Лекция 4
46 минут
Формат метаданных. Взаимодействие программных компонентов
Расположение метаданных и кода внутри сборки, структура метаданных, таблицы метаданных. Обзор компонентных технологий, взаимодействие компонентов в среде .NET, общая спецификация языков.
Оглавление
-
Лекция 5
1 час 17 минут
Common Intermediate Language
Поток инструкций языка CIL. Инструкции для загрузки и сохранения значений, арифметические инструкции, инструкции для организации передачи управления.
Оглавление
-
Лекция 6
34 минуты
Язык CIL: инструкции для поддержки объектной модели
Инструкции для работы с объектами и массивами. Инструкции для работы с типами-значениями и типизированными ссылками.
Оглавление
-
Лекция 7
47 минут
Язык CIL: обработка исключений. Синтаксис ILASM
Механизмы поддержки обработки исключений в .NET, семантика обработки исключений. Основные элементы лексики и синтаксиса ассемблера ILASM.
Оглавление
-
Лекция 8
39 минут
Анализ кода на CIL
Граф потока управления. Алгоритм преобразования линейной последовательности инструкций в граф потока управления.
Оглавление
-
Лекция 9
53 минуты
Верификация CIL-кода. Библиотеки для создания метаинструментов
Алгоритм верификации CIL-кода. Обзор и сравнение возможностей библиотек Metadata Unmanaged API и Reflection API.
Оглавление
-
Лекция 10
53 минуты
Динамическая генерация кода
Введение в динамическую генерацию кода на примере численного интегрирования функции. Особенности генерации кода для стековой машины.
Оглавление
-
Лекция 11
53 минуты
Основы многозадачности
Основные термины и понятия, необходимые для обсуждения параллельных вычислений; общие подходы к созданию многопроцессорных вычислительных установок и планирование потоков в операционных системах.
Оглавление
-
Лекция 12
50 минут
Общие подходы к реализации приложений с параллельным выполнением операций
Асинхронный ввод-вывод и вызов процедур, создание потоков, планируемых ядром операционной системы или пользователем (волокна); вводятся понятия описателей идентификаторов процессов и потоков.
Оглавление
-
Лекция 13
33 минуты
Разработка параллельных приложений для ОС Windows
Рассматривается порт завершения ввода-вывода как механизм эффективного управления пулом потоков; использование стандартного порта завершения ввода-вывода и обсуждается изоляция данных разных потоков и волокон.
Оглавление
-
Лекция 14
55 минут
Взаимодействие процессов и потоков
Упорядоченный доступ к разделяемым данным, основные способы синхронизации и взаимной блокировки потоков. Создание процессов, базовые средства управления адресным пространством процессов и обмен данными между процессами с использованием разделяемой памяти.
Оглавление
-
Лекция 15
59 минут
Параллельные операции в .NET
Основные классы .NET, применяемые для создания многопоточных приложений и их соответствие механизмам Windows.
Оглавление
-