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

План занятий

Занятие
Заголовок <<
Дата изучения
Лекция 1
1 час 1 минута
Введение в архитектуру Microsoft .NET Framework
Обзор учебного курса. Предшественники платформы .NET, составные части платформы .NET, спецификация CLI. Роль типизации в языках программирования. Ядро и дополнительные элементы системы типов .NET.
Оглавление
    -
    Лекция 2
    33 минуты
    Виртуальная система выполнения. Автоматическое управление памятью
    Состояние виртуальной машины .NET. Состояние метода: стек вычислений, локальные переменные и параметры, область локальных данных. Автоматическое управление памятью, алгоритм сборки мусора.
    Оглавление
      -
      Лекция 3
      1 час 33 минуты
      Структура программных компонентов
      Управление памятью в Windows. Обзор структуры исполняемых файлов в формате Portable Executable (PE). Пример генерации PE-файла.
      Оглавление
        -
        Тест 3
        33 минуты
        -
        Лекция 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.
                              Оглавление
                                -
                                1 час 40 минут
                                -
                                Анастасия Булинкова
                                Анастасия Булинкова
                                Рабочим названием платформы .NET было
                                Администратор Администратор
                                Администратор Администратор
                                Россия, Москва, МГУ, 1986
                                Анатолий Федоров
                                Анатолий Федоров
                                Россия, Москва, Московский государственный университет им. М. В. Ломоносова, 1989