Опубликована: 05.04.2011 | Уровень: для всех | Стоимость: 490.00 руб. | Длительность: 14 дней
Описаны основы архитектуры платформы .NET и промежуточный язык этой платформы - Common Intermediate Language (CIL). Подробно рассмотрен прием программирования, называемый динамической генерацией кода. Дано введение в многозадачность и описаны подходы к разработке параллельных приложений на базе платформы .NET. Адресовано всем изучающим вопросы создания метаинструментария и разработки компиляторов для различных операционных систем.
Курс посвящен системному программированию в .NET. В нем описана архитектура платформы .NET и промежуточный язык этой платформы - Common Intermediate Language (сокращенно CIL). Рассматривается также прием программирования, называемый динамической генерацией кода. В последних лекциях курса обсуждается параллельное программирование, рассматриваются механизмы многозадачности и создание приложений с параллельным выполнением операций, предоставляемых ядром операционной системы Windows. Обсуждается реализация параллельного выполнения кода в .NET, использование библиотечных средств платформы .NET для создания параллельных приложений. Для студентов и преподавателей университетов, а также для специалистов, повышающих свою квалификацию.

План занятий

ЗанятиеЗаголовок <<Дата изучения
-
Лекция 1
1 час 1 минута
Введение в архитектуру Microsoft .NET Framework
Обзор учебного курса. Предшественники платформы .NET, составные части платформы .NET, спецификация CLI. Роль типизации в языках программирования. Ядро и дополнительные элементы системы типов .NET.
Оглавление
    -
    Тест 1
    36 минут
    -
    Лекция 2
    33 минуты
    Виртуальная система выполнения. Автоматическое управление памятью
    Состояние виртуальной машины .NET. Состояние метода: стек вычислений, локальные переменные и параметры, область локальных данных. Автоматическое управление памятью, алгоритм сборки мусора.
    Оглавление
      -
      Тест 2
      36 минут
      -
      Лекция 3
      1 час 33 минуты
      Структура программных компонентов
      Управление памятью в Windows. Обзор структуры исполняемых файлов в формате Portable Executable (PE). Пример генерации PE-файла.
      Оглавление
        -
        Тест 3
        33 минуты
        -
        Лекция 4
        46 минут
        Формат метаданных. Взаимодействие программных компонентов
        Расположение метаданных и кода внутри сборки, структура метаданных, таблицы метаданных. Обзор компонентных технологий, взаимодействие компонентов в среде .NET, общая спецификация языков.
        Оглавление
          -
          Тест 4
          36 минут
          -
          Лекция 5
          1 час 17 минут
          Common Intermediate Language
          Поток инструкций языка CIL. Инструкции для загрузки и сохранения значений, арифметические инструкции, инструкции для организации передачи управления.
          Оглавление
            -
            Тест 5
            36 минут
            -
            Лекция 6
            34 минуты
            Язык CIL: инструкции для поддержки объектной модели
            Инструкции для работы с объектами и массивами. Инструкции для работы с типами-значениями и типизированными ссылками.
            Оглавление
              -
              Тест 6
              36 минут
              -
              Лекция 7
              47 минут
              Язык CIL: обработка исключений. Синтаксис ILASM
              Механизмы поддержки обработки исключений в .NET, семантика обработки исключений. Основные элементы лексики и синтаксиса ассемблера ILASM.
              Оглавление
                -
                Тест 7
                36 минут
                -
                Лекция 8
                39 минут
                Анализ кода на CIL
                Граф потока управления. Алгоритм преобразования линейной последовательности инструкций в граф потока управления.
                Оглавление
                  -
                  Тест 8
                  36 минут
                  -
                  Лекция 9
                  53 минуты
                  Верификация CIL-кода. Библиотеки для создания метаинструментов
                  Алгоритм верификации CIL-кода. Обзор и сравнение возможностей библиотек Metadata Unmanaged API и Reflection API.
                  Оглавление
                    -
                    Тест 9
                    36 минут
                    -
                    Лекция 10
                    53 минуты
                    Динамическая генерация кода
                    Введение в динамическую генерацию кода на примере численного интегрирования функции. Особенности генерации кода для стековой машины.
                    Оглавление
                      -
                      Тест 10
                      36 минут
                      -
                      Лекция 11
                      53 минуты
                      Основы многозадачности
                      Основные термины и понятия, необходимые для обсуждения параллельных вычислений; общие подходы к созданию многопроцессорных вычислительных установок и планирование потоков в операционных системах.
                      Оглавление
                        -
                        Тест 11
                        36 минут
                        -
                        Лекция 12
                        50 минут
                        Общие подходы к реализации приложений с параллельным выполнением операций
                        Асинхронный ввод-вывод и вызов процедур, создание потоков, планируемых ядром операционной системы или пользователем (волокна); вводятся понятия описателей идентификаторов процессов и потоков.
                        Оглавление
                          -
                          Тест 12
                          36 минут
                          -
                          Лекция 13
                          33 минуты
                          Разработка параллельных приложений для ОС Windows
                          Рассматривается порт завершения ввода-вывода как механизм эффективного управления пулом потоков; использование стандартного порта завершения ввода-вывода и обсуждается изоляция данных разных потоков и волокон.
                          Оглавление
                            -
                            Тест 13
                            36 минут
                            -
                            Лекция 14
                            55 минут
                            Взаимодействие процессов и потоков
                            Упорядоченный доступ к разделяемым данным, основные способы синхронизации и взаимной блокировки потоков. Создание процессов, базовые средства управления адресным пространством процессов и обмен данными между процессами с использованием разделяемой памяти.
                            Оглавление
                              -
                              Тест 14
                              36 минут
                              -
                              Лекция 15
                              59 минут
                              Параллельные операции в .NET
                              Основные классы .NET, применяемые для создания многопоточных приложений и их соответствие механизмам Windows.
                              Оглавление
                                -
                                Тест 15
                                36 минут
                                -
                                Дополнительный материал 1
                                27 минут
                                Приложение A
                                Оглавление
                                  -
                                  Дополнительный материал 2
                                  17 минут
                                  Приложение Б
                                  Оглавление
                                    -
                                    Дополнительный материал 3
                                    12 минут
                                    Приложение B
                                    Оглавление
                                      -
                                      5 часов
                                      -