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

Microsoft DreamSpark

Бесплатные лицензионные инструменты разработки и дизайна для школьников, студентов, аспирантов и преподавателей.

Специальное предложение для студентов НОУ «ИНТУИТ».

 ...еще >>

План занятий

ЗанятиеЗаголовок <<Дата изучения
-
Лекция 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 часов
                                      -
                                      Анастасия Булинкова
                                      Анастасия Булинкова
                                      Рабочим названием платформы .NET было
                                      Администратор Администратор
                                      Администратор Администратор
                                      Россия, Москва, МГУ, 1986
                                      Анатолий Федоров
                                      Анатолий Федоров
                                      Россия, Москва, Московский государственный университет им. М. В. Ломоносова, 1989