Математическая модель виртуальной машины Java, автоматически адаптирующейся к особенностям выполняемого кода

Математическая модель виртуальной машины Java, автоматически адаптирующейся к особенностям выполняемого кода

Автор: Погибельский, Дмитрий Александрович

Шифр специальности: 05.13.18

Научная степень: Кандидатская

Год защиты: 2007

Место защиты: Москва

Количество страниц: 100 с. ил.

Артикул: 3332604

Автор: Погибельский, Дмитрий Александрович

Стоимость: 250 руб.

Математическая модель виртуальной машины Java, автоматически адаптирующейся к особенностям выполняемого кода  Математическая модель виртуальной машины Java, автоматически адаптирующейся к особенностям выполняемого кода 

Содержание
Список иллюстраций.
Список таблиц .
Введение
Глава 1. Модель представления байткода v во время выполнения программы .
1.1. Применение платформонезависимого представления готовых программ .
1.2. Методы трансляции программ.
1.3. Цель исследования .
1.4. Структура байткода v
1.5. Модель представления байткода во время выполнения . .
Глава 2. Управление памятью на низком уровне
2.1. Технологии автоматического управления памятью
2.2. Явное управление памятью
2.3. Оценка эффективности управления динамической памятью
2.4. Теоретические оценки эффективности автоматического управления памятью.
Глава 3. Решение задачи оптимизации структуры метаданных
3.1. Постановка задачи для генетического алгоритма .
3.2. Численный эксперимент .
3.3. Результаты эксперимента.
3.4. Перспективы.
Заключение .
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ


Актуальность работы обусловлена появлением в середине -х годов технологии программирования Java, что привело к бурному развитию и распространению концепции управляемого кода. На сегодняшний день эта концепция нашла свое отражение в таких технологиях как Java и Microsoft. NET. Они прочно закрепились на лидирующих позициях в вопросах разработки программного обеспечения. Изначально технология Java проектировалась как средство разработки программного обеспечения для интернета. Именно этой причиной вызвано применение высокоуровневого машиннонезависимого формата представления готовых программ. Исходный текст программы на Java компилируется в универсальный байт-код, одинаковый для всех аппаратно программных платформ. Затем этот код выполняется с помощью специальной разновидности транслятора, который также называется виртуальной машиной Java, которая сама по себе является сложным и требовательным к ресурсам системы приложением. Вопросы, связанные с опытом применения платформонезависимого и переносимого представления готовых программ изложены в 1. Ранние реализации технологии Java опирались исключительно на трансляторы, являвшиеся интерпретаторами. К сожалению, производительность таких систем была значительно ниже но сравнению с неуправляемым кодом аналогичного назначения. Это связано с тем, что для выполнения команды байт-кода, соответствующей одной или нескольким командам машинных кодов, интерпретатор выполняет фрагмент кода по длине сопоставимый с несколькими десятками или даже сотнями команд машинного кода. Пока Java-приложения были относительно небольшими и выполнялись внутри интернет-браузера, это не считалось серьезным недостатком. Помимо переносимости, у технологии Java были выявлены и другие достоинства, как то безопасность, простота и удобство для разработчика, развитые концепции объектно-ориентированного программирования, которые сегодня являются основополагающими в разработке сложных программных систем [, ]. С помощью Java возможно быстро и качественно разрабатывать программное обеспечение для разнообразного парка устройств, в том числе и мобильных. Все эти факторы способствовали выдвижению Java в качестве универсального языка программирования, пригодного для разработки сложных информационных систем. С этого момента вопрос повышения производительности выдвинулся на первое место. В первую очередь, это возобновило интерес исследователей к теме динамической компиляции, которая на сегодняшний день является доминирующей в этой области. Этот и другие применяемые в настоящее время подходы к повышению производительности Java-приложений подробно рассмотрены в 1. Необходимо лишь отметить, что абсолютное большинство применяемых методик повышает производительность жертвуя универсальностью и переносимостью уже самой виртуальной машины. Повышение производительности достигается применением каких-либо специфичных для платформы методов []. Масштабы распространения технологии Java требуют разработки такой виртуальной машины, которая могла бы функционировать на широком спектре различных платформ с минимальными переделками. Вопрос построения математической модели процесса выполнения Java приложения с целью исследования эффекта от применения тех или иных средств его оптимизации по-прежнему актуален. Другим важным направлением является имитационное моделирование сложных программных систем, реализованных на Java, с целыо более точного определения требований к ресурсам системы. Очевидно, что необходим способ моделирования процесса трансляции байт-кода Java-приложения в абстракции от конкретной реализации алгоритмов транслятора и, в то же время, максимально учитывая особенности самого транслируемого байт-кода. Цель диссертационной работы состоит в том, чтобы разработать математическую модель интерпретатора Java, который бы учитывал особенности выполняемого кода и адаптировался бы к ним для повышения производительности и оптимизации использования ресурсов памяти. Предложить конкретную методику оптимизации. Научная новизна работы заключается в разработке абстрактной модели представления метаданных Java-приложения, которая может быть использована для построения самоадаптирующихся трансляторов.

Рекомендуемые диссертации данного раздела

28.06.2016

+ 100 бесплатных диссертаций

Дорогие друзья, в раздел "Бесплатные диссертации" добавлено 100 новых диссертаций. Желаем новых научных ...

15.02.2015

Добавлено 41611 диссертаций РГБ

В каталог сайта http://new-disser.ru добавлено новые диссертации РГБ 2013-2014 года. Желаем новых научных ...


Все новости

Время генерации: 0.301, запросов: 244