Авторы: Андрей Макаров, Сергей Скоробогатов, Андрей Чеповский | Московский государственный технический университет им. Н.Э. Баумана
Форма обучения:
дистанционная
Стоимость самостоятельного обучения:
бесплатно
Стоимость обучения с персональным тьютором:
500 руб. [?]
Доступ:
свободный
Документ об окончании:
 
Уровень:
Специалист
Длительность:
22:59:00
Студентов:
11567
Выпускников:
255
Качество курса:
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
 

План занятий

Занятие
Заголовок <<
Дата изучения
Лекция 2
33 минуты
Виртуальная система выполнения. Автоматическое управление памятью
Состояние виртуальной машины .NET. Состояние метода: стек вычислений, локальные переменные и параметры, область локальных данных. Автоматическое управление памятью, алгоритм сборки мусора.
-
Лекция 3
1 час 33 минуты
Структура программных компонентов
Управление памятью в Windows. Обзор структуры исполняемых файлов в формате Portable Executable (PE). Пример генерации PE-файла.
-
Тест 3
33 минуты
-
Лекция 4
46 минут
Формат метаданных. Взаимодействие программных компонентов
Расположение метаданных и кода внутри сборки, структура метаданных, таблицы метаданных. Обзор компонентных технологий, взаимодействие компонентов в среде .NET, общая спецификация языков.
-
Лекция 5
1 час 17 минут
-
Лекция 6
34 минуты
Язык CIL: инструкции для поддержки объектной модели
Инструкции для работы с объектами и массивами. Инструкции для работы с типами-значениями и типизированными ссылками.
-
Лекция 7
47 минут
Язык CIL: обработка исключений. Синтаксис ILASM
Механизмы поддержки обработки исключений в .NET, семантика обработки исключений. Основные элементы лексики и синтаксиса ассемблера ILASM.
-
Лекция 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.
-
1 час 40 минут
-
Анастасия Булинкова
Анастасия Булинкова
Рабочим названием платформы .NET было
Владимир Крюков
Владимир Крюков
Казахстан
Андрей Ларченко
Андрей Ларченко
Россия, Санкт-Петербург, ООО Скорпион-Плюс, системный администратор