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). Локальные биты разрешения автоматически очищаются процессором при каждом переключении задачи, чтобы избежать нежелательных условий контрольных точек в новой задаче. Они используются для установки контрольных точек в одной отдельной задаче. Глобальные биты разрешения при переключении задачи не очищаются. Они используются для разрешения условий контрольной точки, применимых ко всем задачам.


 

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

11576. Изучение шифраторов, дешифраторов и преобразователей кодов 211.32 KB
  Изучение шифраторов дешифраторов и преобразователей кодов Цель работы. Изучить назначение принципы построения и структуры шифраторов дешифраторов и преобразователей кодов. 1 Краткие сведения из теории Дешифратором декодером называется устройство рас...
11577. Минимизация функций алгебры логики и построение дискретных схем с использованием логического конвертера программы электронная лаборатория 224.91 KB
  Минимизация функций алгебры логики и построение дискретных схем с использованием логического конвертера программы электронная лаборатория Цель работы. Научиться минимизировать функции алгебры логики ФАЛ получать совершенную дизъюнктивную нормальную форму С
11578. Создание модели данных с помощью Allfusion ERwin Data Modeler 93.57 KB
  Лабораторная работа 4 по дисциплине: Проектирование и архитектура программного проектирования На тему: Создание модели данных с помощью Allfusion ERwin Data Modeler Цель работы: Знакомство с CASEсистемой Allfusion ERWin Data Modeler изучение основных принципов построения логической
11579. Создание логической модели данных с помощью Allfusion ERwin Data Modeler 106.68 KB
  Лабораторная работа 5 по дисциплине: Проектирование и архитектура программного проектирования На тему: Создание логической модели данных с помощью Allfusion ERwin Data Modeler Цель работы: Развитие логической модели. Ход работы: Как было указано выше связи определяют
11580. Создание физической модели данных с помощью Allfusion ERwin Data Modeler 122.49 KB
  Лабораторная работа 6 по дисциплине: Проектирование и архитектура программного проектирования На тему: Создание физической модели данных с помощью Allfusion ERwin Data Modeler Цель работы: Создание физической модели. Ход работы: Различают два уровня физической модели: ...
11581. Проект участка на базе станков с ЧПУ по изготовлению деталей колёсного тягача 2.08 MB
  Тема: Проект участка на базе станков с ЧПУ по изготовлению деталей колёсного тягача. Содержание. Аннотация. Введение. Характеристика объектов производства. Технологический раздел. Определение типа производства. Анализ технологичности дета
11582. Информационная безопасность в телекоммуникационных системах 420 KB
  Лабораторный практикум по дисциплине Информационная безопасность в телекоммуникационных системах / Уфимск. гос. авиац. техн. унт; Сост.:Ж.А. Сухинец А.И. Гулин. –Уфа2011. –20 с. Приводится описание двух лабораторных работ для исследования студентами основных методов к...
11583. Устройства на операционных усилителях 472 KB
  Лабораторная работа № 5 Устройства на операционных усилителях Цель работы Изучить назначение принцип действия свойства и возможные схемотехнические решения устройств на операционных усилителях. 2. Задание 1. Ознако...
11584. Знакомство с Маткадом 83.95 KB
  Лабораторная работа № 1. Тема: Знакомство с Маткадом. Цель: Ознакомить студентов с интерфейсом пакета Маткад особенностями работы в пакете научить производить простейшие вычисления. Ход работы. Задача 1. Войдите в Маткад. 1.Поиграйте красным крестиком на экране...