24422

Координатор МАКЕ и система управления исходным кодом SCCS

Контрольная

Информатика, кибернетика и программирование

Описание взаимозависимостей содержит команды которые должны быть выполнены если обнаружится что некоторый модуль устарел перестал соответствовать действительности. Такие команды обеспечивают реализацию всех необходимых для модернизации модуля действий. В одних системах интерпретатор прост но совокупность команд не образует язык программирования а в других имеются отличные языки программирования на уровне системных команд но выполнение отдельной команды осложнено. Контрольная точка задается для конкретной формы доступа к памяти...

Русский

2013-08-09

110.5 KB

0 чел.

1. Координатор МАКЕ и система управления исходным кодом SCCS.

Основная проблема, возникающая при разработке больших программных комплексов - это координация деятельности коллектива программистов. Из-за плохой координации снижается качество программного продукта.

Один из приемов, обеспечивающий координацию различных частей какой-либо программы, - применение включаемого файла, общего для нескольких модулей и содержащего необходимые определения.

Этот метод позволяет решать многие задачи когда функционируют программы в виде наборов взаимосвязанных модулей, но при этом возникают новые, неочевидные на первый взгляд проблемы - приходится постоянно следить за изменениями во включаемых файлах.

Это обусловлено тем, что модификация содержимого такого файла, общего для некоторого числа программных модулей, без перекомпиляции тех из них, на функционирование которых она влияет, приводит к непредсказуемым результатам при работе программы.

Если программный модуль помимо собственного исходного текста включает какой-либо файл, то говорят, что объектный код этого модуля в равной степени зависит от содержимого обоих файлов - исходного и включаемого. При модификации любого из них после создания объектного файла последний перестает соответствовать действительности. В больших программных комплексах последовательность и глубина перекомпановки зависит от внутренних связей модуля.

В системах UNIX координатор MAKE может использоваться для улучшения взаимодействия отдельных модулей и действий, которые должны быть выполнены при их модернизации. Другой аспект создания больших программ - обнаружение и создание ошибок. Обычно на этапе отладки обнаруживаются почти все ошибки любых программ. Потом найти оставшиеся ошибки гораздо труднее и стоимость их исправления становится много выше, а с некоторого момента существования программного продукта исправление ошибок вырастает в серьезную проблему.

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

Для облегчения поддержки и документирования эволюционирующих программ в UNIX включен компонент SCCS.

MAKE и SCCS - два мощных инструмента для поддержки больших программных комплексов. MAKE - это программа, способная воспринимать описание взаимозависимостей различных модулей в некотором программном комплексе. Описание взаимозависимостей содержит команды, которые должны быть выполнены, если обнаружится, что некоторый модуль устарел (перестал соответствовать действительности). Такие команды обеспечивают реализацию всех необходимых для модернизации модуля действий. Система SCCS предназначена для контроля и документирования .txt файлов путем создания некоторого аналога учетной ведомости. При работе SCCS используются наборы данных спец. формата, представляющие собой особым образом закодированные тексты программ (исходники). Файлы SCCS включают информацию, необходимую для восстановления старых версий файлов, а также записи о тех, кто выполнял и кому разрешено выполнить изменение текстов программ.

В промежутке между модернизациями программ существуют только файлы формата SCCS. Во время модернизации файла мы имеем дело с 2-мя версиями файла (восстановленного и закодированного).

Декодируемая версия может редактироваться и над ней допустимы другие операции и средства UNIX. ОС различаются по степени развитости входящих в их состав интерпретаторов команд.

В одних системах интерпретатор прост, но совокупность команд не образует язык программирования, а в других имеются отличные языки программирования на уровне системных команд, но выполнение отдельной команды осложнено.


2. Установка и снятие аппаратной контрольной точки по команде, по данным.

Процессор i486 обеспечивает расширенные отладочные средства, которые в частности полезны для разработки сложных программных систем, таких как мультизадачные операционные системы. Условия сбоя для этих программных систем могут быть очень сложными и зависимыми от времени. Отладочные средства процессора i486 предоставляют системному программисту мощный инструмент просмотра динамического состояния процессора.

Отладка поддерживается посредством отладочных регистров. Они содержат адреса точек памяти, называемых контрольными точками (точками останова), которые запускают отладочное программное обеспечение. При выполнении операции с памятью по одному из этих адресов генерируется исключение. Контрольная точка задается для конкретной формы доступа к памяти, например выборки команды или операции записи двойного слова. Отладочные регистры поддерживают как контрольные точки команд, так и контрольные точки данных.

Для других процессоров контрольные точки команд устанавливаются заменой нормальных команд командами контрольных точек. При выполнении команды контрольной точки вызывается отладчик. Однако в случае отладочных регистров процессора i486 это не обязательно. Исключая необходимость записи в пространство кода, процесс отладки упрощается (не требуется установка отображения сегментов данных в ту же область памяти, что и кодовый сегмент), и контрольные точки могут устанавливаться в ПЗУ -резидентном программном обеспечении. Кроме того, контрольные точки могут быть установлены для чтения и записи данных, что позволяет контролировать состояние данных в режиме реального времени.

Для вызова отладчика могут быть использованы следующие условия:

  •  Переключение на конкретную задачу.
  •  Выполнение команды контрольной точки.
  •  Выполнение любой команды.
  •  Выполнение команды по заданному адресу.
  •  Чтение или запись байта, слова или двойного слова по конкретному заданному адресу.
  •  Запись в байт, слово или двойное слово по заданному адресу.
  •  Попытка изменить содержимое отладочного регистра.

Отладочные регистры. Для управления отладкой используется шесть регистров. Доступ к этим регистрам выполняется с помощью разновидностей команды MOV. Отладочный регистр может быть исходным операндом или операндом назначения этих команд. Отладочные регистры относятся к привилегированным ресурсам; команды MOV могут обращаться к ним только на уровне привилегированности 0. Попытка чтения или записи в отладочные регистры с других уровней привилегированности генерирует исключение общей защиты. На Рисунке 11-1 показан формат отладочных регистров.

Отладочные адресные регистры (DR0-DR3) Каждый из этих регистров содержит линейный адрес одной из четырех контрольных точек. При разрешенной подкачке страниц эти адреса транслируются в физические адреса по алгоритму подкачки страниц. Условие каждой контрольной точки определяется содержимым регистра DR7.

Отладочный управляющий регистр (DR7) Показанный на Рисунке 11-1 отладочный управляющий регистр задает вид доступа к памяти, связанный с каждой контрольной точкой. Каждый адрес в регистрах DR0 - DR3 соответствует полю R/W0 - R/W3 в регистре DR7. процессор интерпретирует их следующим образом:

  •  00 - Прерывание только при выполнении команды
  •  01 - Прерывание только при записи данных
  •  10 - не определено
  •  11 - прерывание при чтении и записи данных, но не при выборке команды

Поля LEN0 - LEN3 регистра DR7 задают размер позиции памяти, для которой установлены контрольные точки. Может быть задан размер в 1, 2 или 4 байта.

Поля длины интерпретируются следующим образом:

  •  00 - длина один байт
  •  01 - длина два байта
  •  10 - не определено
  •  11 - длина четыре байта.

Если RWn равно 00 (выполнение команды), то LENn должно быть равно 00. Эффект при использовании любой другой длины неопределен.

Младшие восемь битов регистра DR7 (поля от L0 до L3 и G0 до G3) по отдельности разрешают условия контрольных точек в четырех адресах. Существует два уровня их разрешения: локальный (от L0 до L3) и глобальный (от G0 до G3). Локальные биты разрешения автоматически очищаются процессором при каждом переключении задачи, чтобы избежать нежелательных условий контрольных точек в новой задаче. Они используются для установки контрольных точек в одной отдельной задаче. Глобальные биты разрешения при переключении задачи не очищаются. Они используются для разрешения условий контрольной точки, применимых ко всем задачам.


 

А также другие работы, которые могут Вас заинтересовать

77361. Вопросы выбора архитектуры интерактивного взаимодействия с параллельными программами 120 KB
  озможность интерактивного взаимодействия с суперкомпьютерной программой при проведении расчётов по сравнению с пакетной обработкой задач может существенно повысить эффективность труда исследователя. Однако организация такого взаимодействия сопряжена с рядом трудностей связанных с устоявшейся методикой программирования и проведения расчётов. Один из ключевых моментов построения такого взаимодействия – выбор правил и принципов построения связи со счетными программами.
77362. DATAFLOW-BASED DISTRIBUTED COMPUTING SYSTEM 39.5 KB
  The method is bsed on the following concepts: storge tsk nd rule. Storge stores nmed dt on which three opertions could be pplied – crete write red nd delete. Every item in the storge is selfsufficient nd contins dt some metinformtion nd hs unique nme. The term tsk identifies the progrm which could red dt with specific nmes from the storge nd generte new dt items which will be written into the storge s result of tsk execution.
77363. ПОИСК НОВЫХ ПОДХОДОВ К ВИЗУАЛИЗАЦИИ ПРОЦЕССОВ 33 KB
  Важная проблема разработки систем компьютерной визуализации связана с выбором методов представления данных возникающих в связи с описанием сложных процессов. Такие подходы появляются в различных областях компьютерной визуализации см. Нужен дополнительный поиск более простых метафор визуализации позволяющих более эффективно анализировать абстрактные данные.
77364. Применение алгоритмов распознавания образов с целью захвата жестовых языков без применения маркирующих устройств 23.5 KB
  В этой работе рассматривается возможность построения системы на базе принципов захвата движения для распознавания жестовых языков обладающих большим количеством знаков. В этой связи важным является изучение современных алгоритмов распознавания образов. Проведен анализ ряда алгоритмов преобразования изображений применяемых в области распознавания образов а также их комбинации для эффективности решения поставленной задачи.
77365. VISUAL SUPPORTING OF PROGRAM PARALLELIZING 26 KB
  We have developed the simple prototype of the system to support visually the parallelizing process. The prototype is realized twofold. One of the realizations has to deal with parallelism of Massage Passing paradigm; another has to deal with Shared Memory parallelization. That is our system works with MPI and OpenMP programs.
77366. ПРОЕКТ СРЕДЫ РАЗРАБОТКИ СПЕЦИАЛИЗИРОВАННЫХ СИСТЕМ ВИЗУАЛИЗАЦИИ 39.5 KB
  Средства визуализации результатов численного моделирования можно разделить на три класса: Универсальные системы визуализации способные отображать большое многообразие визуальных объектов. Специализированные системы визуализации предметной области вычислительного эксперимента или специфических визуальных сущностей. Специализированные системы визуализации созданные специально для данного исследовательского проекта или даже конкретного пользователя.
77367. РАЗРАБОТКА СРЕДСТВ ВИЗУАЛЬНОГО ПРЕДСТАВЛЕНИЯ СЕТОК 26 KB
  В настоящее время для визуализации сеток на этапе генерации используются средства разработанного в коллективе конструктора специализированных систем визуализации. Для визуализации сеток больших объемов проводится экспериментальная разработка по реализации параллельного программного воксельного рендеринга с применением графических ускорителей. Продолжаются исследования и опытные разработки по применению виртуальной реальности для визуализации сеточных данных. Система интерактивной визуализации параллельных вычислений 14я Международная...
77368. Remote Visualization in Computer Aided Engineering 14 KB
  IMM UrB RS Urls Stte University Computer ided Engineering softwre gin now the incresing distribution. To chieve dditionl productivity engineering clcultions re mde on the specil computing resources which re seprte from the engineer’s worksttion. It ssumes tht imges re rendered remotely from enduser worksttion close to the plce of ctul engineering computtions.
77369. РАЗРАБОТКА КОМПИЛЯТОРА ДЛЯ ЯЗЫКА ПРОГРАММИРОВАНИЯ RIDE.L 24 KB
  Согласно которой используя статическую типизацию и перегрузку операторов для описания семантики синтаксических конструкций языка на самом языке можно получать эффективный машинный код. Оператор в качестве аргументов получает несколько выражений и одну строковую константу содержащую ассемблерный код в тернарной форме. В общем случае аппликация операторов происходит так: код реализация оператора подставляется по месту обращения; код определяется следующим образом: если выражение это оператор код фрагментов при проходе слева...