Архитектурная поддержка защищенных вычислений при реализации объектно-ориентированых языков

  • автор:
  • специальность ВАК РФ: 05.13.13
  • научная степень: Кандидатская
  • год, место защиты: 2000, Москва
  • количество страниц: 126 с. : ил.
  • автореферат: нет
  • стоимость: 240,00 руб.
  • нашли дешевле: сделаем скидку
  • формат: PDF + TXT (текстовый слой)
pdftxt

действует скидка от количества
2 диссертации по 223 руб.
3, 4 диссертации по 216 руб.
5, 6 диссертаций по 204 руб.
7 и более диссертаций по 192 руб.
Титульный лист Архитектурная поддержка защищенных вычислений при реализации объектно-ориентированых языков
Оглавление Архитектурная поддержка защищенных вычислений при реализации объектно-ориентированых языков
Содержание Архитектурная поддержка защищенных вычислений при реализации объектно-ориентированых языков
Вы всегда можете написать нам и мы предоставим оригиналы страниц диссертации для ознакомления
Содержание
Введение
Глава 1. Защищенные вычисления
1.1 Принципы защищенных вычислений
1.2 Методы организации защищенных вычислений
1.2.1 Ключевая защита
1.2.2 Контекстная защита
1.3 Выводы
1.4 Описание базовой архитектуры
1.4.1 Общие положения
1.4.2 Программный модуль
1.4.3 Размещение динамических данных
1.4.3.1 Динамически выделяемая память
1.4.3.2 Стеки
1.4.4 Форматы данных
1.4.5 Выводы
Глава 2. Объектно-ориентированное (ОО) программирование
2.1 Обзор ОО языков
2.1.1 C++
2.1.2 Java
2.1.3 Simula
2.1.4 Extended Pascal

2.2 Базовые конструкции 00 языков
2.3 Выводы
Глава 3. Описание реализации
3.1 Организация данных
3.1.1 Статические данные
3.1.1.1 Статические данные как глобалы
модуля (СДГ)
3.1.1.2 Специализированное пространство статических данных (СДС)
3.1.2 Экземпляры класса (объекты)
3.1.3 Методы (процедуры) класса
3.1.4 Именование типа (класса)
3.2 Адресные и специализированные типы
3.3 Набор операций
3.3.1 Обращение к статическим членам
3.3.1.1 Статические данные как глобалы
модуля (СДГ)
3.3.1.2 Специализированное пространство статических данных (СДС)
3.3.2 Обращение к нестатическим членам
3.3.3 Преобразование типов
3.3.4 Реализация конструкции friend
3.3.5 Реализация конструкции switch
3.3.6 Обращение к простому методу
3.3.7 Обращение к виртуальному методу

3.3.8 Сравнение указателей
3.4 Результаты
3.4.1 Сравнение и оценка вариантов
реализации
3.4.2 Накладные расходы
3.4.2.1 Типизация данных
3.4.2.2 Архитектурные ресурсы
3.4.2.3 Операции
3.4.3 Реализация функций защиты
3.5 Выводы
Заключение
Литература.

описываемое дескриптором Window Descriptor (WD). Как и области памяти, регистры адресуются с помощью индекса, контролируемого на попадание в границы окна. Индекс может быть как абсолютный, так и вычисляемый - относительно дополнительной базы, предназначенной для обработки циклов.
User stack предназначен для данных, которые пользователь считает нужным разместить в памяти. Вообще говоря, стековскую дисциплину размещения данных можно рассматривать как оптимизацию последовательности "заказ памяти - возврат памяти". Имея в виду наличие Procedure stack'a, для прочих данных достаточно было бы стандартных функций типа new/delete. Однако, это неэффективно, поэтому архитектура предлагает такую реализацию User stack'a, которая представляет собой нечто среднее между стеком и функцией динамического выделения памяти. В системный регистр процессора User Stack Descriptor (USD) загружен дескриптор, описывающий свободную память, отведенную операционной системой под User stack (Рис. 1-3). Введена функционально похожая на new операция, которая "откусывает" от USD память требуемого размера и возвращает в качестве результата дескриптор, описывающий выделенную область. Таким образом, процедура может эффективно заказывать себе память, как будто бы пользуясь стандартной функцией. Освобождение памяти (аналог функции delete) выполняется автоматически при возврате из процедуры. Для этого, при входе в процедуру значение USD сохраняется, а при возврате - восстанавливается, таким образом возвращая заказанную процедурой память в свободную область.
Поскольку в стеке виртуальная память переиспользуется, встает проблема защиты данных. Она имеет два аспекта: 1) переиспользование памяти (выделение ранее освобожденного пространства), 2) "зависшие" указатели. Первая проблема решается автоматической чисткой переиспользуемой памяти. Принцип решения второй проблемы следующий: указатель можно хранить только в тех областях памяти, время жизни которых не превышает время жизни области памяти описываемой указателем. Для этого указатели на текущий фрейм процедуры разрешено только либо сохранять в том же фрейме, либо передавать в качестве параметра в вызываемую процедуру (передавать вверх по стеку). Соответственно, запрещено сохранять указатель в глубине стека, в глобалах и в динамической памяти.
Вы всегда можете написать нам и мы предоставим оригиналы страниц диссертации для ознакомления

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