Информация о книге

5955600558

Главная  » Электронные книги, аудиокниги » Common Intermediate Language и системное программирование в Microsoft.NET

Макаров А.М., Скоробогатов С.Ю., Чеповский А.М., Common Intermediate Language и системное программирование в Microsoft.NET


серия: Основы информатики и математики
Интернет-Университет Информационных Технологий, 2006 г., 328 стр., 5955600558


Описание книги

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

Ключевые слова

Поделиться ссылкой на книгу



Содержание книги

Глава 1. Введение в архитектуру Microsoft .NET Framework......11.1. Знакомство с .NET......11.1.1. Главные темы......11.1.2. Предшественники платформы .NET......31.1.3. Обзор архитектуры .NET......51.2. Общая система типов......91.2.1. Ядро системы типов .NET......111.2.2. Дополнительные элементы системы типов .NET......171.3. Виртуальная система выполнения......211.3.1. Состояние виртуальной машины......211.3.2. Состояние метода......231.4. Автоматическое управление памятью......281.4.1. Выделение памяти в управляемой куче......281.4.2. Алгоритм сборки мусора......291.4.3. Основные приемы повышения эффективности сборки мусора......30Глава 2. Структура программных компонентов......322.1. Формат исполняемых файлов......322.1.1. Управление памятью в Windows......342.1.2. Обзор структуры PE-файла......362.1.3. Заголовки......402.1.4. Особые секции PE-файла......492.1.5. Заголовок CLI......522.1.6. Пример генерации PE-файла......532.2. Формат метаданных......642.2.1. Расположение метаданных и кода внутри сборки......652.2.2. Структура метаданных......672.2.3. Таблицы метаданных......682.3. Взаимодействие программных компонентов......722.3.1. Обзор компонентных технологий......732.3.2. Взаимодействие компонентов в среде .NET......762.3.3. Общая спецификация языков......82Глава 3. Common Intermediate Language......833.1. Поток инструкций языка CIL......833.1.1. Формат потока инструкций......833.2. Язык CIL: инструкции общего назначения......883.2.1. Инструкции для загрузки и сохранения значений......883.2.2. Арифметические инструкции......913.2.3. Инструкции для организации передачи управления......1003.3. Язык CIL: инструкции для поддержки объектной модели......1053.3.1. Инструкции для работы с объектами......1053.3.2. Инструкции для работы с массивами......1083.3.3. Инструкции для работы с типами-значениями......1113.3.4. Инструкции для работы с типизированными ссылками......1153.4. Язык CIL: обработка исключений......1163.4.1. Предложения обработки исключений в заголовках методов......1173.4.2. Инструкции CIL для обработки исключений......1193.4.3. Правила размещения областей......1213.4.4. Ограничения на передачу управления......1223.4.5. Семантика обработки исключений......1233.5. Синтаксис ILASM......1233.5.1. Основные элементы лексики......1243.5.2. Синтаксис......1253.5.3. Пример программы......128Глава 4. Анализ кода на CIL......1324.1. Граф потока управления......1324.1.1. Основные элементы графа потока управления......1334.1.2. Блоки обработки исключений в графе потока управления......1344.1.3. Дерево блоков в графе потока управления......1384.2. Преобразование линейной последовательности инструкций в граф потока управления......1404.2.1. Создание массива узлов......1414.2.2. Создание дерева блоков......1424.2.3. Присвоение родительских блоков узлам графа......1454.2.4. Формирование дуг......1454.3. Верификация CIL-кода......1474.3.1. Классификация применяемых на практике алгоритмов верификации......1474.3.2. Особенности верификатора кода, используемого в .NET......1484.3.3. Алгоритм верификации......1494.4. Библиотеки для создания метаинструментов......1524.4.1. Metadata Unmanaged API......1534.4.2. Reflection API......1564.4.3. Сравнение возможностей библиотек......162Глава 5. Динамическая генерация кода......1645.1. Введение в динамическую генерацию кода......1645.1.1. Обобщенный алгоритм интегрирования......1655.1.2. Представление выражений......1665.1.3. Трансляция выражений в C#......1675.1.4. Трансляция выражений в CIL......1695.1.5. Сравнение эффективности трех способов вычисления выражений......1725.2. Генерация линейных участков кода для стековой машины......1725.2.1. Генерация кода для выражений......1725.2.2. Оптимизация линейных участков кода......1755.3. Генерация развилок......1765.3.1. Генерация кода для логических выражений......1775.3.2. Генерация кода для управляющих конструкций......1795.3.3. Оптимизация кода, содержащего развилки......181Глава 6. Основы многозадачности......1856.1. Многозадачность в Windows......1856.1.1. Основные понятия......1866.1.2. Реализация в Windows......1986.2. Общие подходы к реализации приложений с параллельным выполнением операций......2046.2.1. Асинхронный ввод-вывод......2056.2.2. Асинхронные вызовы процедур......2106.2.3. Процессы, потоки и объекты ядра......2106.2.4. Основы использования потоков и волокон......215Глава 7. Разработка параллельных приложений для ОС Windows......2217.1. Применение потоков и волокон......2217.1.1. Пулы потоков, порт завершения ввода-вывода......2217.1.2. Память, локальная для потоков и волокон......2287.1.3. Привязка к процессору и системы с неоднородным доступом к памяти......2337.2. Взаимодействие процессов и потоков......2347.2.1. Синхронизация потоков......2347.2.2. Процессы......2467.3. Параллельные операции в .NET......2537.3.1. Потоки и пул потоков......2557.3.2. Асинхронный ввод-вывод......2587.3.3. Асинхронные процедуры......2607.3.4. Синхронизация и изоляция потоков......2647.3.5. Таймеры......274Литература......276Приложение A. Исходный код программы pegen......277A.1. macros.h......277A.2. pe.h......279A.3. pe.c......284A.4. main.c......291Приложение Б. Исходный код программы CilCodec......294Приложение B. Исходный код программы Integral......305B.1. Expr.cs......305B.2. Integral.cs......311


Об авторе

Скоробогатов С.Ю.
Скоробогатов Сергей Юрьевич - ассистент МГТУ им. Н.Э. Баумана. Ведет занятия по курсам алгоритмических языков, функциональному программированию, разработке программного обеспечения.

Чеповский А.М.
Доцент, к.т.н. Преподает в МГТУ им. Н.Э. Баумана и на дополнительном образовании механико-математического факультета МГУ им. М.В. Ломоносова, консультант МГУП. На протяжении многих лет читал различные курсы по программированию: алгоритмические языки, функциональное программирование, теоретическое программирование, теория формальных языков, информационные системы и базы данных, распределенные системы обработки информации, параллельное программирование.

Отзывы

Для профессионалов.  [29 March 2006]
Понравилось изложение динамической генерации кода.

Последние поступления в рубрике "Электронные книги, аудиокниги"



Tod eines Soldaten Tod eines Soldaten Klinkhammer ".
Seltene Hunderassen aus aller Welt Seltene Hunderassen aus aller Welt Frey F.
Vulpes Lupus Canis Gajaze K.

Если Вы задавались вопросами "где найти книгу в интернете?", "где купить книгу?" и "в каком книжном интернет-магазине нужная книга стоит дешевле?", то наш сайт именно для Вас. На сайте книжной поисковой системы Книгопоиск Вы можете узнать наличие книги Макаров А.М., Скоробогатов С.Ю., Чеповский А.М., Common Intermediate Language и системное программирование в Microsoft.NET в интернет-магазинах. Также Вы можете перейти на страницу понравившегося интернет-магазина и купить книгу на сайте магазина. Учтите, что стоимость товара и его наличие в нашей поисковой системе и на сайте интернет-магазина книг может отличаться, в виду задержки обновления информации.